From ed399acdbb20c5889d9b13e803b95bda0c0ca919 Mon Sep 17 00:00:00 2001 From: GHA Date: Fri, 13 Oct 2023 12:37:18 +0000 Subject: [PATCH] update b9e9cd255810eed8c6194b96688faae903dd0be3 --- .buildinfo | 4 + .nojekyll | 0 _sources/index.md.txt | 9 + _sources/introduction.md.txt | 8 + _sources/protoplaster.rst.txt | 44 ++ _sources/readme.md.txt | 142 ++++ .../01f7dd5ea3a940280cffaeebec021186.woff2 | Bin 0 -> 13224 bytes .../074b8d567b2ae725c8bff34c5e4c8371.woff2 | Bin 0 -> 5960 bytes .../0929de23dbe2f3e25da615c07653d375.woff2 | Bin 0 -> 7180 bytes .../0948409a22b5979aa7e1ec20da9e61f1.woff2 | Bin 0 -> 5604 bytes .../0b68e8634c96265eb32a0c769416b5b0.woff2 | Bin 0 -> 5928 bytes .../0cd743c8229783bfeeca8424b7955c85.ttf | Bin 0 -> 24588 bytes .../0d1b73eee266eabb2cff35dfa4ce25a3.woff2 | Bin 0 -> 16812 bytes .../0df1db459ed5bbbe7b8422b14ec3dc5a.woff2 | Bin 0 -> 9228 bytes .../0e326670106c8eb6a11a8c30734ecfc8.ttf | Bin 0 -> 23124 bytes .../0ec3cc19652785204ea2e322330f0f1b.woff2 | Bin 0 -> 16164 bytes .../0f303f31706d39866cced9dcc17b61fb.woff2 | Bin 0 -> 15764 bytes .../10b31f4cad9ea78d43449886bfbb88ac.woff2 | Bin 0 -> 11804 bytes .../1383417807f7965daaf94e7c497dcddb.woff2 | Bin 0 -> 7704 bytes .../13f5327686829f02f7ea9758225a4f22.woff2 | Bin 0 -> 13244 bytes .../144860ed1e48e186f08997e6388a9c3f.woff2 | Bin 0 -> 1512 bytes .../15b41d418028ca9cea3b2aa4b9ebedae.woff2 | Bin 0 -> 13384 bytes .../172e5271813af181d39c37e203a5bc0d.woff2 | Bin 0 -> 13416 bytes .../1c9cc76fd52238330f0aabac35acd2ca.woff2 | Bin 0 -> 6936 bytes .../1dab60a9de84c137d9da15f3f5ecfbdd.woff2 | Bin 0 -> 13072 bytes .../1dc728be60f6ad936a2ba35272b7352f.woff2 | Bin 0 -> 4416 bytes .../200d794c6864e2c66d9e08baf310354a.woff2 | Bin 0 -> 8528 bytes .../20335b011def98633d5c0107527e39a2.woff2 | Bin 0 -> 4012 bytes .../2096d27efc16cbdd79183bf295c8ebde.ttf | Bin 0 -> 21352 bytes .../20dc200cc43ab904876fb0c1697ebe39.woff2 | Bin 0 -> 1480 bytes .../21953b998bab09c1f60c599caee56378.woff2 | Bin 0 -> 7696 bytes .../2467f3d377f263e0c52202d8999f779f.woff2 | Bin 0 -> 4096 bytes .../2547210dc31119edaf7c10bfd90873c4.ttf | Bin 0 -> 24644 bytes .../2550c2e2d8495c3ed2d4d52f824374f1.woff2 | Bin 0 -> 7040 bytes .../2781e9e7c3f369b8fc7965e679b17b60.woff2 | Bin 0 -> 11756 bytes .../28e6b81b1bc1964707edd4179e4268f5.ttf | Bin 0 -> 23416 bytes .../2931bb8caf76b169bbaa7a1cdc713c52.woff2 | Bin 0 -> 14692 bytes .../295c5d629ee2a015c65c859c6d085a78.woff2 | Bin 0 -> 4304 bytes .../2a8c422bef4a7099e99dbf0e61ed5e49.woff2 | Bin 0 -> 7460 bytes .../2aadfad5aee7ceeaf4eb0924efabe5b4.ttf | Bin 0 -> 21772 bytes .../2ab75783ac5d62ae726f80e5ff075d0b.woff2 | Bin 0 -> 12532 bytes .../2e10480d4154762bc7c8fbb40877e104.woff2 | Bin 0 -> 5928 bytes .../2ea7a97b7c976b121112a088eb398561.woff2 | Bin 0 -> 7700 bytes .../2f5c32f094829c0278bce28fe2bbe074.ttf | Bin 0 -> 23204 bytes .../30cc1ce9fa87bb98d89585ac4fa06bb0.woff2 | Bin 0 -> 7304 bytes .../3254c528e2ab56454a9f22191035c5fe.ttf | Bin 0 -> 21356 bytes .../35f9fdda2c2743f6627be0564228acc6.woff2 | Bin 0 -> 13636 bytes .../3728fbdd191d75bad5b83a838dfe2fc1.woff2 | Bin 0 -> 9840 bytes .../38c91fb22b5222a3cb655eefa76aa580.woff2 | Bin 0 -> 5964 bytes .../38f3ee1f96b758f95672c632d8759594.ttf | Bin 0 -> 23172 bytes .../3a38c967413f7bce36d3baefc321aade.woff2 | Bin 0 -> 5468 bytes .../3b841aa8231441b571d7fe89dddf77af.woff2 | Bin 0 -> 13396 bytes .../3c23eb02de6b34e30f18cfb7167abd81.woff2 | Bin 0 -> 11872 bytes .../3c505383d37d2078648e37868bbd1fad.woff2 | Bin 0 -> 14684 bytes .../3cf78ad3bcd1324e10a4acdc34bfc4a1.woff2 | Bin 0 -> 17552 bytes .../3db537f0f9e4c33919cbbf1fb83b33c0.woff2 | Bin 0 -> 13800 bytes .../3e7239b06be52a3f0b994c16a9d3798e.woff2 | Bin 0 -> 13524 bytes .../3eda37ac03f31d961f8e70cde4304de3.woff2 | Bin 0 -> 5592 bytes .../3f1918538864f9681d47a4538d48289c.woff2 | Bin 0 -> 5876 bytes .../4145adc9f3a9c9b8584cc308a2129e46.woff2 | Bin 0 -> 9544 bytes .../417fca856937c344124f5adb3a856112.woff2 | Bin 0 -> 5600 bytes .../435e4b7f9f250d9d9243d4754799fc96.woff2 | Bin 0 -> 15000 bytes .../4389aee435f923891bf8a427f50bd4e1.woff2 | Bin 0 -> 6076 bytes .../455c2c1af0a2bf20047a1864d7d7c174.woff2 | Bin 0 -> 7120 bytes .../46a8339fd4a7d134161ebd355a7883b9.woff2 | Bin 0 -> 8684 bytes .../47aa3bfad6cb9e2d63abdd58f4e6ce4f.woff2 | Bin 0 -> 9576 bytes .../495d38d4b9741e8aa4204002414069e2.woff2 | Bin 0 -> 9628 bytes .../4b890498985447b67a3e12c82bc57f0f.woff2 | Bin 0 -> 12464 bytes .../4c815fdc869f885520f7c8eae6730edf.woff2 | Bin 0 -> 16608 bytes .../4e43499d34730944aa65ae7c5ced3b20.woff2 | Bin 0 -> 7120 bytes .../4ec57f2a80b91090971b83970230ca09.woff2 | Bin 0 -> 5548 bytes .../4f17f22fc6bff4f3333ccf7ed7126e6d.woff2 | Bin 0 -> 1464 bytes .../50aacf068f685be0dd903a91d5bab7d8.woff2 | Bin 0 -> 1508 bytes .../51f3f41805329fb8341beb56ded833ea.woff2 | Bin 0 -> 5468 bytes .../52542fc0ae68a44edcc65b5d617ad7ba.woff2 | Bin 0 -> 8724 bytes .../53a8927b56f2d37222e0bd3eda259e3a.woff2 | Bin 0 -> 5552 bytes .../563c81ae49c8ce068ced9fafd0ca10c0.ttf | Bin 0 -> 22632 bytes .../5a00c3a92cc3dc5991803c5f5d3b00c6.woff2 | Bin 0 -> 5544 bytes .../5b6377da4c959db6d4b22738a27f1bee.woff2 | Bin 0 -> 1432 bytes .../5d7ff31ac7bf945e8d61878f8a941239.woff2 | Bin 0 -> 1460 bytes .../5e12ebdc4e639ee69a663d1519fe9cde.woff2 | Bin 0 -> 12496 bytes .../5e2b95768145c83761b81c69bb4a94fe.woff2 | Bin 0 -> 14396 bytes .../5eb0af7f87e9cc7ffa6095b8fa4f3032.woff2 | Bin 0 -> 9308 bytes .../60f70fb650c2b63583c8614ebb283710.woff2 | Bin 0 -> 8704 bytes .../6103c674630022f417255c8ba4825278.woff2 | Bin 0 -> 4176 bytes .../61ec43c10580a450c2e07d1e30dfc789.ttf | Bin 0 -> 22876 bytes .../6230ef31039d7f3fb52d5dbad45d940d.woff2 | Bin 0 -> 14068 bytes .../63111d307c01b52ffccf7b0319cb7917.woff2 | Bin 0 -> 1540 bytes .../638764dc2513deb09c55fc025f6dd36c.woff2 | Bin 0 -> 9180 bytes .../6409c2f1e9c5b56be08202098bb2524a.woff2 | Bin 0 -> 7972 bytes .../64a6b4e954cf84685cbf8de77eb47344.woff2 | Bin 0 -> 12572 bytes .../65dc899da5f426374d1726c711bf5d60.woff2 | Bin 0 -> 5808 bytes .../661d4b208656c006e7aab58acf778485.woff2 | Bin 0 -> 17336 bytes .../68317d8e2894afc1db19d983b668a4a8.woff2 | Bin 0 -> 4004 bytes .../6a84eeee6a25e7c9a8a03191007a6720.woff2 | Bin 0 -> 9644 bytes .../6be97ca17228a69c406231d89c003194.woff2 | Bin 0 -> 17032 bytes .../6c5944e94815ca8fe95f324c8935ae89.ttf | Bin 0 -> 24468 bytes .../6de03a64aa8100032abc6e836b3ed803.ttf | Bin 0 -> 23520 bytes .../6deb20301c65a96db17c433ad0cf8158.woff2 | Bin 0 -> 10640 bytes .../713780d8b30bda5583052ea847cdcb4f.woff2 | Bin 0 -> 7016 bytes .../7193cc013dd022128a79d12e1ee55259.woff2 | Bin 0 -> 5912 bytes .../7295944e0067d71c5d5276d397dc0299.woff2 | Bin 0 -> 12312 bytes .../76945c7494c20515bb45d1dedab8f706.woff2 | Bin 0 -> 10428 bytes .../76da333ab59c6d625cabfb0768f82b4a.woff2 | Bin 0 -> 1464 bytes .../77b24796a3d4ab521f66765651875338.woff2 | Bin 0 -> 5560 bytes .../77bd570cc68791d9e1fbb95e2034bf8a.woff2 | Bin 0 -> 13580 bytes .../795ecf955449eb1e7d9f2cc43dd5fa68.woff2 | Bin 0 -> 4008 bytes .../7af61b2367eba2b1852e837c46a75696.woff2 | Bin 0 -> 12848 bytes .../7b63598dcc2a26583b82594bd0e36d5b.woff2 | Bin 0 -> 5760 bytes .../7d769ad598b6095a19db0e0a2cd9f450.woff2 | Bin 0 -> 13772 bytes .../7e1d33bf3f9fe285f83c1a485f18b583.woff2 | Bin 0 -> 13476 bytes .../7e262106f82cc52663e403f5b73795bb.woff2 | Bin 0 -> 15752 bytes .../7e9aa420cbd963169c49f201864bfba9.woff2 | Bin 0 -> 9380 bytes .../7f1c829b0c90fd664a03bb714a74f7d3.woff2 | Bin 0 -> 11800 bytes .../8007dfe835cfb201b8caaa9651098588.woff2 | Bin 0 -> 1428 bytes .../807749a67ac33dbc70e748da86557cc3.woff2 | Bin 0 -> 7996 bytes .../80db6a6613adf22a1869c4799ea2f1ae.ttf | Bin 0 -> 22916 bytes .../820adbd147a74a804a99d175490b0374.woff2 | Bin 0 -> 8588 bytes .../84e959dd07f302392f0ffd86f87db888.ttf | Bin 0 -> 21452 bytes .../85f820d1779b166833bf4aeed58a54e2.woff2 | Bin 0 -> 4368 bytes .../86e5fc32c3fabb4c8b5f8c93e59ee11a.ttf | Bin 0 -> 24496 bytes .../8a91da79b9104e2c4d92262b319f21e0.ttf | Bin 0 -> 22968 bytes .../8aa562790559d61dd5178a88a296d70f.ttf | Bin 0 -> 23252 bytes .../8c367f2f5106c68d2d048b57ce68e1e9.woff2 | Bin 0 -> 7064 bytes .../8c3798e37724f71bc0c63c44a5307413.woff2 | Bin 0 -> 7012 bytes .../8c49ed8b472d38d3985ec9bbbccea601.ttf | Bin 0 -> 21560 bytes .../8e341974306d14ed343e2fbff9a53f42.ttf | Bin 0 -> 24576 bytes .../8e48cf20cf9f9e5feb7197c79028132b.woff2 | Bin 0 -> 14688 bytes .../8eb1d9e13869b563c46fb8530492b568.woff2 | Bin 0 -> 12652 bytes .../900a410e022f87cb59f5a47ce6f56432.woff2 | Bin 0 -> 8100 bytes .../909c37ced6d37e581afde757434a03c1.woff2 | Bin 0 -> 8768 bytes .../9582ced8a675bf267cc7ac392a86413e.woff2 | Bin 0 -> 12704 bytes .../96a0339932326660377f81999133c64a.woff2 | Bin 0 -> 7208 bytes .../985183374c063ebff121355e53a40d42.woff2 | Bin 0 -> 14688 bytes .../9ae137cbb18380bf07577a1605561fd7.woff2 | Bin 0 -> 13572 bytes .../9fdb12ceee3a402d3a54afe354552459.woff2 | Bin 0 -> 9700 bytes .../a2069ecff1eda32bfd661305e2f36d7b.woff2 | Bin 0 -> 5480 bytes .../a61ed7a6829269d7e052888fd0c45278.woff2 | Bin 0 -> 4064 bytes .../a6933e678530b263486fa7b185a449ca.woff2 | Bin 0 -> 10292 bytes .../a6caf7b9888eb0c382948c1ca5e8bebb.woff2 | Bin 0 -> 16676 bytes .../aa89e6e8885dcae234760c48811bf7f2.woff2 | Bin 0 -> 14440 bytes .../ac848474638236e67a64bc654fb18de0.ttf | Bin 0 -> 21464 bytes .../acaac043ca238f0e56e61864456777fa.woff2 | Bin 0 -> 12620 bytes .../aeed0e51b0bac7c89e5c7e6cf086d7e0.woff2 | Bin 0 -> 14968 bytes .../b019538234514166ec7665359d097403.woff2 | Bin 0 -> 15920 bytes .../b076e86301cbee8c5c9aef51863a9c0a.woff2 | Bin 0 -> 11796 bytes .../b19ac4e57f2a56639eebd1c35319e5a7.woff2 | Bin 0 -> 17060 bytes .../b2819b2c837bd6bd1b9cb395f8df3843.woff2 | Bin 0 -> 5576 bytes .../b38eddb9c17441d7ab525d02cd26d636.woff2 | Bin 0 -> 7208 bytes .../b3a1fba350d44a3c770d0b76d6a16b88.woff2 | Bin 0 -> 7060 bytes .../b57a5ada789f195d5d42f4073a6cf313.woff2 | Bin 0 -> 9960 bytes .../b5b4146d87e5d22d0a4e0d04f3ee5626.woff2 | Bin 0 -> 1512 bytes .../b61eb8a57b2ec5fb29944f8ce1c97cf9.woff2 | Bin 0 -> 8564 bytes .../b78043f9749bd20519ab058c7406bc72.woff2 | Bin 0 -> 7972 bytes .../b7ef2cd1159a8cbfd271ff2abe07f237.woff2 | Bin 0 -> 15344 bytes .../b8dffd9c927991099ca922d84978218b.ttf | Bin 0 -> 22568 bytes .../bb8007225d94a099cddbade7ea904667.woff2 | Bin 0 -> 17508 bytes .../bbff990472c58bd770da05122ae75a40.woff2 | Bin 0 -> 14620 bytes .../bd7de91e007298f6a5ed797946e7a71a.woff2 | Bin 0 -> 4096 bytes .../bdbb6b52604c2451fdcba9cdfd44f4e1.woff2 | Bin 0 -> 5972 bytes .../be6d358cd81531fdaba0d50b7497c06e.woff2 | Bin 0 -> 9532 bytes .../bfd1a0c9c783e84595589f33e1828a57.woff2 | Bin 0 -> 12832 bytes .../c1a1bb08a6ffc8cae99ac1cdd21f7f17.woff2 | Bin 0 -> 8056 bytes .../c878a16e7378b5a68d0ad016d662e8ef.woff2 | Bin 0 -> 5916 bytes .../c8a9fd4eab4e83382cc66fde70911b41.woff2 | Bin 0 -> 10076 bytes .../ca7eea0cf248d6e8442c01074765bd33.woff2 | Bin 0 -> 5388 bytes .../caeab9402973f7d4f015dec5b96de2fe.ttf | Bin 0 -> 24316 bytes .../ccdebed88064e470c15f37c432922e57.woff2 | Bin 0 -> 16024 bytes .../cf1efdbab32900aceeaf2b96d5bf81f3.ttf | Bin 0 -> 24644 bytes .../d1a250a2ded3d0163ab48631002a17a6.ttf | Bin 0 -> 22636 bytes .../d368cf5bed7856dbafa2af36b51acb9c.woff2 | Bin 0 -> 1484 bytes .../d38cfa805b7f55c16a814fd600cfe01e.woff2 | Bin 0 -> 9236 bytes .../d9969ba81c6c90033c43522c3a5d340f.woff2 | Bin 0 -> 6100 bytes .../da6cd48e6dad1888fccc91735e7522f7.woff2 | Bin 0 -> 10652 bytes .../daf12b5f1889502004bba85ad71f9fa4.woff2 | Bin 0 -> 7540 bytes .../daf51ab540602b2d0b87646621637bac.woff2 | Bin 0 -> 7112 bytes .../db0424fb67fb52e7e538490240cc7fb9.woff2 | Bin 0 -> 17368 bytes .../de9e9de8ec65e749746ae68352b9b40e.woff2 | Bin 0 -> 4332 bytes .../def9893cb6c0eab16839ccdbf0d87589.woff2 | Bin 0 -> 12276 bytes .../e1e650a22efdfbcea04847ef18efe3e8.ttf | Bin 0 -> 22700 bytes .../e33716333704ab19fdf9989e072ad49a.woff2 | Bin 0 -> 5928 bytes .../e56cc9fb5272752b78f144b4be43175d.woff2 | Bin 0 -> 7608 bytes .../e704ef18719c08839bc99a32437ef0f8.woff2 | Bin 0 -> 16700 bytes .../ec35b4eeeb5e03e71a785c7680482210.woff2 | Bin 0 -> 7752 bytes .../eef02d41c7e52c675639d96780027e20.woff2 | Bin 0 -> 13016 bytes .../ef8f0236a7e8b46bc9d642ecf4ab0cb7.woff2 | Bin 0 -> 1500 bytes .../f04db0d35186136e620dd5c932c0ff9d.woff2 | Bin 0 -> 5604 bytes .../f265cee675c0e5b2d6ab263d0edcc754.woff2 | Bin 0 -> 14856 bytes .../f2b0a81bcb968b70b102e80e32d24201.woff2 | Bin 0 -> 8812 bytes .../f36dc896fb09865be4d6c43d45e7a572.woff2 | Bin 0 -> 4284 bytes .../f3751f78f397e664161ffb6348e7d164.woff2 | Bin 0 -> 4416 bytes .../f532f67c5570a41090076a55791464be.woff2 | Bin 0 -> 12696 bytes .../f53f3b5a15d717b6d21d7885285e90ed.woff2 | Bin 0 -> 12864 bytes .../f5aebdfea35d1e7656ef4acc5db1f243.woff2 | Bin 0 -> 15860 bytes .../f6734f8177112c0839b961f96d813fcb.woff2 | Bin 0 -> 15744 bytes .../f75911313e1c7802c23345ab57e754d8.woff2 | Bin 0 -> 15740 bytes .../f8d16b9d7e547f1baa523058aec33fd2.woff2 | Bin 0 -> 14548 bytes .../f9b1975bd46da26587c66284279a699e.woff2 | Bin 0 -> 7968 bytes .../fc66f942651a9fe1a598770d3d896529.woff2 | Bin 0 -> 11824 bytes .../fccc62f759224674f478ad4e40ef7d93.woff2 | Bin 0 -> 4084 bytes _static/language_data.js | 199 ++++++ ..._immaterial_theme.1b5b7a2d5891aec19.min.js | 27 + ...immaterial_theme.a60204c58f5e4ff66.min.css | 4 + _static/white.svg | 54 ++ genindex.html | 376 ++++++++++ index.html | 414 +++++++++++ introduction.html | 423 ++++++++++++ objects.inv | Bin 0 -> 310 bytes protoplaster--docs-example.pdf | Bin 0 -> 150936 bytes protoplaster.html | 488 +++++++++++++ readme.html | 644 ++++++++++++++++++ searchindex.js | 1 + 212 files changed, 2837 insertions(+) create mode 100644 .buildinfo create mode 100644 .nojekyll create mode 100644 _sources/index.md.txt create mode 100644 _sources/introduction.md.txt create mode 100644 _sources/protoplaster.rst.txt create mode 100644 _sources/readme.md.txt create mode 100644 _static/fonts/01f7dd5ea3a940280cffaeebec021186.woff2 create mode 100644 _static/fonts/074b8d567b2ae725c8bff34c5e4c8371.woff2 create mode 100644 _static/fonts/0929de23dbe2f3e25da615c07653d375.woff2 create mode 100644 _static/fonts/0948409a22b5979aa7e1ec20da9e61f1.woff2 create mode 100644 _static/fonts/0b68e8634c96265eb32a0c769416b5b0.woff2 create mode 100644 _static/fonts/0cd743c8229783bfeeca8424b7955c85.ttf create mode 100644 _static/fonts/0d1b73eee266eabb2cff35dfa4ce25a3.woff2 create mode 100644 _static/fonts/0df1db459ed5bbbe7b8422b14ec3dc5a.woff2 create mode 100644 _static/fonts/0e326670106c8eb6a11a8c30734ecfc8.ttf create mode 100644 _static/fonts/0ec3cc19652785204ea2e322330f0f1b.woff2 create mode 100644 _static/fonts/0f303f31706d39866cced9dcc17b61fb.woff2 create mode 100644 _static/fonts/10b31f4cad9ea78d43449886bfbb88ac.woff2 create mode 100644 _static/fonts/1383417807f7965daaf94e7c497dcddb.woff2 create mode 100644 _static/fonts/13f5327686829f02f7ea9758225a4f22.woff2 create mode 100644 _static/fonts/144860ed1e48e186f08997e6388a9c3f.woff2 create mode 100644 _static/fonts/15b41d418028ca9cea3b2aa4b9ebedae.woff2 create mode 100644 _static/fonts/172e5271813af181d39c37e203a5bc0d.woff2 create mode 100644 _static/fonts/1c9cc76fd52238330f0aabac35acd2ca.woff2 create mode 100644 _static/fonts/1dab60a9de84c137d9da15f3f5ecfbdd.woff2 create mode 100644 _static/fonts/1dc728be60f6ad936a2ba35272b7352f.woff2 create mode 100644 _static/fonts/200d794c6864e2c66d9e08baf310354a.woff2 create mode 100644 _static/fonts/20335b011def98633d5c0107527e39a2.woff2 create mode 100644 _static/fonts/2096d27efc16cbdd79183bf295c8ebde.ttf create mode 100644 _static/fonts/20dc200cc43ab904876fb0c1697ebe39.woff2 create mode 100644 _static/fonts/21953b998bab09c1f60c599caee56378.woff2 create mode 100644 _static/fonts/2467f3d377f263e0c52202d8999f779f.woff2 create mode 100644 _static/fonts/2547210dc31119edaf7c10bfd90873c4.ttf create mode 100644 _static/fonts/2550c2e2d8495c3ed2d4d52f824374f1.woff2 create mode 100644 _static/fonts/2781e9e7c3f369b8fc7965e679b17b60.woff2 create mode 100644 _static/fonts/28e6b81b1bc1964707edd4179e4268f5.ttf create mode 100644 _static/fonts/2931bb8caf76b169bbaa7a1cdc713c52.woff2 create mode 100644 _static/fonts/295c5d629ee2a015c65c859c6d085a78.woff2 create mode 100644 _static/fonts/2a8c422bef4a7099e99dbf0e61ed5e49.woff2 create mode 100644 _static/fonts/2aadfad5aee7ceeaf4eb0924efabe5b4.ttf create mode 100644 _static/fonts/2ab75783ac5d62ae726f80e5ff075d0b.woff2 create mode 100644 _static/fonts/2e10480d4154762bc7c8fbb40877e104.woff2 create mode 100644 _static/fonts/2ea7a97b7c976b121112a088eb398561.woff2 create mode 100644 _static/fonts/2f5c32f094829c0278bce28fe2bbe074.ttf create mode 100644 _static/fonts/30cc1ce9fa87bb98d89585ac4fa06bb0.woff2 create mode 100644 _static/fonts/3254c528e2ab56454a9f22191035c5fe.ttf create mode 100644 _static/fonts/35f9fdda2c2743f6627be0564228acc6.woff2 create mode 100644 _static/fonts/3728fbdd191d75bad5b83a838dfe2fc1.woff2 create mode 100644 _static/fonts/38c91fb22b5222a3cb655eefa76aa580.woff2 create mode 100644 _static/fonts/38f3ee1f96b758f95672c632d8759594.ttf create mode 100644 _static/fonts/3a38c967413f7bce36d3baefc321aade.woff2 create mode 100644 _static/fonts/3b841aa8231441b571d7fe89dddf77af.woff2 create mode 100644 _static/fonts/3c23eb02de6b34e30f18cfb7167abd81.woff2 create mode 100644 _static/fonts/3c505383d37d2078648e37868bbd1fad.woff2 create mode 100644 _static/fonts/3cf78ad3bcd1324e10a4acdc34bfc4a1.woff2 create mode 100644 _static/fonts/3db537f0f9e4c33919cbbf1fb83b33c0.woff2 create mode 100644 _static/fonts/3e7239b06be52a3f0b994c16a9d3798e.woff2 create mode 100644 _static/fonts/3eda37ac03f31d961f8e70cde4304de3.woff2 create mode 100644 _static/fonts/3f1918538864f9681d47a4538d48289c.woff2 create mode 100644 _static/fonts/4145adc9f3a9c9b8584cc308a2129e46.woff2 create mode 100644 _static/fonts/417fca856937c344124f5adb3a856112.woff2 create mode 100644 _static/fonts/435e4b7f9f250d9d9243d4754799fc96.woff2 create mode 100644 _static/fonts/4389aee435f923891bf8a427f50bd4e1.woff2 create mode 100644 _static/fonts/455c2c1af0a2bf20047a1864d7d7c174.woff2 create mode 100644 _static/fonts/46a8339fd4a7d134161ebd355a7883b9.woff2 create mode 100644 _static/fonts/47aa3bfad6cb9e2d63abdd58f4e6ce4f.woff2 create mode 100644 _static/fonts/495d38d4b9741e8aa4204002414069e2.woff2 create mode 100644 _static/fonts/4b890498985447b67a3e12c82bc57f0f.woff2 create mode 100644 _static/fonts/4c815fdc869f885520f7c8eae6730edf.woff2 create mode 100644 _static/fonts/4e43499d34730944aa65ae7c5ced3b20.woff2 create mode 100644 _static/fonts/4ec57f2a80b91090971b83970230ca09.woff2 create mode 100644 _static/fonts/4f17f22fc6bff4f3333ccf7ed7126e6d.woff2 create mode 100644 _static/fonts/50aacf068f685be0dd903a91d5bab7d8.woff2 create mode 100644 _static/fonts/51f3f41805329fb8341beb56ded833ea.woff2 create mode 100644 _static/fonts/52542fc0ae68a44edcc65b5d617ad7ba.woff2 create mode 100644 _static/fonts/53a8927b56f2d37222e0bd3eda259e3a.woff2 create mode 100644 _static/fonts/563c81ae49c8ce068ced9fafd0ca10c0.ttf create mode 100644 _static/fonts/5a00c3a92cc3dc5991803c5f5d3b00c6.woff2 create mode 100644 _static/fonts/5b6377da4c959db6d4b22738a27f1bee.woff2 create mode 100644 _static/fonts/5d7ff31ac7bf945e8d61878f8a941239.woff2 create mode 100644 _static/fonts/5e12ebdc4e639ee69a663d1519fe9cde.woff2 create mode 100644 _static/fonts/5e2b95768145c83761b81c69bb4a94fe.woff2 create mode 100644 _static/fonts/5eb0af7f87e9cc7ffa6095b8fa4f3032.woff2 create mode 100644 _static/fonts/60f70fb650c2b63583c8614ebb283710.woff2 create mode 100644 _static/fonts/6103c674630022f417255c8ba4825278.woff2 create mode 100644 _static/fonts/61ec43c10580a450c2e07d1e30dfc789.ttf create mode 100644 _static/fonts/6230ef31039d7f3fb52d5dbad45d940d.woff2 create mode 100644 _static/fonts/63111d307c01b52ffccf7b0319cb7917.woff2 create mode 100644 _static/fonts/638764dc2513deb09c55fc025f6dd36c.woff2 create mode 100644 _static/fonts/6409c2f1e9c5b56be08202098bb2524a.woff2 create mode 100644 _static/fonts/64a6b4e954cf84685cbf8de77eb47344.woff2 create mode 100644 _static/fonts/65dc899da5f426374d1726c711bf5d60.woff2 create mode 100644 _static/fonts/661d4b208656c006e7aab58acf778485.woff2 create mode 100644 _static/fonts/68317d8e2894afc1db19d983b668a4a8.woff2 create mode 100644 _static/fonts/6a84eeee6a25e7c9a8a03191007a6720.woff2 create mode 100644 _static/fonts/6be97ca17228a69c406231d89c003194.woff2 create mode 100644 _static/fonts/6c5944e94815ca8fe95f324c8935ae89.ttf create mode 100644 _static/fonts/6de03a64aa8100032abc6e836b3ed803.ttf create mode 100644 _static/fonts/6deb20301c65a96db17c433ad0cf8158.woff2 create mode 100644 _static/fonts/713780d8b30bda5583052ea847cdcb4f.woff2 create mode 100644 _static/fonts/7193cc013dd022128a79d12e1ee55259.woff2 create mode 100644 _static/fonts/7295944e0067d71c5d5276d397dc0299.woff2 create mode 100644 _static/fonts/76945c7494c20515bb45d1dedab8f706.woff2 create mode 100644 _static/fonts/76da333ab59c6d625cabfb0768f82b4a.woff2 create mode 100644 _static/fonts/77b24796a3d4ab521f66765651875338.woff2 create mode 100644 _static/fonts/77bd570cc68791d9e1fbb95e2034bf8a.woff2 create mode 100644 _static/fonts/795ecf955449eb1e7d9f2cc43dd5fa68.woff2 create mode 100644 _static/fonts/7af61b2367eba2b1852e837c46a75696.woff2 create mode 100644 _static/fonts/7b63598dcc2a26583b82594bd0e36d5b.woff2 create mode 100644 _static/fonts/7d769ad598b6095a19db0e0a2cd9f450.woff2 create mode 100644 _static/fonts/7e1d33bf3f9fe285f83c1a485f18b583.woff2 create mode 100644 _static/fonts/7e262106f82cc52663e403f5b73795bb.woff2 create mode 100644 _static/fonts/7e9aa420cbd963169c49f201864bfba9.woff2 create mode 100644 _static/fonts/7f1c829b0c90fd664a03bb714a74f7d3.woff2 create mode 100644 _static/fonts/8007dfe835cfb201b8caaa9651098588.woff2 create mode 100644 _static/fonts/807749a67ac33dbc70e748da86557cc3.woff2 create mode 100644 _static/fonts/80db6a6613adf22a1869c4799ea2f1ae.ttf create mode 100644 _static/fonts/820adbd147a74a804a99d175490b0374.woff2 create mode 100644 _static/fonts/84e959dd07f302392f0ffd86f87db888.ttf create mode 100644 _static/fonts/85f820d1779b166833bf4aeed58a54e2.woff2 create mode 100644 _static/fonts/86e5fc32c3fabb4c8b5f8c93e59ee11a.ttf create mode 100644 _static/fonts/8a91da79b9104e2c4d92262b319f21e0.ttf create mode 100644 _static/fonts/8aa562790559d61dd5178a88a296d70f.ttf create mode 100644 _static/fonts/8c367f2f5106c68d2d048b57ce68e1e9.woff2 create mode 100644 _static/fonts/8c3798e37724f71bc0c63c44a5307413.woff2 create mode 100644 _static/fonts/8c49ed8b472d38d3985ec9bbbccea601.ttf create mode 100644 _static/fonts/8e341974306d14ed343e2fbff9a53f42.ttf create mode 100644 _static/fonts/8e48cf20cf9f9e5feb7197c79028132b.woff2 create mode 100644 _static/fonts/8eb1d9e13869b563c46fb8530492b568.woff2 create mode 100644 _static/fonts/900a410e022f87cb59f5a47ce6f56432.woff2 create mode 100644 _static/fonts/909c37ced6d37e581afde757434a03c1.woff2 create mode 100644 _static/fonts/9582ced8a675bf267cc7ac392a86413e.woff2 create mode 100644 _static/fonts/96a0339932326660377f81999133c64a.woff2 create mode 100644 _static/fonts/985183374c063ebff121355e53a40d42.woff2 create mode 100644 _static/fonts/9ae137cbb18380bf07577a1605561fd7.woff2 create mode 100644 _static/fonts/9fdb12ceee3a402d3a54afe354552459.woff2 create mode 100644 _static/fonts/a2069ecff1eda32bfd661305e2f36d7b.woff2 create mode 100644 _static/fonts/a61ed7a6829269d7e052888fd0c45278.woff2 create mode 100644 _static/fonts/a6933e678530b263486fa7b185a449ca.woff2 create mode 100644 _static/fonts/a6caf7b9888eb0c382948c1ca5e8bebb.woff2 create mode 100644 _static/fonts/aa89e6e8885dcae234760c48811bf7f2.woff2 create mode 100644 _static/fonts/ac848474638236e67a64bc654fb18de0.ttf create mode 100644 _static/fonts/acaac043ca238f0e56e61864456777fa.woff2 create mode 100644 _static/fonts/aeed0e51b0bac7c89e5c7e6cf086d7e0.woff2 create mode 100644 _static/fonts/b019538234514166ec7665359d097403.woff2 create mode 100644 _static/fonts/b076e86301cbee8c5c9aef51863a9c0a.woff2 create mode 100644 _static/fonts/b19ac4e57f2a56639eebd1c35319e5a7.woff2 create mode 100644 _static/fonts/b2819b2c837bd6bd1b9cb395f8df3843.woff2 create mode 100644 _static/fonts/b38eddb9c17441d7ab525d02cd26d636.woff2 create mode 100644 _static/fonts/b3a1fba350d44a3c770d0b76d6a16b88.woff2 create mode 100644 _static/fonts/b57a5ada789f195d5d42f4073a6cf313.woff2 create mode 100644 _static/fonts/b5b4146d87e5d22d0a4e0d04f3ee5626.woff2 create mode 100644 _static/fonts/b61eb8a57b2ec5fb29944f8ce1c97cf9.woff2 create mode 100644 _static/fonts/b78043f9749bd20519ab058c7406bc72.woff2 create mode 100644 _static/fonts/b7ef2cd1159a8cbfd271ff2abe07f237.woff2 create mode 100644 _static/fonts/b8dffd9c927991099ca922d84978218b.ttf create mode 100644 _static/fonts/bb8007225d94a099cddbade7ea904667.woff2 create mode 100644 _static/fonts/bbff990472c58bd770da05122ae75a40.woff2 create mode 100644 _static/fonts/bd7de91e007298f6a5ed797946e7a71a.woff2 create mode 100644 _static/fonts/bdbb6b52604c2451fdcba9cdfd44f4e1.woff2 create mode 100644 _static/fonts/be6d358cd81531fdaba0d50b7497c06e.woff2 create mode 100644 _static/fonts/bfd1a0c9c783e84595589f33e1828a57.woff2 create mode 100644 _static/fonts/c1a1bb08a6ffc8cae99ac1cdd21f7f17.woff2 create mode 100644 _static/fonts/c878a16e7378b5a68d0ad016d662e8ef.woff2 create mode 100644 _static/fonts/c8a9fd4eab4e83382cc66fde70911b41.woff2 create mode 100644 _static/fonts/ca7eea0cf248d6e8442c01074765bd33.woff2 create mode 100644 _static/fonts/caeab9402973f7d4f015dec5b96de2fe.ttf create mode 100644 _static/fonts/ccdebed88064e470c15f37c432922e57.woff2 create mode 100644 _static/fonts/cf1efdbab32900aceeaf2b96d5bf81f3.ttf create mode 100644 _static/fonts/d1a250a2ded3d0163ab48631002a17a6.ttf create mode 100644 _static/fonts/d368cf5bed7856dbafa2af36b51acb9c.woff2 create mode 100644 _static/fonts/d38cfa805b7f55c16a814fd600cfe01e.woff2 create mode 100644 _static/fonts/d9969ba81c6c90033c43522c3a5d340f.woff2 create mode 100644 _static/fonts/da6cd48e6dad1888fccc91735e7522f7.woff2 create mode 100644 _static/fonts/daf12b5f1889502004bba85ad71f9fa4.woff2 create mode 100644 _static/fonts/daf51ab540602b2d0b87646621637bac.woff2 create mode 100644 _static/fonts/db0424fb67fb52e7e538490240cc7fb9.woff2 create mode 100644 _static/fonts/de9e9de8ec65e749746ae68352b9b40e.woff2 create mode 100644 _static/fonts/def9893cb6c0eab16839ccdbf0d87589.woff2 create mode 100644 _static/fonts/e1e650a22efdfbcea04847ef18efe3e8.ttf create mode 100644 _static/fonts/e33716333704ab19fdf9989e072ad49a.woff2 create mode 100644 _static/fonts/e56cc9fb5272752b78f144b4be43175d.woff2 create mode 100644 _static/fonts/e704ef18719c08839bc99a32437ef0f8.woff2 create mode 100644 _static/fonts/ec35b4eeeb5e03e71a785c7680482210.woff2 create mode 100644 _static/fonts/eef02d41c7e52c675639d96780027e20.woff2 create mode 100644 _static/fonts/ef8f0236a7e8b46bc9d642ecf4ab0cb7.woff2 create mode 100644 _static/fonts/f04db0d35186136e620dd5c932c0ff9d.woff2 create mode 100644 _static/fonts/f265cee675c0e5b2d6ab263d0edcc754.woff2 create mode 100644 _static/fonts/f2b0a81bcb968b70b102e80e32d24201.woff2 create mode 100644 _static/fonts/f36dc896fb09865be4d6c43d45e7a572.woff2 create mode 100644 _static/fonts/f3751f78f397e664161ffb6348e7d164.woff2 create mode 100644 _static/fonts/f532f67c5570a41090076a55791464be.woff2 create mode 100644 _static/fonts/f53f3b5a15d717b6d21d7885285e90ed.woff2 create mode 100644 _static/fonts/f5aebdfea35d1e7656ef4acc5db1f243.woff2 create mode 100644 _static/fonts/f6734f8177112c0839b961f96d813fcb.woff2 create mode 100644 _static/fonts/f75911313e1c7802c23345ab57e754d8.woff2 create mode 100644 _static/fonts/f8d16b9d7e547f1baa523058aec33fd2.woff2 create mode 100644 _static/fonts/f9b1975bd46da26587c66284279a699e.woff2 create mode 100644 _static/fonts/fc66f942651a9fe1a598770d3d896529.woff2 create mode 100644 _static/fonts/fccc62f759224674f478ad4e40ef7d93.woff2 create mode 100644 _static/language_data.js create mode 100644 _static/sphinx_immaterial_theme.1b5b7a2d5891aec19.min.js create mode 100644 _static/sphinx_immaterial_theme.a60204c58f5e4ff66.min.css create mode 100644 _static/white.svg create mode 100644 genindex.html create mode 100644 index.html create mode 100644 introduction.html create mode 100644 objects.inv create mode 100644 protoplaster--docs-example.pdf create mode 100644 protoplaster.html create mode 100644 readme.html create mode 100644 searchindex.js diff --git a/.buildinfo b/.buildinfo new file mode 100644 index 0000000..06d23cc --- /dev/null +++ b/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 1bf031796ed83fe35c366c82c3959246 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/_sources/index.md.txt b/_sources/index.md.txt new file mode 100644 index 0000000..39db55f --- /dev/null +++ b/_sources/index.md.txt @@ -0,0 +1,9 @@ +# {{project}} + +```{toctree} +:maxdepth: 2 + +introduction +readme +protoplaster +``` diff --git a/_sources/introduction.md.txt b/_sources/introduction.md.txt new file mode 100644 index 0000000..5bc41c1 --- /dev/null +++ b/_sources/introduction.md.txt @@ -0,0 +1,8 @@ +# Introduction + +This documentation serves as an example of how individual projects documentation can look like. + +The second chapter contains information from the README file. + +The last chapter is generated from the sample ``test.yml`` file which can be found in the README. +Its purpose is to demonstrate the documentation generated to describe test procedures used in a project. diff --git a/_sources/protoplaster.rst.txt b/_sources/protoplaster.rst.txt new file mode 100644 index 0000000..df047f2 --- /dev/null +++ b/_sources/protoplaster.rst.txt @@ -0,0 +1,44 @@ +Hardware testing +================ + +To perform hardware/BSP tests and open-source `Protoplaster `Github repository `_ framework has been used. + +Running Protoplaster runs the tests described in the following chapters: + +I2C devices tests +----------------- + +This module provides tests dedicated to i2c devices on specific buses: + + * /dev/i2c-0: + + * detection test for Sensor name on address: 0x1c + + + +Camera sensor tests +------------------- + +This module provides tests dedicated to V4L devices on specific video node: + + * /dev/video0: + + * try to capture frame + + * check if the camera sensor name is 'vivid' + + * check if the camera sensor driver name is 'vivid' + + + +GPIOs tests +----------- + +This module provides tests dedicated to GPIO on specific pin number + + * /sys/class/gpio/gpio20: + + * write the value '1' and read to confirm + + + diff --git a/_sources/readme.md.txt b/_sources/readme.md.txt new file mode 100644 index 0000000..83e4fcb --- /dev/null +++ b/_sources/readme.md.txt @@ -0,0 +1,142 @@ +# Protoplaster + +Copyright (c) 2022-2023 [Antmicro](https://www.antmicro.com) + +An automated framework for platform testing (Hardware and BSPs). + +Currently includes tests for: + +* I2C +* GPIO +* Camera +* FPGA + +## Installation +```bash +pip install git+https://github.com/antmicro/protoplaster.git +``` + +## Usage + +``` +usage: protoplaster [-h] [-t TEST_FILE] [-g GROUP] [--list-groups] [-o OUTPUT] [--generate-docs] [-c CUSTOM_TESTS] + +optional arguments: + -h, --help show this help message and exit + -t TEST_FILE, --test-file TEST_FILE + Path to the test yaml description + -g GROUP, --group GROUP + Group to execute + --list-groups List possible groups to execute + -o OUTPUT, --output OUTPUT + A junit-xml style report of the tests results + --generate-docs Generate documentation + -c CUSTOM_TESTS, --custom-tests CUSTOM_TESTS + Path to the custom tests sources +``` + +Protoplaster expects a yaml file describing tests as an input. That yaml file should have a specified structure. + +```yaml +--- +base: # A group specifier + i2c: # A module specifier + - bus: 1 # An interface specifier + devices: # Multiple instances of devices can be defined in one module + - name: "Sensor name" + address: 0x3c # The given device parameters determine which tests will be run for the module + - bus: 2 + devices: + - name: "I2C-bus multiplexer" + address: 0x70 + camera: + - device: "/dev/video0" + camera_name: "Camera name" + driver_name: "Driver name" + - device: "/dev/video2" + camera_name: "Camera2 name" + driver_name: "Driver2 name" + save_file: "frame.raw" +additional: + gpio: + - number: 20 + value: 1 +``` + +### Groups +In the yaml file, there is a way to define different groups of tests to run them for different purposes. In the example yaml file, there are two groups defined: base and additional. Protoplaster when run without a defined group, will execute every test in each group. When the group is specified with a parameter `-g` or `--group`, only tests in the specified group are going to be run. There is a possibility to list existing groups in the yaml file, simply run `protoplaster --list-groups test.yaml`. + +## Base modules parameters +Each base module has some parameters that are needed for test initialization. Those parameters describe the tests and are passed to the test class as its attributes. + +### I2C +Required parameters: + +* `bus` - i2c bus to check +* `name` - name of device to be detected +* `address` - address of the device to be detected on the indicated bus + +### GPIO +Required parameters: + +* `number` - number of the gpio pin +* `value` - the value written to that pin + +Optional parameters: + +* `gpio_name` - name of the sysfs gpio interface after exporting + +### Cameras +Required parameters: + +* `device` - path to the camera device (eg. /dev/video0) +* `camera_name` - expected camera name +* `driver_name` - expected driver name + +Optional parameters: + +* `save_file` - a path which the tested frame is saved to (the frame is saved only if this parameter is present) + +### FPGA +Required parameters: + +* `sysfs_interface` - path to a sysfs interface for flashing the bitstream to the FPGA +* `bitstream_path` - path to a test bitstream that is going to be flashed + +## Writing additional modules +Apart from base modules available in Protoplaster, you can provide your own extended modules. The module should contain a `test.py` file in the root path. That file should contain a test class that is decorated with `ModuleName("")` from `protoplaster.conf.module` package. That decorator tells Protoplaster what the name of the module is. With that information Protoplaster can then correctly initialize the test parameters. + +The description of the external module should be added to the yaml file as for other tests. By default, external modules are searched in the `/etc/protoplaster` directory. If you want to store them in a different path, use the `--custom-tests` argument to set your own path. The individual tests run by Protoplaster should be present in the main class in the `test.py` file. The class's name should start with `Test`, and every test's name in that class should also start with `test`. An example of the extended module's test: + +```python +from protoplaster.conf.module import ModuleName + +@ModuleName("additional_camera") +class TestAdditionalCamera: + """ + {% macro TestAdditionalCamera(prefix) -%} + Additional camera tests + ----------------------- + {% do prefix.append('') %} + This module provides tests dedicated to camera sensors on specific video node: + {%- endmacro %} + """ + + def test_exists(self): + """ + {% macro test_exists(device) -%} + check if the path exists + {%- endmacro %} + """ + assert self.path == "/dev/video0" +``` + +And a yaml definition: + +```yaml +--- +base: + additional_camera: + - path: "/dev/video0" + - path: "/dev/video1" +``` diff --git a/_static/fonts/01f7dd5ea3a940280cffaeebec021186.woff2 b/_static/fonts/01f7dd5ea3a940280cffaeebec021186.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c2795463ad3826a22a8c5384b1c668c433cb95c6 GIT binary patch literal 13224 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 aE*5TfYjPCI0RRE`;a3GRIqy1d0002XqKGp9 literal 0 HcmV?d00001 diff --git a/_static/fonts/074b8d567b2ae725c8bff34c5e4c8371.woff2 b/_static/fonts/074b8d567b2ae725c8bff34c5e4c8371.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..71211a8dd4119f9fbdf2b6904bede43a96abf6df GIT binary patch literal 5960 zcmV-O7q{qlPew8T0RR9102fFA4gdfE04U4=02c260RR9100000000000000000000 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 q>6lF~0~g7jS9`|>Y_7|Z->eP*vIvA literal 0 HcmV?d00001 diff --git a/_static/fonts/0929de23dbe2f3e25da615c07653d375.woff2 b/_static/fonts/0929de23dbe2f3e25da615c07653d375.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ceccabe03d1b1f0127b68a70216cffe942b02d15 GIT binary patch literal 7180 zcmV+n9P{IMPew8T0RR9102~Ye4gdfE05U8902{IZ0RR9100000000000000000000 z0000SHU?lnQ&d4zL;!*e5eN#?Xu%W zDE{JrCp$G981TV@wAZ6%lFKqZ&>m)$*Vs!)YyUFb>>6q9U1EP~LDzf_l-Z{}5a z<%8JzG+WT|ea70E0Fhc%I-%p0*H2Bi{r`W>eEV)+Qb3liaIG;FrovUtzL~(yo$0{h zn_12lcs5z0bPL&(*#X*CF@GRZsJ>AooFY*Fd{a}+iGk>`3F>0gZ1=P1vUIsO)|7)C z3R|DI-cG=Q03+DS3tlLWNdo7!p{fMjw<={ZxbO0sGH?d~K!nv3ⅆi$KT2iAb=q3 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 O4ie90W_b?34gdfiR^5UC literal 0 HcmV?d00001 diff --git a/_static/fonts/0948409a22b5979aa7e1ec20da9e61f1.woff2 b/_static/fonts/0948409a22b5979aa7e1ec20da9e61f1.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6b0b4afef95479fff34683895510f679a5ebd45a GIT binary patch literal 5604 zcmV3CmxKT719J?g1=`;t*omE%DVl-mx!FcDRLO)EiWF%n+<2k; z{z!elnfh#A=$8#;!oA;6mu@pLR*NAVtg+#ALiW^f_ySP*^v)3)`y^K*nwsVo&Xm+~ zQXtm}w{@t54sii7Pz1cVK=4512TJ*thqv4N+ieFDwlzzlR>%WV4EEd^apPH1)UnWjm&>+$*LSaQ!hypx2nQCG zLhtfhOk#69N}~|A+V6@oo&h)=sa=$6+}x!>ZvQJIv~sZo+&sCcwbt$t^Z{`^3im?U zGzV5L7lcE?JmoT2GI(_I)OJU03Sp2nPVKu#I*j4}be8S^GaAA1$oHNPDqaW|ooxlN zOP8jRzIHA0*giz>5qU$T-9tM7gdIV7ZC;utU75B_nj){mF7m#G&0oIiJ(RT-N~x^K zRL1-MvkcA~-9uXWIyi_X*x~g?(J*1ckSeMpaTbHLGXMu=2)=BaC|-QY%QkzXn`Wr*+Hdm{ zHA3A`0ksP*@{k~PC2Od$rkZQ1wYE~E$&iIq%X=EDIQ0SXdb?br?u4G(P14&4$%