backrefs 6.0.1__tar.gz → 6.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {backrefs-6.0.1 → backrefs-6.2}/.gitignore +3 -0
- {backrefs-6.0.1 → backrefs-6.2}/LICENSE.md +1 -1
- {backrefs-6.0.1 → backrefs-6.2}/PKG-INFO +1 -4
- {backrefs-6.0.1 → backrefs-6.2}/README.md +0 -3
- {backrefs-6.0.1 → backrefs-6.2}/backrefs/__meta__.py +1 -1
- {backrefs-6.0.1 → backrefs-6.2}/backrefs/_bregex_parse.py +4 -1
- {backrefs-6.0.1 → backrefs-6.2}/backrefs/bre.py +4 -1
- {backrefs-6.0.1 → backrefs-6.2}/backrefs/bregex.py +4 -1
- {backrefs-6.0.1 → backrefs-6.2}/docs/src/markdown/about/changelog.md +12 -0
- {backrefs-6.0.1 → backrefs-6.2}/docs/src/markdown/about/contributing.md +3 -0
- {backrefs-6.0.1 → backrefs-6.2}/docs/src/markdown/about/license.md +3 -0
- backrefs-6.2/docs/src/markdown/about/security.md +4 -0
- {backrefs-6.0.1 → backrefs-6.2}/docs/src/markdown/refs.md +54 -65
- {backrefs-6.0.1 → backrefs-6.2}/docs/src/markdown/usage.md +30 -14
- backrefs-6.2/docs/theme/announce.html +6 -0
- backrefs-6.2/docs/theme/assets/pymdownx-extras/extra-95634471d6.css +2 -0
- backrefs-6.2/docs/theme/assets/pymdownx-extras/extra-loader-Ccztcqfq.js +4 -0
- backrefs-6.2/docs/theme/main.html +17 -0
- {backrefs-6.0.1 → backrefs-6.2}/pyproject.toml +1 -1
- backrefs-6.2/requirements/docs.txt +4 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_bregex.py +4 -1
- backrefs-6.2/tools/unicodedata/17.0.0.zip +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tools/unidatadownload.py +1 -2
- backrefs-6.0.1/docs/src/markdown/about/security.md +0 -1
- backrefs-6.0.1/docs/theme/announce.html +0 -5
- backrefs-6.0.1/mkdocs.yml +0 -163
- backrefs-6.0.1/requirements/docs.txt +0 -4
- {backrefs-6.0.1 → backrefs-6.2}/.coveragerc +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/.pyspelling.yml +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/backrefs/__init__.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/backrefs/_bre_parse.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/backrefs/_bregex_typing.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/backrefs/py.typed +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/backrefs/uniprops/__init__.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/backrefs/util.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/docs/src/markdown/.snippets/links.md +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/docs/src/markdown/index.md +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/hatch_build.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/requirements/lint.txt +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/requirements/test.txt +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/__init__.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_age.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_bidiclass.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_bidipairedbrackettype.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_binary.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_block.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_bre.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_canonicalcombiningclass.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_decompositiontype.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_eastasianwidth.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_generalcategory.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_graphemeclusterbreak.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_hangulsyllabletype.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_indicpositionalcategory.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_indicsylabiccategory.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_joininggroup.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_joiningtype.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_linebreak.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_numerictype.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_numericvalue.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_quickcheck.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_script.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_scriptextensions.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_sentencebreak.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_uniprops.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_versions.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_verticalorientation.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tests/test_wordbreak.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tools/__init__.py +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tools/unicodedata/13.0.0.zip +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tools/unicodedata/14.0.0.zip +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tools/unicodedata/15.0.0.zip +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tools/unicodedata/15.1.0.zip +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tools/unicodedata/16.0.0.zip +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tools/unicodedata/LICENSE +0 -0
- {backrefs-6.0.1 → backrefs-6.2}/tools/unipropgen.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: backrefs
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.2
|
|
4
4
|
Summary: A wrapper around re and regex that adds additional back references.
|
|
5
5
|
Project-URL: Homepage, https://github.com/facelessuser/backrefs
|
|
6
6
|
Author-email: Isaac Muse <Isaac.Muse@gmail.com>
|
|
@@ -27,7 +27,6 @@ Requires-Dist: regex; extra == 'extras'
|
|
|
27
27
|
Description-Content-Type: text/markdown
|
|
28
28
|
|
|
29
29
|
[![Donate via PayPal][donate-image]][donate-link]
|
|
30
|
-
[![Build][github-ci-image]][github-ci-link]
|
|
31
30
|
[![Coverage Status][codecov-image]][codecov-link]
|
|
32
31
|
[![PyPI Version][pypi-image]][pypi-link]
|
|
33
32
|
[![PyPI Downloads][pypi-down]][pypi-link]
|
|
@@ -56,8 +55,6 @@ https://facelessuser.github.io/backrefs/
|
|
|
56
55
|
|
|
57
56
|
MIT
|
|
58
57
|
|
|
59
|
-
[github-ci-image]: https://github.com/facelessuser/backrefs/workflows/build/badge.svg
|
|
60
|
-
[github-ci-link]: https://github.com/facelessuser/backrefs/actions?query=workflow%3Abuild+branch%3Amaster
|
|
61
58
|
[codecov-image]: https://img.shields.io/codecov/c/github/facelessuser/backrefs/master.svg?logo=codecov&logoColor=aaaaaa&labelColor=333333
|
|
62
59
|
[codecov-link]: https://codecov.io/github/facelessuser/backrefs
|
|
63
60
|
[pypi-image]: https://img.shields.io/pypi/v/backrefs.svg?logo=pypi&logoColor=aaaaaa&labelColor=333333
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
[![Donate via PayPal][donate-image]][donate-link]
|
|
2
|
-
[![Build][github-ci-image]][github-ci-link]
|
|
3
2
|
[![Coverage Status][codecov-image]][codecov-link]
|
|
4
3
|
[![PyPI Version][pypi-image]][pypi-link]
|
|
5
4
|
[![PyPI Downloads][pypi-down]][pypi-link]
|
|
@@ -28,8 +27,6 @@ https://facelessuser.github.io/backrefs/
|
|
|
28
27
|
|
|
29
28
|
MIT
|
|
30
29
|
|
|
31
|
-
[github-ci-image]: https://github.com/facelessuser/backrefs/workflows/build/badge.svg
|
|
32
|
-
[github-ci-link]: https://github.com/facelessuser/backrefs/actions?query=workflow%3Abuild+branch%3Amaster
|
|
33
30
|
[codecov-image]: https://img.shields.io/codecov/c/github/facelessuser/backrefs/master.svg?logo=codecov&logoColor=aaaaaa&labelColor=333333
|
|
34
31
|
[codecov-link]: https://codecov.io/github/facelessuser/backrefs
|
|
35
32
|
[pypi-image]: https://img.shields.io/pypi/v/backrefs.svg?logo=pypi&logoColor=aaaaaa&labelColor=333333
|
|
@@ -193,5 +193,5 @@ def parse_version(ver: str) -> Version:
|
|
|
193
193
|
return Version(major, minor, micro, release, pre, post, dev)
|
|
194
194
|
|
|
195
195
|
|
|
196
|
-
__version_info__ = Version(6,
|
|
196
|
+
__version_info__ = Version(6, 2, 0, "final")
|
|
197
197
|
__version__ = __version_info__._get_canonical()
|
|
@@ -9,7 +9,10 @@ import unicodedata as _unicodedata
|
|
|
9
9
|
import copyreg as _copyreg
|
|
10
10
|
from . import util as _util
|
|
11
11
|
import regex as _regex # type: ignore[import]
|
|
12
|
-
|
|
12
|
+
try: # pragma: no cover
|
|
13
|
+
from regex.regex import _compile_replacement_helper # type: ignore[import]
|
|
14
|
+
except ImportError: # pragma: no cover
|
|
15
|
+
from regex._main import _compile_replacement_helper # type: ignore[import]
|
|
13
16
|
from typing import Generic, AnyStr, Any, cast
|
|
14
17
|
from ._bregex_typing import Pattern, Match
|
|
15
18
|
|
|
@@ -477,7 +477,7 @@ def search(
|
|
|
477
477
|
return _re.search(_apply_search_backrefs(pattern, flags), string, flags, *args, **kwargs)
|
|
478
478
|
|
|
479
479
|
|
|
480
|
-
def
|
|
480
|
+
def prefixmatch(
|
|
481
481
|
pattern: AnyStr | Pattern[AnyStr] | Bre[AnyStr],
|
|
482
482
|
string: AnyStr,
|
|
483
483
|
flags: int | _re.RegexFlag = 0,
|
|
@@ -488,6 +488,9 @@ def match(
|
|
|
488
488
|
return _re.match(_apply_search_backrefs(pattern, flags), string, flags=flags, **kwargs)
|
|
489
489
|
|
|
490
490
|
|
|
491
|
+
match = prefixmatch
|
|
492
|
+
|
|
493
|
+
|
|
491
494
|
def fullmatch(
|
|
492
495
|
pattern: AnyStr | Pattern[AnyStr] | Bre[AnyStr],
|
|
493
496
|
string: AnyStr,
|
|
@@ -498,7 +498,7 @@ def expandf(m: Match[AnyStr] | None, repl: ReplaceTemplate[AnyStr] | AnyStr) ->
|
|
|
498
498
|
return _apply_replace_backrefs(m, repl, flags=FORMAT)
|
|
499
499
|
|
|
500
500
|
|
|
501
|
-
def
|
|
501
|
+
def prefixmatch(
|
|
502
502
|
pattern: AnyStr | Pattern[AnyStr] | Bregex[AnyStr],
|
|
503
503
|
string: AnyStr,
|
|
504
504
|
flags: int = 0,
|
|
@@ -513,6 +513,9 @@ def match(
|
|
|
513
513
|
)
|
|
514
514
|
|
|
515
515
|
|
|
516
|
+
match = prefixmatch
|
|
517
|
+
|
|
518
|
+
|
|
516
519
|
def fullmatch(
|
|
517
520
|
pattern: AnyStr | Pattern[AnyStr] | Bregex[AnyStr],
|
|
518
521
|
string: AnyStr,
|
|
@@ -1,5 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
icon: lucide/scroll-text
|
|
3
|
+
---
|
|
1
4
|
# Changelog
|
|
2
5
|
|
|
6
|
+
## 6.2
|
|
7
|
+
|
|
8
|
+
- **NEW** Add alias `prefixmatch` for `match` in both `bre` and `bregex`.
|
|
9
|
+
|
|
10
|
+
## 6.1
|
|
11
|
+
|
|
12
|
+
- **NEW**: Include Unicode 17 zip for early Python 3.15 usage, though Python 3.15 functionality is not guaranteed.
|
|
13
|
+
- **FIX**: Fix issues with regex imports in later versions.
|
|
14
|
+
|
|
3
15
|
## 6.0.1
|
|
4
16
|
|
|
5
17
|
- **FIX**: Fix a regression that created an ASCII binary property that would override the ASCII block property.
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
icon: lucide/regex
|
|
3
|
+
---
|
|
1
4
|
# Supported References
|
|
2
5
|
|
|
3
6
|
## Search Back References
|
|
@@ -8,11 +11,10 @@ support.
|
|
|
8
11
|
|
|
9
12
|
### Re
|
|
10
13
|
|
|
11
|
-
|
|
12
|
-
Backrefs does not consider `LOCALE` when inserting POSIX or Unicode properties. When forced int ASCII mode, either
|
|
13
|
-
by the `ASCII` (or `LOCALE`) flag or when operating on a byte string, Unicode properties are restricted to the
|
|
14
|
-
ASCII range.
|
|
15
|
-
///
|
|
14
|
+
> [!info] LOCALE and Character Properties
|
|
15
|
+
> Backrefs does not consider `LOCALE` when inserting POSIX or Unicode properties. When forced int ASCII mode, either
|
|
16
|
+
> by the `ASCII` (or `LOCALE`) flag or when operating on a byte string, Unicode properties are restricted to the
|
|
17
|
+
> ASCII range.
|
|
16
18
|
|
|
17
19
|
Back\ References | Description
|
|
18
20
|
--------------------- |------------
|
|
@@ -37,10 +39,9 @@ respectively.
|
|
|
37
39
|
|
|
38
40
|
### Regex
|
|
39
41
|
|
|
40
|
-
|
|
41
|
-
Regex already natively supports `\p{...}`, `\P{...}`, `\pX`, `\PX`, `\N{...}`, `\X`, `\h`, `\m`, and `\M` so
|
|
42
|
-
Backrefs does not attempt to add this to search patterns.
|
|
43
|
-
///
|
|
42
|
+
> [!note]
|
|
43
|
+
> Regex already natively supports `\p{...}`, `\P{...}`, `\pX`, `\PX`, `\N{...}`, `\X`, `\h`, `\m`, and `\M` so
|
|
44
|
+
> Backrefs does not attempt to add this to search patterns.
|
|
44
45
|
|
|
45
46
|
Back\ References | Description
|
|
46
47
|
---------------- | -----------
|
|
@@ -48,9 +49,8 @@ Back\ References | Description
|
|
|
48
49
|
`\Q...\E` | Quotes (escapes) text for regular expression. `\E` signifies the end of the quoting. Affects any and all characters no matter where in the regular expression pattern it is placed.
|
|
49
50
|
`\R` | Generic line breaks. When searching a Unicode string, this will use the pattern `(?>\r\n|[\n\v\f\r\x85\u2028\u2029])`, and when applied to byte strings, the pattern `(?>\r\n|[\n\v\f\r\x85])` will be used.
|
|
50
51
|
|
|
51
|
-
|
|
52
|
-
`\e` has been deprecated in 6.0. Please migrate to using `\x1b` in its place.
|
|
53
|
-
///
|
|
52
|
+
> [!warning] Deprecated 6.0
|
|
53
|
+
> `\e` has been deprecated in 6.0. Please migrate to using `\x1b` in its place.
|
|
54
54
|
|
|
55
55
|
## Replace Back References
|
|
56
56
|
|
|
@@ -59,10 +59,9 @@ expression engine being used. Casing is applied to both the literal text and th
|
|
|
59
59
|
template. In most cases you'd only need to wrap the groups, but it may be useful to apply casing to the literal
|
|
60
60
|
portions if you are dynamically assembling replacement patterns.
|
|
61
61
|
|
|
62
|
-
|
|
63
|
-
`LOCALE` is not considered when applying character casing. Unicode casing is applied in Unicode strings and ASCII
|
|
64
|
-
casing is applied to byte strings.
|
|
65
|
-
///
|
|
62
|
+
> [!info] LOCALE and Casing
|
|
63
|
+
> `LOCALE` is not considered when applying character casing. Unicode casing is applied in Unicode strings and ASCII
|
|
64
|
+
> casing is applied to byte strings.
|
|
66
65
|
|
|
67
66
|
Back\ References | Description
|
|
68
67
|
---------------------|-------------
|
|
@@ -75,20 +74,18 @@ Back\ References | Description
|
|
|
75
74
|
`\x` | Byte character `\x57`. Re doesn't translate this notation in raw strings (`#!py3 r"..."`), and Regex doesn't in format templates in raw strings (`#!py3 r"{} {}"`). This adds support for them.
|
|
76
75
|
`\N{UnicodeName}` | Named characters are normally ignored in Re, but Backrefs adds support for them.
|
|
77
76
|
|
|
78
|
-
|
|
79
|
-
Complex configurations of casing should work fine.
|
|
80
|
-
|
|
81
|
-
- `\L\cTEST\E` --> `Test`
|
|
82
|
-
- `\c\LTEST\E` --> `test`
|
|
83
|
-
- `\L\cTEST \cTEST\E` --> `Test Test`
|
|
84
|
-
///
|
|
77
|
+
> [!tip]
|
|
78
|
+
> Complex configurations of casing should work fine.
|
|
79
|
+
>
|
|
80
|
+
> - `\L\cTEST\E` --> `Test`
|
|
81
|
+
> - `\c\LTEST\E` --> `test`
|
|
82
|
+
> - `\L\cTEST \cTEST\E` --> `Test Test`
|
|
85
83
|
|
|
86
84
|
## Unicode Properties
|
|
87
85
|
|
|
88
|
-
|
|
89
|
-
5.0 brings significant improvements and bug fixes to Unicode property handling. Properties are sensitive to the
|
|
90
|
-
`ASCII` flag along with more extensive testing and bug fixes.
|
|
91
|
-
///
|
|
86
|
+
> [!new] New in 5.0
|
|
87
|
+
> 5.0 brings significant improvements and bug fixes to Unicode property handling. Properties are sensitive to the
|
|
88
|
+
> `ASCII` flag along with more extensive testing and bug fixes.
|
|
92
89
|
|
|
93
90
|
A number of various Unicode properties are supported in Backrefs, but only for Re as Regex already has its own
|
|
94
91
|
implementation of Unicode properties. Some properties may not be available on certain Python versions due to the
|
|
@@ -134,16 +131,14 @@ Supported\ Properties | Aliases
|
|
|
134
131
|
`Vertical_Orientation`\ (Python\ 3.7+) | `vt`
|
|
135
132
|
`Word_Break` | `wb`
|
|
136
133
|
|
|
137
|
-
|
|
138
|
-
The Binary property is not actually a property, but more a type of Unicode property. The available binary
|
|
139
|
-
properties may differ from Unicode version to Unicode version.
|
|
140
|
-
///
|
|
134
|
+
> [!note]
|
|
135
|
+
> The Binary property is not actually a property, but more a type of Unicode property. The available binary
|
|
136
|
+
> properties may differ from Unicode version to Unicode version.
|
|
141
137
|
|
|
142
|
-
|
|
143
|
-
Python 3.9 now uses Unicode 13, and with that comes various new binary properties: `emoji`, `emojicomponent`,
|
|
144
|
-
`emojimodifier`, `emojimodifierbase`, and `emojipresentation`. Associated aliases are also included: `ecomp`,
|
|
145
|
-
`emod`, `ebase`, and `epres`.
|
|
146
|
-
///
|
|
138
|
+
> [!new] New 4.4.0
|
|
139
|
+
> Python 3.9 now uses Unicode 13, and with that comes various new binary properties: `emoji`, `emojicomponent`,
|
|
140
|
+
> `emojimodifier`, `emojimodifierbase`, and `emojipresentation`. Associated aliases are also included: `ecomp`,
|
|
141
|
+
> `emod`, `ebase`, and `epres`.
|
|
147
142
|
|
|
148
143
|
Exhaustive documentation on all these properties and their values is not currently provided. In general, we'll cover the
|
|
149
144
|
syntax rules, and [special short name handling](#property-short-names) to those rules for specific properties.
|
|
@@ -176,9 +171,8 @@ a boolean value. True values can be `Yes`, `Y`, `True`, or `T`. False values can
|
|
|
176
171
|
example, to specify characters that are "alphabetic", we can use `\p{Alphabetic: Y}`. To specify characters that are
|
|
177
172
|
**not** "alphabetic": `\p{Alphabetic: N}`.
|
|
178
173
|
|
|
179
|
-
|
|
180
|
-
In 5.4, the new custom binary properties `Vert_space` and `Horiz_Space` were added.
|
|
181
|
-
///
|
|
174
|
+
> [!new] New 5.4 Custom Binary properties
|
|
175
|
+
> In 5.4, the new custom binary properties `Vert_space` and `Horiz_Space` were added.
|
|
182
176
|
|
|
183
177
|
### Property Short Names
|
|
184
178
|
|
|
@@ -199,18 +193,17 @@ Block properties have a similar short form as Script and Binary properties. For
|
|
|
199
193
|
a block. If we wanted to match characters in the `Basic_Latin` block, we could use the syntax `\p{InBasic_Latin}`. This
|
|
200
194
|
would be the same as `\p{Block: Basic_Latin}` or `\p{Basic_Latin}`.
|
|
201
195
|
|
|
202
|
-
|
|
203
|
-
When it comes to short names, each new Unicode version, there is a risk that new properties could cause conflicts
|
|
204
|
-
with existing names and/or aliases. Currently, most of the conflicts involve the Block properties. To reduce
|
|
205
|
-
friction, they are evaluated last.
|
|
206
|
-
|
|
207
|
-
Generally, it is discouraged to use short names for Block properties. But the option is still supported, but Block
|
|
208
|
-
properties will be evaluated last. There are currently no known conflicts with `In*` properties, but in future
|
|
209
|
-
Unicode versions there could.
|
|
210
|
-
|
|
211
|
-
As for short names for scripts, Binary, or General Categories, there is always the possibility that these could
|
|
212
|
-
break in the future as well. Generally, more explicit is better and probably safer.
|
|
213
|
-
///
|
|
196
|
+
> [!warning] Short Name Conflicts
|
|
197
|
+
> When it comes to short names, each new Unicode version, there is a risk that new properties could cause conflicts
|
|
198
|
+
> with existing names and/or aliases. Currently, most of the conflicts involve the Block properties. To reduce
|
|
199
|
+
> friction, they are evaluated last.
|
|
200
|
+
>
|
|
201
|
+
> Generally, it is discouraged to use short names for Block properties. But the option is still supported, but Block
|
|
202
|
+
> properties will be evaluated last. There are currently no known conflicts with `In*` properties, but in future
|
|
203
|
+
> Unicode versions there could.
|
|
204
|
+
>
|
|
205
|
+
> As for short names for scripts, Binary, or General Categories, there is always the possibility that these could
|
|
206
|
+
> break in the future as well. Generally, more explicit is better and probably safer.
|
|
214
207
|
|
|
215
208
|
Lastly, you can specify general category properties in the form `\pX` where `X` is the single letter terse property
|
|
216
209
|
form. In this form, you can only use the single character values. So you could specify `Letter`, whose terse form is `L`
|
|
@@ -261,10 +254,9 @@ Verbose\ Property\ Form | Terse\ Property\ Form
|
|
|
261
254
|
|
|
262
255
|
### Compatibility Properties
|
|
263
256
|
|
|
264
|
-
|
|
265
|
-
While many of the properties were available before 5.0, `word` is newly available. And all the properties now
|
|
266
|
-
conform to the [Unicode specification for compatibility properties](https://unicode.org/reports/tr18/#Compatibility_Properties).
|
|
267
|
-
///
|
|
257
|
+
> [!new] New in 5.0
|
|
258
|
+
> While many of the properties were available before 5.0, `word` is newly available. And all the properties now
|
|
259
|
+
> conform to the [Unicode specification for compatibility properties](https://unicode.org/reports/tr18/#Compatibility_Properties).
|
|
268
260
|
|
|
269
261
|
[Unicode specification for compatibility properties][unicode-posix] defines a number of properties for use in regular
|
|
270
262
|
expressions. The table below shows the names of these properties along with their standard rules as implemented in
|
|
@@ -314,11 +306,10 @@ and `XDigit`.
|
|
|
314
306
|
|
|
315
307
|
### POSIX Character Classes
|
|
316
308
|
|
|
317
|
-
|
|
318
|
-
POSIX character classes in the form of `[:name:]` are now forced to always use POSIX compatible rules if available.
|
|
319
|
-
These rules are defined in the [Unicode specification for compatibility properties]
|
|
320
|
-
(https://unicode.org/reports/tr18/#Compatibility_Properties).
|
|
321
|
-
///
|
|
309
|
+
> [!new] New in 6.0
|
|
310
|
+
> POSIX character classes in the form of `[:name:]` are now forced to always use POSIX compatible rules if available.
|
|
311
|
+
> These rules are defined in the [Unicode specification for compatibility properties]
|
|
312
|
+
> (https://unicode.org/reports/tr18/#Compatibility_Properties).
|
|
322
313
|
|
|
323
314
|
Backrefs allows for POSIX style character classes in the form of `[:name:]`. These properties can only be used inside
|
|
324
315
|
character classes, e.g. `[[:name:]]`.
|
|
@@ -347,10 +338,9 @@ in rules if using ASCII mode or Unicode mode.
|
|
|
347
338
|
`word` | `[A-Za-z0-9_]` | `[\p{Alnum}\p{M}\p{Pc}\p{JoinControl}]`
|
|
348
339
|
`xdigit` | `[A-Fa-f0-9]` | `[A-Fa-f0-9]`
|
|
349
340
|
|
|
350
|
-
|
|
351
|
-
Using POSIX character classes is equivalent to using Unicode compatibility properties for POSIX, e.g. `[[:punct:]]`
|
|
352
|
-
== `\p{Posix Punct}`.
|
|
353
|
-
///
|
|
341
|
+
> [!tip]
|
|
342
|
+
> Using POSIX character classes is equivalent to using Unicode compatibility properties for POSIX, e.g. `[[:punct:]]`
|
|
343
|
+
> == `\p{Posix Punct}`.
|
|
354
344
|
|
|
355
345
|
POSIX style character classes have also been extended to allow for specifying normal Unicode properties as well. Any
|
|
356
346
|
Unicode property, outside the compatibility properties, will be accepted in the bracket extension form and behave just
|
|
@@ -359,4 +349,3 @@ like normal Unicode properties. To illustrate, the following are equivalent:
|
|
|
359
349
|
- `[[:math:]]` == `[\p{math}]`
|
|
360
350
|
- `[[:scx=latin:]]` == `[\p{scx: latin}]`
|
|
361
351
|
- `[[:^scx=latin:]]` == `[\P{scx: latin}]`
|
|
362
|
-
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
icon: lucide/hand
|
|
3
|
+
---
|
|
1
4
|
# Introduction
|
|
2
5
|
|
|
3
6
|
## Importing
|
|
@@ -13,16 +16,16 @@ from backrefs import bregex
|
|
|
13
16
|
## Searches
|
|
14
17
|
|
|
15
18
|
Backrefs preprocesses search patterns looking for new syntax that it replaces with compatible regular expressions for
|
|
16
|
-
the given regular expression engine. For instance, Backrefs implements the `\
|
|
17
|
-
get an Re object with a regular expression pattern that captures
|
|
19
|
+
the given regular expression engine. For instance, Backrefs implements the `\R` reference in Re, and when compiled, we
|
|
20
|
+
get an Re object with a regular expression pattern that captures various line breaks.
|
|
18
21
|
|
|
19
22
|
```pycon3
|
|
20
|
-
>>> bre.compile('\
|
|
21
|
-
backrefs.bre.Bre(re.compile('[
|
|
23
|
+
>>> bre.compile(r'\R')
|
|
24
|
+
backrefs.bre.Bre(re.compile('(?:\\r\\n|(?!\\r\\n)[\\n\\v\\f\\r\\x85\\u2028\\u2029])'), auto_compile=True)
|
|
22
25
|
```
|
|
23
26
|
|
|
24
|
-
It can be seen that the Backrefs object is simply wrapped around an Re compiled pattern, and we see that `\
|
|
25
|
-
replaced with `[
|
|
27
|
+
It can be seen that the Backrefs object is simply wrapped around an Re compiled pattern, and we see that `\R` was
|
|
28
|
+
replaced with `(?:\\r\\n|(?!\\r\\n)[\\n\\v\\f\\r\\x85\\u2028\\u2029])`.
|
|
26
29
|
|
|
27
30
|
This basic approach is used to implement all sorts of references from Unicode properties:
|
|
28
31
|
|
|
@@ -41,6 +44,20 @@ backrefs.bre.Bre(re.compile('\\b(?=\\w)test\\b(?<=\\w)'), auto_compile=True)
|
|
|
41
44
|
A compiled Backrefs object has all the same functions as the regular expression's object, so you can use it in the same
|
|
42
45
|
way to perform splits, matches, substitutions, and anything else.
|
|
43
46
|
|
|
47
|
+
If we wanted to match a line ending, we could call `prefixmatch` (or the legacy alias of `match`) or `search`.
|
|
48
|
+
|
|
49
|
+
```pycon
|
|
50
|
+
>>> bre.compile(r'\R').prefixmatch('\n')
|
|
51
|
+
<re.Match object; span=(0, 1), match='\n'>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Matches can also be preformed without pre-compiling.
|
|
55
|
+
|
|
56
|
+
```pycon
|
|
57
|
+
>>> bre.prefixmatch(r'\R', '\n')
|
|
58
|
+
<re.Match object; span=(0, 1), match='\n'>
|
|
59
|
+
```
|
|
60
|
+
|
|
44
61
|
## Replacements
|
|
45
62
|
|
|
46
63
|
Replace templates are a little different than search patterns and require a bit more control to accomplish some of the
|
|
@@ -122,7 +139,7 @@ Backrefs also provides an `expand` variant for format templates called `expandf`
|
|
|
122
139
|
|
|
123
140
|
```pycon3
|
|
124
141
|
>>> pattern = bre.compile_search(r"(\w+) (\w+)")
|
|
125
|
-
>>> m = pattern.
|
|
142
|
+
>>> m = pattern.prefixmatch('foo bar')
|
|
126
143
|
>>> bre.expandf(m, r"{0} => {2} {1}")
|
|
127
144
|
'foo bar => bar foo'
|
|
128
145
|
```
|
|
@@ -186,12 +203,11 @@ why.
|
|
|
186
203
|
b'||TEST||'
|
|
187
204
|
```
|
|
188
205
|
|
|
189
|
-
|
|
190
|
-
In almost all instances, using conversion types (`{!s}`, etc.) won't make sense in a regular expression replace
|
|
191
|
-
as the objects will already be strings in the needed format, but if you were to use a conversion using byte
|
|
192
|
-
strings, when converting from `bytes` to `str`, ASCII will be the assumed encoding, and the object or Unicode
|
|
193
|
-
string would be encoded using the `backslashreplace` option as well.
|
|
194
|
-
///
|
|
206
|
+
> [!note] Conversion Syntax and Bytes
|
|
207
|
+
> In almost all instances, using conversion types (`{!s}`, etc.) won't make sense in a regular expression replace
|
|
208
|
+
> as the objects will already be strings in the needed format, but if you were to use a conversion using byte
|
|
209
|
+
> strings, when converting from `bytes` to `str`, ASCII will be the assumed encoding, and the object or Unicode
|
|
210
|
+
> string would be encoded using the `backslashreplace` option as well.
|
|
195
211
|
|
|
196
212
|
## Advanced Usage
|
|
197
213
|
|
|
@@ -229,7 +245,7 @@ To pre-compile a format replace template, you can use the Backrefs' `compile_rep
|
|
|
229
245
|
```pycon3
|
|
230
246
|
>>> pattern = bre.compile_search(r"(\w+) (\w+)")
|
|
231
247
|
>>> replace = bre.compile_replace(pattern, r"{0} => {2} {1}", bre.FORMAT)
|
|
232
|
-
>>> m = pattern.
|
|
248
|
+
>>> m = pattern.prefixmatch("foo bar")
|
|
233
249
|
>>> replace(m)
|
|
234
250
|
'foo bar => bar foo'
|
|
235
251
|
```
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
:root>*{--md-default-bg-color--trans: rgb(100%, 100%, 100%, 0);--md-tab-control-bg: var(--md-default-bg-color);--md-code-fg-color: #1F1F1F;--md-code-bg-color: #F5F5F5;--md-code-title-bg-color: #F5F5F5;--md-code-inline-bg-color: #F5F5F5;--md-code-hl-operator-color: #A3134D;--md-code-hl-punctuation-color: #1F1F1F;--md-code-hl-string-color: #836E15;--md-code-hl-special-color: #644AC9;--md-code-hl-number-color: #644AC9;--md-code-hl-keyword-color: #A3134D;--md-code-hl-name-color: #1F1F1F;--md-code-hl-constant-color: #644AC9;--md-code-hl-function-color: #14720A;--md-code-hl-comment-color: #635D97;--md-code-hl-variable-color: #A34D14;--md-code-hl-generic-color: #635D97;--md-code-hl-color: #CFCFDE;--md-code-hl-color--light: #DCDEEF;--md-typeset-table-color: rgb(0% 0% 0% / 15%);--md-code-hl-entity-color: #14720A;--md-code-hl-tag-color: #A3134D;--md-code-hl-namespace-color: #1F1F1F;--md-code-hl-builtin-color: #036A96;--md-code-hl-class-color: #036A96;--md-code-special-bg-color: #DCDEEF;--md-steps-bg-color: var(--md-code-bg-color);--md-steps-fg-color: var(--md-code-fg-color);--md-steps-border-color: hsla(0, 0%, 75%, 1);--md-typeset-a-color: #00bcd4;--md-progress-stripe: var(--md-default-bg-color--lighter);--md-progress-100: #00e676;--md-progress-80: #00e676;--md-progress-60: #fbc02d;--md-progress-40: #ff9100;--md-progress-20: #ff5252;--md-progress-0: #ff1744;--md-typeset-kbd-color: rgb(228.3721025416, 228.3721025416, 228.3721025416);--md-typeset-kbd-border-color: rgb(164.4010497691, 164.4010497691, 164.4010497691);--md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1)}:root>*[data-md-color-scheme=slate]{--md-default-fg-color: hsla(60, 30%, 96.078%, 0.87);--md-default-fg-color--light: hsla(60, 30%, 96.078%, 0.54);--md-default-fg-color--lighter: hsla(60, 30%, 96.078%, 0.36);--md-default-fg-color--lightest: hsla(60, 30%, 96.078%, 0.12);--md-default-autocomplete-fg-color: hsla(60, 30%, 96.078%, 0.4);--md-footer-fg-color: var(--md-default-fg-color);--md-default-bg-color: var(--md-default-bg-color--darkest);--md-default-bg-color--light: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0.7);--md-default-bg-color--lighter: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0.4);--md-default-bg-color--lightest: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0.1);--md-default-bg-color--trans: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0);--md-tab-control-bg: var(--md-default-bg-color--dark);--md-default-bg-color--dark: color(srgb 0.1147606354 0.1213715063 0.1588331081);--md-default-bg-color--darker: color(srgb 0.0781790415 0.0833653407 0.1127543696);--md-default-bg-color--darkest: color(srgb 0.0327882794 0.0359366892 0.0551574304);--md-text-color: var(--md-default-fg-color);--md-typeset-color: var(--md-default-fg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-code-fg-color: hsl(60, 30%, 96.078%);--md-code-bg-color: hsl(231, 15%, 18%);--md-code-title-bg-color: hsl(231, 15%, 18%);--md-code-inline-bg-color: hsl(231, 15%, 18%);--md-code-hl-operator-color: hsl(326, 100%, 74%);--md-code-hl-punctuation-color: hsl(60, 30%, 96.078%);--md-code-hl-string-color: hsl(65, 92%, 76%);--md-code-hl-special-color: hsl(265, 89%, 78%);--md-code-hl-number-color: hsl(265, 89%, 78%);--md-code-hl-keyword-color: hsl(326, 100%, 74%);--md-code-hl-name-color: hsl(60, 30%, 96.078%);--md-code-hl-constant-color: hsl(265, 89%, 78%);--md-code-hl-function-color: hsl(135, 94%, 65%);--md-code-hl-comment-color: hsl(225, 27%, 51%);--md-code-hl-variable-color: hsl(31, 100%, 71%);--md-code-hl-generic-color: hsl(225, 27%, 51%);--md-code-hl-color: hsl(231, 15%, 30%);--md-code-hl-color--light: hsl(231, 25%, 25%);--md-code-bg-color--light: hsla(231, 15%, 18%, 0.9);--md-code-bg-color--lighter: hsla(231, 15%, 18%, 0.5);--md-typeset-table-color: rgb(100% 100% 100% / 15%);--md-code-hl-entity-color: hsl(135, 94%, 65%);--md-code-hl-tag-color: hsl(326, 100%, 74%);--md-code-hl-namespace-color: hsl(60, 30%, 96.078%);--md-code-hl-builtin-color: hsl(191, 97%, 77%);--md-code-hl-class-color: hsl(191, 97%, 77%);--md-code-special-bg-color: hsl(231, 25%, 25%);--md-steps-border-color: hsl(230.6613379686, 10.4241713343%, 28.1575403575%);--md-typeset-a-color: hsl(191, 97%, 77%);--md-typeset-mark-color: hsl(75.3111515854, 11.5600114451%, 37.8888925515%);--md-typeset-del-color: hsl(314.8219481072, 22.0434125534%, 35.1703201111%);--md-typeset-ins-color: hsl(145.2334928709, 27.8121663576%, 33.1574755691%);--md-progress-stripe: var(--md-default-bg-color--lightest);--md-progress-100: hsl(135, 94%, 65%);--md-progress-80: hsl(96.9286079031, 93.5050765575%, 74.7933068737%);--md-progress-60: hsl(65, 92%, 76%);--md-progress-40: hsl(31, 100%, 71%);--md-progress-20: hsl(326, 100%, 74%);--md-progress-0: hsl(0, 100%, 67%);--md-typeset-kbd-color: var(--md-default-fg-color--lightest);--md-typeset-kbd-border-color: var(--md-default-bg-color--dark);--md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate][data-md-color-primary=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-primary-code-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-primary-fg-color: hsla(0deg, 100%, 67%, 1);--md-primary-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-primary-fg-color--light: hsla(0deg, 100%, 72%, 1);--md-primary-fg-color--dark: hsla(0deg, 100%, 62%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-primary-code-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-primary-fg-color: hsla(326deg, 100%, 74%, 1);--md-primary-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-primary-fg-color--light: hsla(326deg, 100%, 79%, 1);--md-primary-fg-color--dark: hsla(326deg, 100%, 69%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-code-link-accent-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-accent-fg-color: hsla(0deg, 100%, 67%, 1);--md-accent-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-code-link-accent-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-accent-fg-color: hsla(326deg, 100%, 74%, 1);--md-accent-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}:root{--md-heart: #ff5252;--md-heart-big: #ff1744}:root [data-md-color-scheme=slate]{--md-heart: hsl(0, 100%, 67%);--md-heart-big: hsl(326, 100%, 74%)}.md-typeset a.source-link{position:relative;top:-0.6rem;float:right;color:var(--md-default-fg-color--lighter);transition:color 125ms}.md-typeset a.source-link:hover{color:var(--md-accent-fg-color)}.md-typeset a.source-link .twemoji{height:1.2rem}.md-typeset a.source-link .twemoji svg{width:1.2rem;height:1.2rem}.md-typeset div.highlight.md-max-height pre>code{max-height:15rem}.twemoji.heart-throb svg,.twemoji.heart-throb-hover svg{position:relative;color:var(--md-heart);animation:pulse 1.5s ease infinite}@keyframes pulse{0%{transform:scale(1)}40%{color:var(--md-heart-big);transform:scale(1.3)}50%{transform:scale(1.2)}60%{color:var(--md-heart-big);transform:scale(1.3)}100%{transform:scale(1)}}footer.sponsorship{text-align:center}footer.sponsorship .twemoji{padding:.05rem}footer.sponsorship a{text-decoration:none}footer.sponsorship hr{display:inline-block;width:1.6rem;margin:0 .7rem;vertical-align:middle;border-bottom:2px solid var(--md-default-fg-color--lighter)}footer.sponsorship:hover hr{border-color:var(--md-accent-fg-color)}footer.sponsorship:not(:hover) .twemoji.heart-throb-hover svg{color:var(--md-default-fg-color--lighter) !important}:root>*{--md-admonition-icon-color: #3654c2;--md-admonition-bg-color: rgba(54, 84, 194, 0.1)}:root>*[data-md-color-scheme=slate]{--md-admonition-icon-color: hsl(225, 100%, 75%);--md-admonition-bg-color: hsla(225, 100%, 75%, 0.1)}:root>*{--md-admonition-icon--settings: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 15.5A3.5 3.5 0 0 1 8.5 12 3.5 3.5 0 0 1 12 8.5a3.5 3.5 0 0 1 3.5 3.5 3.5 3.5 0 0 1-3.5 3.5m7.43-2.53c.04-.32.07-.64.07-.97s-.03-.66-.07-1l2.11-1.63c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.31-.61-.22l-2.49 1c-.52-.39-1.06-.73-1.69-.98l-.37-2.65A.506.506 0 0 0 14 2h-4c-.25 0-.46.18-.5.42l-.37 2.65c-.63.25-1.17.59-1.69.98l-2.49-1c-.22-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64L4.57 11c-.04.34-.07.67-.07 1s.03.65.07.97l-2.11 1.66c-.19.15-.25.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1.01c.52.4 1.06.74 1.69.99l.37 2.65c.04.24.25.42.5.42h4c.25 0 .46-.18.5-.42l.37-2.65c.63-.26 1.17-.59 1.69-.99l2.49 1.01c.22.08.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64z"/></svg>');--md-admonition-bg-color--settings: rgba(170, 0, 255, 0.1);--md-admonition-icon-color--settings: #aa00ff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--settings: hsla(326, 100%, 74%, 0.1);--md-admonition-icon-color--settings: hsl(326, 100%, 74%)}:root>*{--md-admonition-icon--new: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m23 12-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-10 5h-2v-2h2zm0-4h-2V7h2z"/></svg>');--md-admonition-bg-color--new: rgba(255, 214, 0, 0.1);--md-admonition-icon-color--new: #ffd600}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--new: hsla(65, 92%, 76%, 0.1);--md-admonition-icon-color--new: hsl(65, 92%, 76%)}:root>*{--md-admonition-icon--important: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9 22a1 1 0 0 1-1-1v-3H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6.1l-3.7 3.71c-.2.19-.45.29-.7.29zm1-6v3.08L13.08 16H20V4H4v12zm3-6h-2V6h2zm0 4h-2v-2h2z"/></svg>');--md-admonition-bg-color--important: rgba(124, 77, 255, 0.1);--md-admonition-icon-color--important: #7c4dff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--important: hsla(300.507916868, 58.3554777078%, 71.0104358913%, 0.1);--md-admonition-icon-color--important: hsl(300.507916868, 58.3554777078%, 71.0104358913%)}:root>*{--md-admonition-bg-color--note: rgba(68, 138, 255, 0.1);--md-admonition-icon-color--note: #448aff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--note: hsla(225, 100%, 75%, 0.1);--md-admonition-icon-color--note: hsl(225, 100%, 75%)}:root>*{--md-admonition-bg-color--abstract: rgba(0, 176, 255, 0.1);--md-admonition-icon-color--abstract: #00b0ff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--abstract: hsla(208.9651589316, 100.1516938638%, 76.1926610237%, 0.1);--md-admonition-icon-color--abstract: hsl(208.9651589316, 100.1516938638%, 76.1926610237%)}:root>*{--md-admonition-bg-color--info: rgba(0, 184, 212, 0.1);--md-admonition-icon-color--info: #00b8d4}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--info: hsla(191, 97%, 77%, 0.1);--md-admonition-icon-color--info: hsl(191, 97%, 77%)}:root>*{--md-admonition-bg-color--tip: rgba(0, 191, 165, 0.1);--md-admonition-icon-color--tip: #00bfa5}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--tip: hsla(157.7363570417, 83.7763520157%, 69.6636999884%, 0.1);--md-admonition-icon-color--tip: hsl(157.7363570417, 83.7763520157%, 69.6636999884%)}:root>*{--md-admonition-bg-color--success: rgba(0, 200, 83, 0.1);--md-admonition-icon-color--success: #00c853}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--success: hsla(135, 94%, 65%, 0.1);--md-admonition-icon-color--success: hsl(135, 94%, 65%)}:root>*{--md-admonition-bg-color--question: rgba(100, 221, 23, 0.1);--md-admonition-icon-color--question: #64dd17}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--question: hsla(96.9286079031, 93.5050765575%, 74.7933068737%, 0.1);--md-admonition-icon-color--question: hsl(96.9286079031, 93.5050765575%, 74.7933068737%)}:root>*{--md-admonition-bg-color--warning: rgba(255, 145, 0, 0.1);--md-admonition-icon-color--warning: #ff9100}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--warning: hsla(31, 100%, 71%, 0.1);--md-admonition-icon-color--warning: hsl(31, 100%, 71%)}:root>*{--md-admonition-bg-color--failure: rgba(255, 82, 82, 0.1);--md-admonition-icon-color--failure: #ff5252}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--failure: hsla(15.759766848, 102.8951066345%, 69.4486457644%, 0.1);--md-admonition-icon-color--failure: hsl(15.759766848, 102.8951066345%, 69.4486457644%)}:root>*{--md-admonition-bg-color--danger: rgba(255, 23, 68, 0.1);--md-admonition-icon-color--danger: #ff1744}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--danger: hsla(0, 100%, 67%, 0.1);--md-admonition-icon-color--danger: hsl(0, 100%, 67%)}:root>*{--md-admonition-bg-color--bug: rgba(245, 0, 87, 0.1);--md-admonition-icon-color--bug: #f50057}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--bug: hsla(344.5737278948, 100.1359681762%, 71.0000228672%, 0.1);--md-admonition-icon-color--bug: hsl(344.5737278948, 100.1359681762%, 71.0000228672%)}:root>*{--md-admonition-bg-color--example: rgba(98, 0, 234, 0.1);--md-admonition-icon-color--example: #6200ea}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--example: hsla(265, 89%, 78%, 0.1);--md-admonition-icon-color--example: hsl(265, 89%, 78%)}:root>*{--md-admonition-bg-color--quote: rgba(158, 158, 158, 0.1);--md-admonition-icon-color--quote: #9e9e9e}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--quote: hsla(225, 8%, 51%, 0.1);--md-admonition-icon-color--quote: hsl(225, 8%, 51%)}.md-typeset .admonition,.md-typeset details{font-size:inherit;background:var(--md-admonition-bg-color--note);border-width:0;border-left-width:4px}.md-typeset .admonition>.admonition-title::before,.md-typeset details>.admonition-title::before,.md-typeset details>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition>.admonition-title::after,.md-typeset details>.admonition-title::after,.md-typeset details>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note,.md-typeset details.note{background:var(--md-admonition-bg-color--note)}.md-typeset .admonition.note>.admonition-title::before,.md-typeset details.note>.admonition-title::before,.md-typeset details.note>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note>.admonition-title::after,.md-typeset details.note>.admonition-title::after,.md-typeset details.note>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract{background:var(--md-admonition-bg-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::before,.md-typeset details.abstract>.admonition-title::before,.md-typeset details.abstract>summary::before{background-color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::after,.md-typeset details.abstract>.admonition-title::after,.md-typeset details.abstract>summary::after{color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.info,.md-typeset details.info{background:var(--md-admonition-bg-color--info)}.md-typeset .admonition.info>.admonition-title::before,.md-typeset details.info>.admonition-title::before,.md-typeset details.info>summary::before{background-color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.info>.admonition-title::after,.md-typeset details.info>.admonition-title::after,.md-typeset details.info>summary::after{color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.tip,.md-typeset details.tip{background:var(--md-admonition-bg-color--tip)}.md-typeset .admonition.tip>.admonition-title::before,.md-typeset details.tip>.admonition-title::before,.md-typeset details.tip>summary::before{background-color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.tip>.admonition-title::after,.md-typeset details.tip>.admonition-title::after,.md-typeset details.tip>summary::after{color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.success,.md-typeset details.success{background:var(--md-admonition-bg-color--success)}.md-typeset .admonition.success>.admonition-title::before,.md-typeset details.success>.admonition-title::before,.md-typeset details.success>summary::before{background-color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.success>.admonition-title::after,.md-typeset details.success>.admonition-title::after,.md-typeset details.success>summary::after{color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.question,.md-typeset details.question{background:var(--md-admonition-bg-color--question)}.md-typeset .admonition.question>.admonition-title::before,.md-typeset details.question>.admonition-title::before,.md-typeset details.question>summary::before{background-color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.question>.admonition-title::after,.md-typeset details.question>.admonition-title::after,.md-typeset details.question>summary::after{color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.warning,.md-typeset details.warning{background:var(--md-admonition-bg-color--warning)}.md-typeset .admonition.warning>.admonition-title::before,.md-typeset details.warning>.admonition-title::before,.md-typeset details.warning>summary::before{background-color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.warning>.admonition-title::after,.md-typeset details.warning>.admonition-title::after,.md-typeset details.warning>summary::after{color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.failure,.md-typeset details.failure{background:var(--md-admonition-bg-color--failure)}.md-typeset .admonition.failure>.admonition-title::before,.md-typeset details.failure>.admonition-title::before,.md-typeset details.failure>summary::before{background-color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.failure>.admonition-title::after,.md-typeset details.failure>.admonition-title::after,.md-typeset details.failure>summary::after{color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.danger,.md-typeset details.danger{background:var(--md-admonition-bg-color--danger)}.md-typeset .admonition.danger>.admonition-title::before,.md-typeset details.danger>.admonition-title::before,.md-typeset details.danger>summary::before{background-color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.danger>.admonition-title::after,.md-typeset details.danger>.admonition-title::after,.md-typeset details.danger>summary::after{color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{background:var(--md-admonition-bg-color--bug)}.md-typeset .admonition.bug>.admonition-title::before,.md-typeset details.bug>.admonition-title::before,.md-typeset details.bug>summary::before{background-color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.bug>.admonition-title::after,.md-typeset details.bug>.admonition-title::after,.md-typeset details.bug>summary::after{color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.example,.md-typeset details.example{background:var(--md-admonition-bg-color--example)}.md-typeset .admonition.example>.admonition-title::before,.md-typeset details.example>.admonition-title::before,.md-typeset details.example>summary::before{background-color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.example>.admonition-title::after,.md-typeset details.example>.admonition-title::after,.md-typeset details.example>summary::after{color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.quote,.md-typeset details.quote{background:var(--md-admonition-bg-color--quote)}.md-typeset .admonition.quote>.admonition-title::before,.md-typeset details.quote>.admonition-title::before,.md-typeset details.quote>summary::before{background-color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.quote>.admonition-title::after,.md-typeset details.quote>.admonition-title::after,.md-typeset details.quote>summary::after{color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.settings,.md-typeset details.settings{background:var(--md-admonition-bg-color--settings)}.md-typeset .admonition.settings>.admonition-title::before,.md-typeset details.settings>.admonition-title::before,.md-typeset details.settings>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--settings);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--settings);mask-image:var(--md-admonition-icon--settings);content:" "}.md-typeset .admonition.settings>.admonition-title::after,.md-typeset details.settings>.admonition-title::after,.md-typeset details.settings>summary::after{color:var(--md-admonition-icon-color--settings)}.md-typeset .admonition.new,.md-typeset details.new{background:var(--md-admonition-bg-color--new)}.md-typeset .admonition.new>.admonition-title::before,.md-typeset details.new>.admonition-title::before,.md-typeset details.new>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--new);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--new);mask-image:var(--md-admonition-icon--new);content:" "}.md-typeset .admonition.new>.admonition-title::after,.md-typeset details.new>.admonition-title::after,.md-typeset details.new>summary::after{color:var(--md-admonition-icon-color--new)}.md-typeset .admonition.important,.md-typeset details.important{background:var(--md-admonition-bg-color--important)}.md-typeset .admonition.important>.admonition-title::before,.md-typeset details.important>.admonition-title::before,.md-typeset details.important>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--important);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--important);mask-image:var(--md-admonition-icon--important);content:" "}.md-typeset .admonition.important>.admonition-title::after,.md-typeset details.important>.admonition-title::after,.md-typeset details.important>summary::after{color:var(--md-admonition-icon-color--important)}mjx-container[display=true]{font-size:120% !important}mjx-container:not([display]){font-size:100% !important}.md-typeset .arithmatex{overflow-x:auto !important;overflow-y:hidden !important}.katex-display .katex-html{display:flex !important;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:space-between}.katex-display .katex-html .base{display:inline !important}.katex-display .katex-html .tag{position:relative !important;display:inline !important;margin-left:var(--margin-small)}.CtxtMenu_InfoClose{top:.2em;right:.2em}.CtxtMenu_InfoContent{overflow:auto;text-align:left;font-size:80%;padding:.4em .6em;border:1px inset;margin:1em 0px;max-height:20em;max-width:30em;background-color:#eee;white-space:normal}.CtxtMenu_Info.CtxtMenu_MousePost{outline:none}.CtxtMenu_Info{position:fixed;left:50%;width:auto;text-align:center;border:3px outset;padding:1em 2em;background-color:#ddd;color:#000;cursor:default;font-family:message-box;font-size:120%;font-style:normal;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:15px;-webkit-border-radius:15px;-moz-border-radius:15px;-khtml-border-radius:15px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color="gray", Positive="true")}.CtxtMenu_MenuClose{position:absolute;cursor:pointer;display:inline-block;border:2px solid #aaa;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;font-family:"Courier New",Courier;font-size:24px;color:#f0f0f0}.CtxtMenu_MenuClose span{display:block;background-color:#aaa;border:1.5px solid;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;line-height:0;padding:8px 0 6px}.CtxtMenu_MenuClose:hover{color:#fff !important;border:2px solid #ccc !important}.CtxtMenu_MenuClose:hover span{background-color:#ccc !important}.CtxtMenu_MenuClose:hover:focus{outline:none}.CtxtMenu_Menu{position:absolute;background-color:#fff;color:#000;width:auto;padding:5px 0px;border:1px solid #ccc;margin:0;cursor:default;font:menu;text-align:left;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-khtml-border-radius:5px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray}.CtxtMenu_MenuItem{padding:1px 2em;background:rgba(0,0,0,0)}.CtxtMenu_MenuArrow{position:absolute;right:.5em;padding-top:.25em;color:#666;font-size:.75em}.CtxtMenu_MenuActive .CtxtMenu_MenuArrow{color:#fff}.CtxtMenu_MenuArrow.CtxtMenu_RTL{left:.5em;right:auto}.CtxtMenu_MenuCheck{position:absolute;left:.7em}.CtxtMenu_MenuCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuRadioCheck{position:absolute;left:.7em}.CtxtMenu_MenuRadioCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuInputBox{padding-left:1em;right:.5em;color:#666}.CtxtMenu_MenuInputBox.CtxtMenu_RTL{left:.1em}.CtxtMenu_MenuComboBox{left:.1em;padding-bottom:.5em}.CtxtMenu_MenuSlider{left:.1em}.CtxtMenu_SliderValue{position:absolute;right:.1em;padding-top:.25em;color:#333;font-size:.75em}.CtxtMenu_SliderBar{outline:none;background:#d3d3d3}.CtxtMenu_MenuLabel{padding:1px 2em 3px 1.33em;font-style:italic}.CtxtMenu_MenuRule{border-top:1px solid #ddd;margin:4px 3px}.CtxtMenu_MenuDisabled{color:GrayText}.CtxtMenu_MenuActive{background-color:#606872;color:#fff}.CtxtMenu_MenuDisabled:focus{background-color:#e8e8e8}.CtxtMenu_MenuLabel:focus{background-color:#e8e8e8}.CtxtMenu_ContextMenu:focus{outline:none}.CtxtMenu_ContextMenu .CtxtMenu_MenuItem:focus{outline:none}.CtxtMenu_SelectionMenu{position:relative;float:left;border-bottom:none;-webkit-box-shadow:none;-webkit-border-radius:0px}.CtxtMenu_SelectionItem{padding-right:1em}.CtxtMenu_Selection{right:40%;width:50%}.CtxtMenu_SelectionBox{padding:0em;max-height:20em;max-width:none;background-color:#fff}.CtxtMenu_SelectionDivider{clear:both;border-top:2px solid #000}.CtxtMenu_Menu .CtxtMenu_MenuClose{top:-10px;left:-10px}[data-md-color-scheme=slate] .CtxtMenu_InfoSignature input,[data-md-color-scheme=slate] .CtxtMenu_InfoContent pre{color:#000}[data-md-color-scheme=slate] .CtxtMenu_Info,[data-md-color-scheme=slate] .CtxtMenu_Menu{box-shadow:0px 10px 20px rgba(0,0,0,.5)}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset mark.critic{padding:0 .25em;color:unset;box-shadow:none}.md-typeset .critic.break{margin:0}.md-typeset details{overflow:hidden}.md-typeset details>summary:focus{outline-style:none}:root>*{--highlight-svg-console: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 19V7H4v12zm0-16a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm-7 14v-2h5v2zm-3.42-4L5.57 9H8.4l3.3 3.3c.39.39.39 1.03 0 1.42L8.42 17H5.59z"/></svg>');--highlight-svg-arrow-expand: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 21v-2H6.41l4.5-4.5-1.41-1.41-4.5 4.5V14H3v7zm4.5-10.09 4.5-4.5V10h2V3h-7v2h3.59l-4.5 4.5z"/></svg>');--highlight-svg-arrow-collapse: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19.5 3.09 15 7.59V4h-2v7h7V9h-3.59l4.5-4.5zM4 13v2h3.59l-4.5 4.5 1.41 1.41 4.5-4.5V20h2v-7z"/></svg>')}.highlight .hll{box-shadow:2px 0 0 0 var(--md-accent-fg-color) inset}.highlight .kc{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne{color:var(--md-code-hl-class-color)}.highlight .mb{color:var(--md-code-hl-number-color)}.highlight .nb,.highlight .bp{color:var(--md-code-hl-builtin-color)}.highlight .nn{color:var(--md-code-hl-namespace-color)}.highlight .na,.highlight .nd,.highlight .ni{color:var(--md-code-hl-entity-color)}.highlight .nl,.highlight .nt{color:var(--md-code-hl-tag-color)}.md-typeset *:not(pre)>code{margin:0;padding:.1654411765em .3125em;color:var(--md-code-fg-color);background-color:var(--md-code-inline-bg-color);border-radius:.2rem;box-shadow:none}.md-typeset pre>code{display:grid}.md-typeset td code{word-break:normal}.md-typeset .highlight{-moz-tab-size:8;-o-tab-size:8;tab-size:8}.md-typeset .highlight [data-linenos]:hover::before{color:var(--md-accent-fg-color);font-weight:700}.md-typeset .highlight [data-linenos].special::before{background-color:var(--md-code-special-bg-color)}.md-typeset .highlight .hll [data-linenos]::before{box-shadow:-2px 0 var(--md-accent-fg-color) inset}.md-typeset .highlighttable .linenodiv .special{margin-right:-.5882352941em;margin-left:-1.1764705882em;padding-right:.5882352941em;padding-left:1.1764705882em;background-color:var(--md-code-special-bg-color)}.md-typeset .highlight span.filename{position:relative;display:block;margin-top:1em;padding:.5em 1.1764705882em .5em 2.9411764706em;font-weight:700;font-size:.68rem;background-color:var(--md-code-title-bg-color);border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .highlight span.filename+pre{margin-top:0}.md-typeset .highlight span.filename+pre code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .highlight span.filename::before{position:absolute;left:.8823529412em;width:1.4705882353em;height:1.4705882353em;background-color:var(--md-default-fg-color);-webkit-mask-image:var(--highlight-svg-console);mask-image:var(--highlight-svg-console);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset .collapse-code{position:relative;margin-top:1em;margin-bottom:1em}.md-typeset .collapse-code pre{margin-top:0;margin-bottom:0}.md-typeset .collapse-code input{display:none}.md-typeset .collapse-code input~.code-footer{width:100%;margin:0;padding:.25em .5em .25em 0em}.md-typeset .collapse-code input~.code-footer label{position:relative;margin:.05em;padding:.15em .8em;color:var(--md-primary-bg-color);font-size:90%;background-color:var(--md-accent-fg-color);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;border-radius:.1rem;cursor:pointer;content:""}.md-typeset .collapse-code input~.code-footer label:hover{background-color:var(--md-accent-fg-color)}.md-typeset .collapse-code input~.code-footer label::before{position:absolute;top:.15em;left:.15em;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-primary-bg-color);background-size:1.25em;content:""}.md-typeset .collapse-code input~.code-footer label.expand{display:none}.md-typeset .collapse-code input~.code-footer label.expand::before{-webkit-mask-image:var(--highlight-svg-arrow-expand);mask-image:var(--highlight-svg-arrow-expand)}.md-typeset .collapse-code input~.code-footer label.collapse::before{-webkit-mask-image:var(--highlight-svg-arrow-collapse);mask-image:var(--highlight-svg-arrow-collapse)}.md-typeset .collapse-code input:checked~.code-footer label.expand{display:inline}.md-typeset .collapse-code input:checked~.code-footer label.collapse{display:none}.md-typeset .collapse-code input:checked+div.highlight code{max-height:9.375em;overflow:hidden}.md-typeset .collapse-code input:checked~.code-footer{position:relative;bottom:4.3em;left:0;margin-bottom:-4.3em;padding:2em .5em .5em .8rem;background-image:linear-gradient(to bottom, transparent, var(--md-default-bg-color) 80% 100%);border-bottom-right-radius:.48rem;border-bottom-left-radius:.48rem}.md-typeset .highlight+.result{border-right-width:.1rem;border-bottom-width:.1rem;border-left-width:.1rem}.md-typeset .keys .key-power::before{padding-right:.4em;content:"⏻"}.md-typeset .keys .key-fingerprint::before{padding-right:.4em;content:"☝"}:root>*{--magiclink-email-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4H4c-1.11 0-2 .89-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2m-3 13H7v-2h10m0-2H7v-2h10m3-2h-3V6h3"/></svg>');--magiclink-github-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33s1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2"/></svg>');--magiclink-bitbucket-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.65 3C2.3 3 2 3.3 2 3.65v.12l2.73 16.5c.07.42.43.73.85.73h13.05c.31 0 .59-.22.64-.54L22 3.77a.643.643 0 0 0-.54-.73c-.03-.01-.07-.01-.11-.01zM14.1 14.95H9.94L8.81 9.07h6.3z"/></svg>');--magiclink-gitlab-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m21.94 13.11-1.05-3.22c0-.03-.01-.06-.02-.09l-2.11-6.48a.86.86 0 0 0-.8-.57c-.36 0-.68.25-.79.58l-2 6.17H8.84L6.83 3.33a.85.85 0 0 0-.79-.58c-.37 0-.69.25-.8.58L3.13 9.82v.01l-1.07 3.28c-.16.5.01 1.04.44 1.34l9.22 6.71c.17.12.39.12.56-.01l9.22-6.7c.43-.3.6-.84.44-1.34M8.15 10.45l2.57 7.91-6.17-7.91m8.73 7.92 2.47-7.59.1-.33h3.61l-5.59 7.16m4.1-13.67 1.81 5.56h-3.62m-1.3.95-1.79 5.51L12 19.24l-2.86-8.79M6.03 3.94 7.84 9.5H4.23m-1.18 4.19c-.09-.07-.13-.19-.09-.29l.79-2.43 5.82 7.45m11.38-4.73-6.51 4.73.02-.03 5.79-7.42.79 2.43c.04.1 0 .22-.09.29"/></svg>');--magiclink-commit-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.944 11h4.306a.75.75 0 0 1 0 1.5h-4.306a5.001 5.001 0 0 1-9.888 0H2.75a.75.75 0 0 1 0-1.5h4.306a5.001 5.001 0 0 1 9.888 0m-1.444.75a3.5 3.5 0 1 0-7 0 3.5 3.5 0 0 0 7 0"/></svg>');--magiclink-compare-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.5 6.75a.75.75 0 0 0-1.5 0V9H8.75a.75.75 0 0 0 0 1.5H11v2.25a.75.75 0 0 0 1.5 0V10.5h2.25a.75.75 0 0 0 0-1.5H12.5zM8.75 16a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 0-1.5z"/><path d="M5 1h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2m-.5 2v18a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5V7.018a.5.5 0 0 0-.146-.354l-4.018-4.018a.5.5 0 0 0-.354-.146H5a.5.5 0 0 0-.5.5"/></svg>');--magiclink-pull-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16 19.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0m-14.5 0a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0m0-14.5a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0M4.75 3a1.75 1.75 0 1 0 .001 3.501A1.75 1.75 0 0 0 4.75 3m0 14.5a1.75 1.75 0 1 0 .001 3.501A1.75 1.75 0 0 0 4.75 17.5m14.5 0a1.75 1.75 0 1 0 .001 3.501 1.75 1.75 0 0 0-.001-3.501"/><path d="M13.405 1.72a.75.75 0 0 1 0 1.06L12.185 4h4.065A3.75 3.75 0 0 1 20 7.75v8.75a.75.75 0 0 1-1.5 0V7.75a2.25 2.25 0 0 0-2.25-2.25h-4.064l1.22 1.22a.75.75 0 0 1-1.061 1.06l-2.5-2.5a.75.75 0 0 1 0-1.06l2.5-2.5a.75.75 0 0 1 1.06 0M4.75 7.25A.75.75 0 0 1 5.5 8v8A.75.75 0 0 1 4 16V8a.75.75 0 0 1 .75-.75"/></svg>');--magiclink-issue-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1M2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12m9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14"/></svg>');--magiclink-discussion-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1M1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.75.75 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25"/><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25z"/></svg>')}.md-typeset a[href^="mailto:"]:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-email-icon);mask-image:var(--magiclink-email-icon)}.md-typeset .magiclink-repository:not(.magiclink-ignore),.md-typeset .magiclink-compare:not(.magiclink-ignore),.md-typeset .magiclink-commit:not(.magiclink-ignore),.md-typeset .magiclink-pull:not(.magiclink-ignore),.md-typeset .magiclink-issue:not(.magiclink-ignore),.md-typeset .magiclink-discussion:not(.magiclink-ignore),.md-typeset a[href^="mailto:"]:not(.magiclink-ignore){position:relative;padding-left:1.375em}.md-typeset .magiclink-repository:not(.magiclink-ignore)::before,.md-typeset .magiclink-compare:not(.magiclink-ignore)::before,.md-typeset .magiclink-commit:not(.magiclink-ignore)::before,.md-typeset .magiclink-pull:not(.magiclink-ignore)::before,.md-typeset .magiclink-issue:not(.magiclink-ignore)::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before,.md-typeset a[href^="mailto:"]:not(.magiclink-ignore)::before{position:absolute;top:0;left:0;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-typeset-a-color);background-size:1.25em;transition:background-color 125ms;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset .magiclink-repository:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-compare:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-commit:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-pull:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-issue:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore):hover::before,.md-typeset a[href^="mailto:"]:not(.magiclink-ignore):hover::before{background-color:var(--md-accent-fg-color)}.md-typeset .magiclink-commit:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-commit-icon);mask-image:var(--magiclink-commit-icon)}.md-typeset .magiclink-compare:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-compare-icon);mask-image:var(--magiclink-compare-icon)}.md-typeset .magiclink-pull:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-pull-icon);mask-image:var(--magiclink-pull-icon)}.md-typeset .magiclink-issue:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-issue-icon);mask-image:var(--magiclink-issue-icon)}.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-discussion-icon);mask-image:var(--magiclink-discussion-icon)}.md-typeset .magiclink-repository.magiclink-github:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-github-icon);mask-image:var(--magiclink-github-icon)}.md-typeset .magiclink-repository.magiclink-gitlab:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-gitlab-icon);mask-image:var(--magiclink-gitlab-icon)}.md-typeset .magiclink-repository.magiclink-bitbucket:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-bitbucket-icon);mask-image:var(--magiclink-bitbucket-icon)}.md-typeset mark:not(.critic){box-shadow:none}.md-typeset .progress-label{position:absolute;width:100%;margin:0;color:var(--md-text-color);font-weight:700;line-height:1.4rem;white-space:nowrap;text-align:center;text-shadow:-0.0625em -0.0625em .375em var(--md-default-bg-color--light),.0625em -0.0625em .375em var(--md-default-bg-color--light),-0.0625em .0625em .375em var(--md-default-bg-color--light),.0625em .0625em .375em var(--md-default-bg-color--light)}.md-typeset .progress-bar{float:left;height:1.2rem;background-color:#2979ff}.md-typeset .candystripe-animate .progress-bar{animation:animate-stripes 3s linear infinite}.md-typeset .progress{position:relative;display:block;width:100%;height:1.2rem;margin:.5rem 0;background-color:var(--md-default-fg-color--lightest)}.md-typeset .progress.thin{height:.4rem;margin-top:.9rem}.md-typeset .progress.thin .progress-label{margin-top:-0.4rem}.md-typeset .progress.thin .progress-bar{height:.4rem}.md-typeset .progress.candystripe .progress-bar{background-image:linear-gradient(135deg, var(--md-progress-stripe) 27%, transparent 27%, transparent 52%, var(--md-progress-stripe) 52%, var(--md-progress-stripe) 77%, transparent 77%, transparent);background-size:2rem 2rem}.md-typeset .progress-100plus .progress-bar{background-color:var(--md-progress-100)}.md-typeset .progress-80plus .progress-bar{background-color:var(--md-progress-80)}.md-typeset .progress-60plus .progress-bar{background-color:var(--md-progress-60)}.md-typeset .progress-40plus .progress-bar{background-color:var(--md-progress-40)}.md-typeset .progress-20plus .progress-bar{background-color:var(--md-progress-20)}.md-typeset .progress-0plus .progress-bar{background-color:var(--md-progress-0)}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:6rem 0}}.md-typeset .tabbed-control button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.md-typeset .tabbed-control--next button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.js .md-typeset .tabbed-labels::before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control{width:2rem}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control[hidden]{width:1.2rem;opacity:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block{padding:0 .6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child{margin-top:.9375em}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child code{border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child span.filename{margin-top:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child pre code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilite code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilitetable code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlight code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlighttable code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>diagram-div:only-child{margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}[data-md-color-scheme=slate] .md-typeset .task-list-control .task-list-indicator::before{background-color:var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate] .md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:hsl(135,94%,65%)}:root>*{--toc-svg-link: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4a5 5 0 0 0 5-5 5 5 0 0 0-5-5"/></svg>')}.md-typeset .headerlink{width:1em;height:1em;vertical-align:middle;background-color:var(--md-default-fg-color--lighter);background-size:1em;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;visibility:visible;-webkit-mask-image:var(--toc-svg-link);mask-image:var(--toc-svg-link)}.md-typeset .headerlink:hover,.md-typeset [id]:target .headerlink{background-color:var(--md-accent-fg-color)}diagram-div{overflow:auto}.md-typeset div.steps>ol{counter-reset:item}.md-typeset div.steps>ol>li{position:relative;padding-left:1em;list-style:none}.md-typeset div.steps>ol>li::before{position:absolute;top:0;left:0;z-index:-1;display:block;width:1.75em;height:1.75em;margin-left:-1.25em;color:var(--md-steps-fg-color);font-weight:600;font-size:.9em;text-align:center;background-color:var(--md-steps-bg-color);border:1px solid var(--md-steps-border-color);border-radius:100px;content:counter(item);counter-increment:item}.md-typeset div.steps>ol>li::after{position:absolute;top:0;bottom:0;left:-0.36em;display:block;width:1px;margin-top:2em;border-left:1px solid var(--md-steps-border-color);content:""}.md-typeset table:not([class]){background:none;border-radius:.4rem}.md-typeset table:not([class]) th{border-bottom:.1rem solid var(--md-accent-fg-color)}html{background-color:rgba(0,0,0,0)}[data-md-component=announce] .twemoji{color:var(--md-primary-fg-color)}.md-container .md-tabs .md-tabs__item--active{border-bottom:.1rem solid var(--md-accent-fg-color)}.md-nav--secondary>ul{border-left:.1rem solid var(--md-default-fg-color--lightest)}.md-nav--secondary ul .md-nav__item .md-nav__link--active{margin-left:-0.1rem;padding-left:.8rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-0.7rem;padding-left:1.4rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.3rem;padding-left:2rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.9rem;padding-left:2.6rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-2.5rem;padding-left:3.2rem}.md-nav--secondary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav--secondary .md-nav__item .md-nav__link--active{color:var(--md-default-fg-color);border-left:.1rem solid var(--md-accent-fg-color);border-top-left-radius:0;border-bottom-left-radius:0}.md-nav--secondary .md-nav__item .md-nav__link:focus,.md-nav--secondary .md-nav__item .md-nav__link:hover{color:var(--md-default-fg-color)}.md-nav--primary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav__source{color:var(--md-text-color)}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--light)}.md-typeset h5{color:var(--md-text-color);text-transform:none}.md-typeset__scrollwrap,.md-sidebar__scrollwrap,.md-search__scrollwrap,.md-typeset pre>code,.md-typeset div.mermaid,.md-typeset div.diagram,.md-typeset mermaid-div,.md-typeset diagram-div,.md-typeset pre.arithmatex,.md-typeset div.arithmatex{scrollbar-color:var(--md-default-fg-color--lighter) rgba(0,0,0,0);scrollbar-width:thin}.md-typeset__scrollwrap:hover,.md-sidebar__scrollwrap:hover,.md-search__scrollwrap:hover,.md-typeset pre>code:hover,.md-typeset div.mermaid:hover,.md-typeset div.diagram:hover,.md-typeset mermaid-div:hover,.md-typeset diagram-div:hover,.md-typeset pre.arithmatex:hover,.md-typeset div.arithmatex:hover{scrollbar-color:var(--md-accent-fg-color) rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar,.md-sidebar__scrollwrap::-webkit-scrollbar,.md-search__scrollwrap::-webkit-scrollbar,.md-typeset pre>code::-webkit-scrollbar,.md-typeset div.mermaid::-webkit-scrollbar,.md-typeset div.diagram::-webkit-scrollbar,.md-typeset mermaid-div::-webkit-scrollbar,.md-typeset diagram-div::-webkit-scrollbar,.md-typeset pre.arithmatex::-webkit-scrollbar,.md-typeset div.arithmatex::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset__scrollwrap::-webkit-scrollbar-corner,.md-sidebar__scrollwrap::-webkit-scrollbar-corner,.md-search__scrollwrap::-webkit-scrollbar-corner,.md-typeset pre>code::-webkit-scrollbar-corner,.md-typeset div.mermaid::-webkit-scrollbar-corner,.md-typeset div.diagram::-webkit-scrollbar-corner,.md-typeset mermaid-div::-webkit-scrollbar-corner,.md-typeset diagram-div::-webkit-scrollbar-corner,.md-typeset pre.arithmatex::-webkit-scrollbar-corner,.md-typeset div.arithmatex::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb,.md-search__scrollwrap::-webkit-scrollbar-thumb,.md-typeset pre>code::-webkit-scrollbar-thumb,.md-typeset div.mermaid::-webkit-scrollbar-thumb,.md-typeset div.diagram::-webkit-scrollbar-thumb,.md-typeset mermaid-div::-webkit-scrollbar-thumb,.md-typeset diagram-div::-webkit-scrollbar-thumb,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb,.md-typeset div.arithmatex::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover,.md-search__scrollwrap::-webkit-scrollbar-thumb:hover,.md-typeset pre>code::-webkit-scrollbar-thumb:hover,.md-typeset div.mermaid::-webkit-scrollbar-thumb:hover,.md-typeset div.diagram::-webkit-scrollbar-thumb:hover,.md-typeset mermaid-div::-webkit-scrollbar-thumb:hover,.md-typeset diagram-div::-webkit-scrollbar-thumb:hover,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb:hover,.md-typeset div.arithmatex::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-content__inner>diagram-div{margin-right:-0.8rem;margin-left:-0.8rem}.md-content__inner>.highlight span.filename{border-top-left-radius:0;border-top-right-radius:0}.md-content__inner>.collapse-code{margin-right:-0.8rem;margin-left:-0.8rem}.md-content__inner>.collapse-code label.collapse{left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:0}.md-content__inner>.tabbed-set .tabbed-labels{max-width:100%;margin:0;padding-inline-start:0;scroll-padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels::after{padding-inline-end:0;content:none}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-inline-start:0;padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-inline-end:0;padding-inline-end:0}}
|
|
2
|
+
/*# sourceMappingURL=extra-95634471d6.css.map */
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}!function(){"use strict";function t(t,e,r,o,a,n,i){try{var c=t[n](i),l=c.value}catch(t){return void r(t)}c.done?e(l):Promise.resolve(l).then(o,a)}function e(t,e,r){return e=o(e),function(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,n()?Reflect.construct(e,[],o(t).constructor):e.apply(t,r))}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},o(t)}function a(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&l(t,e)}function n(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(n=function(){return!!t})()}function i(){
|
|
2
|
+
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
3
|
+
var t,e,r="function"==typeof Symbol?Symbol:{},o=r.iterator||"@@iterator",a=r.toStringTag||"@@toStringTag";function n(r,o,a,n){var i=o&&o.prototype instanceof f?o:f,d=Object.create(i.prototype);return c(d,"_invoke",function(r,o,a){var n,i,c,f=0,d=a||[],u=!1,p={p:0,n:0,v:t,a:s,f:s.bind(t,4),d:function(e,r){return n=e,i=0,c=t,p.n=r,l}};function s(r,o){for(i=r,c=o,e=0;!u&&f&&!a&&e<d.length;e++){var a,n=d[e],s=p.p,m=n[2];r>3?(a=m===o)&&(c=n[(i=n[4])?5:(i=3,3)],n[4]=n[5]=t):n[0]<=s&&((a=r<2&&s<n[1])?(i=0,p.v=o,p.n=n[1]):s<m&&(a=r<3||n[0]>o||o>m)&&(n[4]=r,n[5]=o,p.n=m,i=0))}if(a||r>1)return l;throw u=!0,o}return function(a,d,m){if(f>1)throw TypeError("Generator is already running");for(u&&1===d&&s(d,m),i=d,c=m;(e=i<2?t:c)||!u;){n||(i?i<3?(i>1&&(p.n=-1),s(i,c)):p.n=c:p.v=c);try{if(f=2,n){if(i||(a="next"),e=n[a]){if(!(e=e.call(n,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,i<2&&(i=0)}else 1===i&&(e=n.return)&&e.call(n),i<2&&(c=TypeError("The iterator does not provide a '"+a+"' method"),i=1);n=t}else if((e=(u=p.n<0)?c:r.call(o,p))!==l)break}catch(e){n=t,i=1,c=e}finally{f=1}}return{value:e,done:u}}}(r,a,n),!0),d}var l={};function f(){}function d(){}function u(){}e=Object.getPrototypeOf;var p=[][o]?e(e([][o]())):(c(e={},o,function(){return this}),e),s=u.prototype=f.prototype=Object.create(p);function m(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,c(t,a,"GeneratorFunction")),t.prototype=Object.create(s),t}return d.prototype=u,c(s,"constructor",u),c(u,"constructor",d),d.displayName="GeneratorFunction",c(u,a,"GeneratorFunction"),c(s),c(s,a,"Generator"),c(s,o,function(){return this}),c(s,"toString",function(){return"[object Generator]"}),(i=function(){return{w:n,m:m}})()}function c(t,e,r,o){var a=Object.defineProperty;try{a({},"",{})}catch(t){a=0}c=function(t,e,r,o){function n(e,r){c(t,e,function(t){return this._invoke(e,r,t)})}e?a?a(t,e,{value:r,enumerable:!o,configurable:!o,writable:!o}):t[e]=r:(n("next",0),n("throw",1),n("return",2))},c(t,e,r,o)}function l(t,e){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},l(t,e)}function f(t){var e="function"==typeof Map?new Map:void 0;return f=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return function(t,e,r){if(n())return Reflect.construct.apply(null,arguments);var o=[null];o.push.apply(o,e);var a=new(t.bind.apply(t,o));return r&&l(a,r.prototype),a}(t,arguments,o(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),l(r,t)},f(t)}var d,u,p,s=function(){var o,n=(o=i().m(function t(o){var n,c,l,d,u,p,s,m,g,h,b,y,v,x,k,O;return i().w(function(t){for(;;)switch(t.p=t.n){case 0:n=function(t){function o(){var t;r(this,o);var a=(t=e(this,o)).attachShadow({mode:"open"}),n=document.createElement("style");return n.textContent="\n :host {\n display: block;\n line-height: initial;\n font-size: 16px;\n }\n div.diagram {\n margin: 0;\n overflow: visible;\n }",a.appendChild(n),t}return a(o,t),n=o,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(f(HTMLElement)),void 0===customElements.get("diagram-div")&&customElements.define("diagram-div",n),c=function(t){for(var e="",r=0;r<t.childNodes.length;r++){var o=t.childNodes[r];if("code"===o.tagName.toLowerCase())for(var a=0;a<o.childNodes.length;a++){var n=o.childNodes[a];if("#text"===n.nodeName&&!/^\s*$/.test(n.nodeValue)){e=n.nodeValue;break}}}return e},l={startOnLoad:!1,theme:"default",flowchart:{useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"}},mermaid.mermaidAPI.globalReset(),d=null;try{d=document.querySelector("[data-md-color-scheme]").getAttribute("data-md-color-scheme")}catch(t){d="slate"}u="undefined"==typeof mermaidConfig?l:mermaidConfig[d]||mermaidConfig.default||l,mermaid.initialize(u),p=document.querySelectorAll("pre.".concat(o,", diagram-div")),s=document.querySelector("html body"),m=0;case 1:if(!(m<p.length)){t.n=7;break}return g=p[m],h="diagram-div"===g.tagName.toLowerCase()?g.shadowRoot.querySelector("pre.".concat(o)):g,(b=document.createElement("div")).style.visibility="hidden",b.style.display="display",b.style.padding="0",b.style.margin="0",b.style.lineHeight="initial",b.style.fontSize="16px",s.appendChild(b),t.p=2,t.n=3,mermaid.render("_diagram_".concat(m),c(h),b);case 3:y=t.v,v=y.svg,x=y.bindFunctions,(k=document.createElement("div")).className=o,k.innerHTML=v,x&&x(k),(O=document.createElement("diagram-div")).shadowRoot.appendChild(k),g.parentNode.insertBefore(O,g),h.style.display="none",O.shadowRoot.appendChild(h),h!==g&&g.parentNode.removeChild(g),t.n=5;break;case 4:t.p=4,t.v;case 5:s.contains(b)&&s.removeChild(b);case 6:m++,t.n=1;break;case 7:return t.a(2)}},t,null,[[2,4]])}),function(){var e=this,r=arguments;return new Promise(function(a,n){var i=o.apply(e,r);function c(e){t(i,a,n,c,l,"next",e)}function l(e){t(i,a,n,c,l,"throw",e)}c(void 0)})});return function(t){return n.apply(this,arguments)}}(),m=function(t,e){if("katex"===e)for(var r=document.querySelectorAll(".".concat(t)),o=0;o<r.length;o++){var a=r[o].textContent||r[o].innerText;a.startsWith("\\(")&&a.endsWith("\\)")?katex.render(a.slice(2,-2),r[o],{displayMode:!1}):a.startsWith("\\[")&&a.endsWith("\\]")&&katex.render(a.slice(2,-2),r[o],{displayMode:!0})}else"mathjax"===e&&(void 0!==MathJax.startup.output.clearCache&&MathJax.startup.output.clearCache(),MathJax.typesetClear(),MathJax.texReset(),MathJax.typesetPromise())};"mathjaxConfig"in window||(window.MathJax={tex:{inlineMath:[["\\(","\\)"]],displayMath:[["\\[","\\]"]],processEscapes:!0,processEnvironments:!0,tagSide:"right",tagIndent:".8em",multlineWidth:"85%",tags:"ams"},options:{ignoreHtmlClass:".*",processHtmlClass:"arithmatex"}}),"mermaidConfig"in window||(window.mermaidConfig={slate:{startOnLoad:!1,theme:"base",themeCSS:" * { --drac-page-bg: hsl(233, 15%, 23%); --drac-white-fg: hsl(60, 30%, 96%); --drac-purple-fg: hsl(265, 89%, 78%); --drac-purple-bg: hsl(265, 25%, 39%); --drac-yellow-fg: hsl(65, 92%, 76%); --drac-blue-fg: hsl(225, 27%, 51%); } /* General */ [id^='_diagram'] { background-color: var(--drac-page-bg); } /* Entity Relationship */ rect.relationshipLabelBox { opacity: 0.75 !important; fill: var(--drac-purple-bg) !important; } defs marker#ZERO_OR_MORE_END circle { fill: var(--drac-page-bg) !important; stroke: var(--drac-purple-fg) !important; } defs marker#ZERO_OR_MORE_END path { stroke: var(--drac-purple-fg) !important; } defs marker#ZERO_OR_MORE_START circle{ fill: var(--drac-page-bg) !important; stroke: var(--drac-purple-fg) !important; } defs marker#ZERO_OR_MORE_START path { stroke: var(--drac-purple-fg) !important; } defs marker#ONLY_ONE_START path { stroke: var(--drac-purple-fg) !important; } defs marker#ONLY_ONE_END path { stroke: var(--drac-purple-fg) !important; } defs marker#ZERO_OR_ONE_START path { stroke: var(--drac-purple-fg) !important; } defs marker#ZERO_OR_ONE_END path { stroke: var(--drac-purple-fg) !important; } defs marker#ONE_OR_MORE_START path { stroke: var(--drac-purple-fg) !important; } defs marker#ONE_OR_MORE_END path { stroke: var(--drac-purple-fg) !important; } /* Flowchart */ .labelText, :not(.branchLabel) > .label text { fill: var(--drac-purple-fg); } .edgeLabel text { fill: var(--drac-purple-fg) !important; } .edgeLabel rect { opacity: 0.75 !important; fill: var(--drac-purple-bg) !important; } .grey rect.label-container { fill: var(--drac-purple-bg) !important; stroke: var(--drac-purple-fg) !important; } /* Sequence */ line[id^='actor'] { stroke: var(--drac-blue-fg); } .noteText { fill: var(--drac-yellow-fg); } /* Gantt */ .sectionTitle { fill: var(--drac-purple-fg) !important; } .grid .tick line { stroke: var(--drac-blue-fg) !important; } .grid .tick text { fill: var(--drac-purple-fg); } /* Class Diagram */ .statediagram-state rect.divider { fill: transparent !important; } /* State Diagram */ .stateGroup circle[style$=\"fill: black;\"] { fill: var(--drac-purple-bg) !important; stroke: var(--drac-purple-bg) !important; } .stateGroup circle[style$=\"fill: white;\"] { fill: var(--drac-purple-bg) !important; stroke: var(--drac-purple-fg) !important; } .stateGroup .composit { fill: var(--drac-page-bg); } /* Pie */ text.slice { fill: var(--drac-white-fg) !important; } /* Git Graph */ .commit-bullets .commit-reverse, .commit-bullets .commit-merge, .commit-bullets .commit-highlight-inner { fill: var(--drac-page-bg) !important; stroke: var(--drac-page-bg) !important; } ",themeVariables:{darkMode:!0,background:"#323443",mainBkg:"#604b7d",textColor:"#bf95f9",lineColor:"#bf95f9",errorBkgColor:"#802c2c",errorTextColor:"#ff5757",primaryColor:"#604b7d",primaryTextColor:"#bf95f9",primaryBorderColor:"#bf95f9",secondaryColor:"#297d3e",secondaryTextColor:"#52fa7c",secondaryBorderColor:"#52fa7c",tertiaryColor:"#303952",tertiaryTextColor:"#6071a4",tertiaryBorderColor:"#6071a4",noteBkgColor:"#797d45",noteTextColor:"#f1fa89",noteBorderColor:"#f1fa89",edgeLabelBackground:"#604b7d",edgeLabelText:"#604b7d",actorLineColor:"#6071a4",activeTaskBkgColor:"#803d63",activeTaskBorderColor:"#ff7ac6",doneTaskBkgColor:"#297d3e",doneTaskBorderColor:"#52fa7c",critBkgColor:"#802c2c",critBorderColor:"#ff5757",taskTextColor:"#bf95f9",taskTextOutsideColor:"#bf95f9",taskTextLightColor:"#bf95f9",sectionBkgColor:"#bf95f9b3",sectionBkgColor2:"#bf95f966",altSectionBkgColor:"#323443",todayLineColor:"#ff7ac6",gridColor:"#6071a4",defaultLinkColor:"#8be8fd",altBackground:"#bf95f9",classText:"#bf95f9",fillType0:"#406080",fillType1:"#46747f",fillType2:"#297d3e",fillType3:"#805c36",fillType4:"#803d63",fillType5:"#604b7d",fillType6:"#802c2c",fillType7:"#797d45",fillType8:"#7c7c79",git0:"#ff5555",git1:"#ffb86c",git2:"#f1fa8c",git3:"#50fa7b",git4:"#8be9fd",git5:"#809fff",git6:"#ff79c6",git7:"#bd93f9",gitInv0:"#ff5555",gitInv1:"#ffb86c",gitInv2:"#f1fa8c",gitInv3:"#50fa7b",gitInv4:"#8be9fd",gitInv5:"#809fff",gitInv6:"#ff79c6",gitInv7:"#bd93f9",gitBranchLabel0:"#323443",gitBranchLabel1:"#323443",gitBranchLabel2:"#323443",gitBranchLabel3:"#323443",gitBranchLabel4:"#323443",gitBranchLabel5:"#323443",gitBranchLabel6:"#323443",gitBranchLabel7:"#323443",commitLabelColor:"#52fa7c",commitLabelBackground:"#297d3e"},flowchart:{useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},gantt:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}},default:{startOnLoad:!1,theme:"default",flowchart:{useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},gantt:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}}}),d=Promise.resolve(),u=Promise.resolve(),p=new MutationObserver(function(t){t.forEach(function(t){"attributes"===t.type&&(t.target.getAttribute("data-md-color-scheme"),"undefined"!=typeof mermaid&&s("diagram"))})}),window.document$.subscribe(function(){p.observe(document.querySelector("body"),{attributeFilter:["data-md-color-scheme"]}),"undefined"!=typeof mermaid&&(d=d.then(function(){s("diagram")}).catch(function(t){console.log("UML loading failed...".concat(t))})),"undefined"!=typeof katex?u=u.then(function(){m("arithmatex","katex")}).catch(function(t){console.log("Math loading failed...".concat(t))}):"undefined"!=typeof MathJax&&"typesetPromise"in MathJax&&(u=u.then(function(){m("arithmatex","mathjax")}).catch(function(t){console.log("Math loading failed...".concat(t))}))})}();
|
|
4
|
+
//# sourceMappingURL=extra-loader-Ccztcqfq.js.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{% extends "base.html" %}
|
|
2
|
+
|
|
3
|
+
{% block announce %}{% include "announce.html" ignore missing %}{% endblock %}
|
|
4
|
+
|
|
5
|
+
{% block content %}
|
|
6
|
+
{{ super() }}
|
|
7
|
+
<footer class="sponsorship">
|
|
8
|
+
<hr>
|
|
9
|
+
<a href="https://github.com/sponsors/facelessuser" title="Become a sponsor">
|
|
10
|
+
<span class="twemoji heart-throb-hover">
|
|
11
|
+
{% set icon = "octicons/heart-fill-16" %}
|
|
12
|
+
{% include ".icons/" ~ icon ~ ".svg" %}
|
|
13
|
+
</span>
|
|
14
|
+
</a>
|
|
15
|
+
<hr>
|
|
16
|
+
</footer>
|
|
17
|
+
{% endblock %}
|
|
@@ -123,7 +123,10 @@ class TestSearchTemplate(unittest.TestCase):
|
|
|
123
123
|
try:
|
|
124
124
|
from regex import _cache
|
|
125
125
|
except ImportError:
|
|
126
|
-
|
|
126
|
+
try:
|
|
127
|
+
from regex.regex import _cache
|
|
128
|
+
except ImportError:
|
|
129
|
+
from regex._main import _cache
|
|
127
130
|
|
|
128
131
|
bregex.purge()
|
|
129
132
|
self.assertEqual(bregex._get_cache_size(), 0)
|
|
Binary file
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""Download `Unicodedata` files."""
|
|
2
2
|
import os
|
|
3
3
|
import zipfile
|
|
4
|
-
import codecs
|
|
5
4
|
from urllib.request import urlopen
|
|
6
5
|
|
|
7
6
|
__version__ = '2.2.0'
|
|
@@ -100,7 +99,7 @@ def download_unicodedata(version, output=HOME, no_zip=False):
|
|
|
100
99
|
except Exception:
|
|
101
100
|
print('Failed: %s' % url)
|
|
102
101
|
continue
|
|
103
|
-
with
|
|
102
|
+
with open(file_location, 'w', encoding='utf-8') as uf:
|
|
104
103
|
uf.write(data.decode('utf-8'))
|
|
105
104
|
retrieved = True
|
|
106
105
|
break
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
--8<-- "SECURITY.md"
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
<a href="{{ 'about/contributing/#become-a-sponsor' | url }}">Sponsorship</a>
|
|
2
|
-
is now available!
|
|
3
|
-
<span class="twemoji heart-throb">
|
|
4
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M7.655 14.916L8 14.25l.345.666a.752.752 0 01-.69 0zm0 0L8 14.25l.345.666.002-.001.006-.003.018-.01a7.643 7.643 0 00.31-.17 22.08 22.08 0 003.433-2.414C13.956 10.731 16 8.35 16 5.5 16 2.836 13.914 1 11.75 1 10.203 1 8.847 1.802 8 3.02 7.153 1.802 5.797 1 4.25 1 2.086 1 0 2.836 0 5.5c0 2.85 2.045 5.231 3.885 6.818a22.075 22.075 0 003.744 2.584l.018.01.006.003h.002z"/></svg>
|
|
5
|
-
</span>
|
backrefs-6.0.1/mkdocs.yml
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
site_name: Backrefs Documentation
|
|
2
|
-
site_url: https://facelessuser.github.io/backrefs
|
|
3
|
-
repo_url: https://github.com/facelessuser/backrefs
|
|
4
|
-
edit_uri: tree/master/docs/src/markdown
|
|
5
|
-
site_description: A library to add additional back references to regular expressions.
|
|
6
|
-
copyright: |
|
|
7
|
-
Copyright © 2015 - 2025 <a href="https://github.com/facelessuser" target="_blank" rel="noopener">Isaac Muse</a>
|
|
8
|
-
|
|
9
|
-
docs_dir: docs/src/markdown
|
|
10
|
-
theme:
|
|
11
|
-
name: material
|
|
12
|
-
custom_dir: docs/theme
|
|
13
|
-
icon:
|
|
14
|
-
logo: material/book-open-page-variant
|
|
15
|
-
palette:
|
|
16
|
-
primary: deep purple
|
|
17
|
-
accent: deep purple
|
|
18
|
-
font:
|
|
19
|
-
text: Roboto
|
|
20
|
-
code: Roboto Mono
|
|
21
|
-
features:
|
|
22
|
-
- navigation.tabs
|
|
23
|
-
- navigation.top
|
|
24
|
-
- navigation.instant
|
|
25
|
-
- navigation.sections
|
|
26
|
-
- navigation.indexes
|
|
27
|
-
- toc.follow
|
|
28
|
-
- content.code.copy
|
|
29
|
-
- navigation.footer
|
|
30
|
-
- search.share
|
|
31
|
-
- search.highlight
|
|
32
|
-
- search.suggest
|
|
33
|
-
pymdownx:
|
|
34
|
-
sponsor: "https://github.com/sponsors/facelessuser"
|
|
35
|
-
|
|
36
|
-
nav:
|
|
37
|
-
- Getting Started:
|
|
38
|
-
- Installation: index.md
|
|
39
|
-
- Usage: usage.md
|
|
40
|
-
- Supported References: refs.md
|
|
41
|
-
- About:
|
|
42
|
-
- Contributing & Support: about/contributing.md
|
|
43
|
-
- Security Vulnerabilities: about/security.md
|
|
44
|
-
- Changelog: about/changelog.md
|
|
45
|
-
- License: about/license.md
|
|
46
|
-
|
|
47
|
-
markdown_extensions:
|
|
48
|
-
- markdown.extensions.toc:
|
|
49
|
-
slugify: !!python/object/apply:pymdownx.slugs.slugify {kwds: {case: lower}}
|
|
50
|
-
permalink: ""
|
|
51
|
-
- markdown.extensions.smarty:
|
|
52
|
-
smart_quotes: false
|
|
53
|
-
- pymdownx.betterem:
|
|
54
|
-
- markdown.extensions.attr_list:
|
|
55
|
-
- markdown.extensions.tables:
|
|
56
|
-
- markdown.extensions.abbr:
|
|
57
|
-
- markdown.extensions.md_in_html:
|
|
58
|
-
- pymdownx.superfences:
|
|
59
|
-
- pymdownx.highlight:
|
|
60
|
-
extend_pygments_lang:
|
|
61
|
-
- name: php-inline
|
|
62
|
-
lang: php
|
|
63
|
-
options:
|
|
64
|
-
startinline: true
|
|
65
|
-
- name: pycon3
|
|
66
|
-
lang: pycon
|
|
67
|
-
options:
|
|
68
|
-
python3: true
|
|
69
|
-
- pymdownx.inlinehilite:
|
|
70
|
-
- pymdownx.magiclink:
|
|
71
|
-
repo_url_shortener: true
|
|
72
|
-
repo_url_shorthand: true
|
|
73
|
-
social_url_shorthand: true
|
|
74
|
-
user: facelessuser
|
|
75
|
-
repo: backrefs
|
|
76
|
-
- pymdownx.tilde:
|
|
77
|
-
- pymdownx.caret:
|
|
78
|
-
- pymdownx.smartsymbols:
|
|
79
|
-
- pymdownx.emoji:
|
|
80
|
-
emoji_index: !!python/name:material.extensions.emoji.twemoji
|
|
81
|
-
emoji_generator: !!python/name:material.extensions.emoji.to_svg
|
|
82
|
-
- pymdownx.escapeall:
|
|
83
|
-
hardbreak: True
|
|
84
|
-
nbsp: True
|
|
85
|
-
- pymdownx.tasklist:
|
|
86
|
-
custom_checkbox: true
|
|
87
|
-
- pymdownx.progressbar:
|
|
88
|
-
- pymdownx.mark:
|
|
89
|
-
- pymdownx.striphtml:
|
|
90
|
-
- pymdownx.snippets:
|
|
91
|
-
base_path:
|
|
92
|
-
- docs/src/markdown/.snippets
|
|
93
|
-
- LICENSE.md
|
|
94
|
-
- SECURITY.md
|
|
95
|
-
auto_append:
|
|
96
|
-
- links.md
|
|
97
|
-
- pymdownx.keys:
|
|
98
|
-
separator: "\uff0b"
|
|
99
|
-
- pymdownx.saneheaders:
|
|
100
|
-
- pymdownx.blocks.admonition:
|
|
101
|
-
types:
|
|
102
|
-
- new
|
|
103
|
-
- settings
|
|
104
|
-
- note
|
|
105
|
-
- abstract
|
|
106
|
-
- info
|
|
107
|
-
- tip
|
|
108
|
-
- success
|
|
109
|
-
- question
|
|
110
|
-
- warning
|
|
111
|
-
- failure
|
|
112
|
-
- danger
|
|
113
|
-
- bug
|
|
114
|
-
- example
|
|
115
|
-
- quote
|
|
116
|
-
- pymdownx.blocks.details:
|
|
117
|
-
types:
|
|
118
|
-
- name: details-new
|
|
119
|
-
class: new
|
|
120
|
-
- name: details-settings
|
|
121
|
-
class: settings
|
|
122
|
-
- name: details-note
|
|
123
|
-
class: note
|
|
124
|
-
- name: details-abstract
|
|
125
|
-
class: abstract
|
|
126
|
-
- name: details-info
|
|
127
|
-
class: info
|
|
128
|
-
- name: details-tip
|
|
129
|
-
class: tip
|
|
130
|
-
- name: details-success
|
|
131
|
-
class: success
|
|
132
|
-
- name: details-question
|
|
133
|
-
class: question
|
|
134
|
-
- name: details-warning
|
|
135
|
-
class: warning
|
|
136
|
-
- name: details-failure
|
|
137
|
-
class: failure
|
|
138
|
-
- name: details-danger
|
|
139
|
-
class: danger
|
|
140
|
-
- name: details-bug
|
|
141
|
-
class: bug
|
|
142
|
-
- name: details-example
|
|
143
|
-
class: example
|
|
144
|
-
- name: details-quote
|
|
145
|
-
class: quote
|
|
146
|
-
- pymdownx.blocks.html:
|
|
147
|
-
- pymdownx.blocks.definition:
|
|
148
|
-
- pymdownx.blocks.tab:
|
|
149
|
-
alternate_style: True
|
|
150
|
-
|
|
151
|
-
extra:
|
|
152
|
-
social:
|
|
153
|
-
- icon: fontawesome/brands/github
|
|
154
|
-
link: https://github.com/facelessuser
|
|
155
|
-
|
|
156
|
-
plugins:
|
|
157
|
-
- search
|
|
158
|
-
- git-revision-date-localized:
|
|
159
|
-
fallback_to_build_date: true
|
|
160
|
-
strict: false
|
|
161
|
-
- minify:
|
|
162
|
-
minify_html: true
|
|
163
|
-
- mkdocs_pymdownx_material_extras
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|