From 54fdc17bba5f9b0dba1ea0ca96377a36589260c7 Mon Sep 17 00:00:00 2001 From: TriMill Date: Thu, 23 Jun 2022 01:58:54 -0400 Subject: [PATCH] Initial commit --- .gitignore | 2 + LICENSE.txt | 674 +++++++ README.md | 3 + src/blog/2022-02-25-0.md | 13 + src/blog/2022-06-01-0.md | 19 + src/blog/2022-06-02-0.md | 13 + src/blog/2022-06-03-0.md | 13 + src/main.py | 150 ++ src/static/favicon.ico | Bin 0 -> 15406 bytes src/static/i/apioform1.png | Bin 0 -> 214477 bytes src/static/i/blog/tau-day1.png | Bin 0 -> 107891 bytes src/static/i/blog/tau-day2.png | Bin 0 -> 96599 bytes src/static/i/blog/tau-day3.png | Bin 0 -> 283221 bytes src/static/i/flappy/background1.png | Bin 0 -> 806 bytes src/static/i/flappy/background2.png | Bin 0 -> 241 bytes src/static/i/flappy/bird.png | Bin 0 -> 173 bytes src/static/logo16.png | Bin 0 -> 5074 bytes src/static/logo32.png | Bin 0 -> 5670 bytes src/static/logo320.png | Bin 0 -> 7445 bytes src/static/logo64.png | Bin 0 -> 6437 bytes src/static/logo640.png | Bin 0 -> 3287 bytes src/static/style.css | 232 +++ src/templates/404.html | 17 + src/templates/_base.html | 92 + src/templates/_blog.html | 35 + src/templates/atom.xml | 21 + src/templates/blog.html | 14 + src/templates/index.html | 51 + src/templates/projects.html | 20 + .../projects/complex_grapher/grammar.js | 1602 +++++++++++++++++ .../projects/complex_grapher/grammar.pegjs | 266 +++ .../projects/complex_grapher/help.html | 139 ++ .../projects/complex_grapher/index.html | 93 + .../projects/complex_grapher/main.js | 234 +++ .../projects/complex_grapher/peggy.sh | 6 + .../projects/complex_grapher/shaderbase.glsl | 494 +++++ .../projects/complex_grapher/webgl_base.js | 111 ++ src/templates/projects/converter/index.html | 34 + src/templates/projects/converter/main.js | 115 ++ src/templates/projects/converter/measures.js | 105 ++ .../projects/elementsgame/cookies.js | 30 + src/templates/projects/elementsgame/data.js | 317 ++++ .../projects/elementsgame/index.html | 11 + src/templates/projects/elementsgame/inputs.js | 54 + src/templates/projects/elementsgame/sketch.js | 177 ++ .../projects/elementsgame/sorting.js | 83 + src/templates/projects/flappy/assets.js | 23 + src/templates/projects/flappy/bird.js | 30 + src/templates/projects/flappy/block.js | 25 + src/templates/projects/flappy/data.js | 233 +++ src/templates/projects/flappy/index.html | 13 + src/templates/projects/flappy/input.js | 38 + src/templates/projects/flappy/main.js | 167 ++ src/templates/projects/flappy/pipe.js | 30 + src/templates/projects/fracbase/index.html | 95 + src/templates/projects/griddraw/canvas.js | 167 ++ .../projects/griddraw/colorpicker.js | 91 + src/templates/projects/griddraw/index.html | 48 + src/templates/projects/griddraw/index.js | 39 + src/templates/projects/griddraw/style.css | 82 + src/templates/projects/markov/index.html | 50 + src/templates/projects/markov/main.js | 111 ++ src/templates/projects/markov/markov.js | 40 + src/templates/projects/markov/presets.js | 11 + src/templates/projects/mazemaker/bool-x-64.js | 69 + src/templates/projects/mazemaker/dom.js | 101 ++ src/templates/projects/mazemaker/index.html | 50 + src/templates/projects/mazemaker/main.js | 157 ++ src/templates/projects/mazemaker/v/index.html | 12 + src/templates/projects/mazemaker/v/main.js | 46 + src/templates/projects/number/index.html | 32 + src/templates/projects/pixelcircle/index.html | 32 + src/templates/projects/pixelcircle/main.js | 210 +++ src/templates/projects/rpsha/index.html | 163 ++ src/templates/projects/stars/index.html | 21 + src/templates/projects/stars/main.js | 59 + src/templates/projects/tagpost/index.html | 103 ++ src/templates/projects/whoami/index.html | 17 + src/templates/projects/whoami/main.js | 60 + src/templates/projects/whoami/ua-parser.js | 9 + src/templates/projects/zzcxz_vis/help.html | 45 + src/templates/projects/zzcxz_vis/index.html | 79 + src/templates/projects/zzcxz_vis/index.js | 336 ++++ src/templates/rss.xml | 20 + test.sh | 6 + 85 files changed, 8160 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE.txt create mode 100644 README.md create mode 100644 src/blog/2022-02-25-0.md create mode 100644 src/blog/2022-06-01-0.md create mode 100644 src/blog/2022-06-02-0.md create mode 100644 src/blog/2022-06-03-0.md create mode 100644 src/main.py create mode 100644 src/static/favicon.ico create mode 100644 src/static/i/apioform1.png create mode 100644 src/static/i/blog/tau-day1.png create mode 100644 src/static/i/blog/tau-day2.png create mode 100644 src/static/i/blog/tau-day3.png create mode 100644 src/static/i/flappy/background1.png create mode 100644 src/static/i/flappy/background2.png create mode 100644 src/static/i/flappy/bird.png create mode 100644 src/static/logo16.png create mode 100644 src/static/logo32.png create mode 100644 src/static/logo320.png create mode 100644 src/static/logo64.png create mode 100644 src/static/logo640.png create mode 100644 src/static/style.css create mode 100644 src/templates/404.html create mode 100644 src/templates/_base.html create mode 100644 src/templates/_blog.html create mode 100644 src/templates/atom.xml create mode 100644 src/templates/blog.html create mode 100644 src/templates/index.html create mode 100644 src/templates/projects.html create mode 100644 src/templates/projects/complex_grapher/grammar.js create mode 100644 src/templates/projects/complex_grapher/grammar.pegjs create mode 100644 src/templates/projects/complex_grapher/help.html create mode 100644 src/templates/projects/complex_grapher/index.html create mode 100644 src/templates/projects/complex_grapher/main.js create mode 100755 src/templates/projects/complex_grapher/peggy.sh create mode 100644 src/templates/projects/complex_grapher/shaderbase.glsl create mode 100644 src/templates/projects/complex_grapher/webgl_base.js create mode 100644 src/templates/projects/converter/index.html create mode 100644 src/templates/projects/converter/main.js create mode 100644 src/templates/projects/converter/measures.js create mode 100644 src/templates/projects/elementsgame/cookies.js create mode 100644 src/templates/projects/elementsgame/data.js create mode 100644 src/templates/projects/elementsgame/index.html create mode 100644 src/templates/projects/elementsgame/inputs.js create mode 100644 src/templates/projects/elementsgame/sketch.js create mode 100644 src/templates/projects/elementsgame/sorting.js create mode 100644 src/templates/projects/flappy/assets.js create mode 100644 src/templates/projects/flappy/bird.js create mode 100644 src/templates/projects/flappy/block.js create mode 100644 src/templates/projects/flappy/data.js create mode 100644 src/templates/projects/flappy/index.html create mode 100644 src/templates/projects/flappy/input.js create mode 100644 src/templates/projects/flappy/main.js create mode 100644 src/templates/projects/flappy/pipe.js create mode 100644 src/templates/projects/fracbase/index.html create mode 100644 src/templates/projects/griddraw/canvas.js create mode 100644 src/templates/projects/griddraw/colorpicker.js create mode 100644 src/templates/projects/griddraw/index.html create mode 100644 src/templates/projects/griddraw/index.js create mode 100644 src/templates/projects/griddraw/style.css create mode 100644 src/templates/projects/markov/index.html create mode 100644 src/templates/projects/markov/main.js create mode 100644 src/templates/projects/markov/markov.js create mode 100644 src/templates/projects/markov/presets.js create mode 100644 src/templates/projects/mazemaker/bool-x-64.js create mode 100644 src/templates/projects/mazemaker/dom.js create mode 100644 src/templates/projects/mazemaker/index.html create mode 100644 src/templates/projects/mazemaker/main.js create mode 100644 src/templates/projects/mazemaker/v/index.html create mode 100644 src/templates/projects/mazemaker/v/main.js create mode 100644 src/templates/projects/number/index.html create mode 100644 src/templates/projects/pixelcircle/index.html create mode 100644 src/templates/projects/pixelcircle/main.js create mode 100644 src/templates/projects/rpsha/index.html create mode 100644 src/templates/projects/stars/index.html create mode 100644 src/templates/projects/stars/main.js create mode 100644 src/templates/projects/tagpost/index.html create mode 100644 src/templates/projects/whoami/index.html create mode 100644 src/templates/projects/whoami/main.js create mode 100644 src/templates/projects/whoami/ua-parser.js create mode 100644 src/templates/projects/zzcxz_vis/help.html create mode 100644 src/templates/projects/zzcxz_vis/index.html create mode 100644 src/templates/projects/zzcxz_vis/index.js create mode 100644 src/templates/rss.xml create mode 100755 test.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c92b71a --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +venv/ +*/__pycache__/ \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..071ccf0 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# trimill.xyz + +Source code for the Flask server running [trimill.xyz](https://trimill.xyz). Licensed under [GNU GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html). \ No newline at end of file diff --git a/src/blog/2022-02-25-0.md b/src/blog/2022-02-25-0.md new file mode 100644 index 0000000..7801f24 --- /dev/null +++ b/src/blog/2022-02-25-0.md @@ -0,0 +1,13 @@ +--- +title: Test post? +desc: first!!!1! +timestamp: 2022-02-25T00:00:00-05:00 +--- + +Oh dear, what is this? The first post in a "blog", perhaps? + +Blog is a rather interesting word. It comes from a shortening of "weblog", web + log, where "web" refers to the interconnected structure of the Internet and "log" is itself a shortening of "logbook", a book used to record readings from a "chip log", a piece of wood used to measure the speed of a ship. In this way, "blog" is really a shortening of "weblogbook". + +I am currently writing this post in Markdown, which will be converted into HTML so it can be viewed in browsers. I wonder how formatting looks? **bold**. *italic*. ~~strikethrough~~. `code`. Interesting. + +This concludes the test post. diff --git a/src/blog/2022-06-01-0.md b/src/blog/2022-06-01-0.md new file mode 100644 index 0000000..46e796c --- /dev/null +++ b/src/blog/2022-06-01-0.md @@ -0,0 +1,19 @@ +--- +title: 28 Days of Tau - Day 1 +desc: The first of 28 posts about the beautiful constant tau. +timestamp: 2022-06-01T00:00:00-04:00 +--- + +Much like any ordinary child, I spent much of my childhood watching math videos on YouTube. During this time I discovered many channels that you might already be familiary with: [3Blue1Brown](https://www.youtube.com/c/3blue1brown), [Numberphile](https://www.youtube.com/user/numberphile), [Stand-up Maths](https://www.youtube.com/user/standupmaths), and many, many others. I credit these videos with inspiring me to continue my fascination with mathematics. However, one of these channels rises above all others in terms of how it shaped me: [Vihart](https://www.youtube.com/user/Vihart). + +Vi's videos, although lacking in pixels, more than make up for it with their humor, art, music, and beautiful introductions into various mathematics concepts that one would be lucky to even mention in a school curriculum. These videos introduced me to [$$ \tau $$](https://www.youtube.com/watch?v=FtxmFlMLYRI) (tau) - the superior circle constant, equal to the ratio between a circle's circumference and its radius (two times $$ \pi $$). Each day this June, leading up to June 28 ([tau day](https://tauday.org)), I will be posting a creative demonstration of the beauty of this constant, circles, and mathematics as a whole. + +All code used to generate these visualizations will be available [on GitHub](https://github.com/TriMill/28-days-of-tau/) the same day the blog post is released. + +## Labyrinth + +![Day 1 - Labyrinth](/static/i/blog/tau-day1.png) + +This image shows the digits of tau (as represented in a base-10 positional system) by assigning each one an angle, where 0 is directly right and each subsequent digit is $$ \frac{\tau}{10} $$ radians counterclockwise. The first digit is right next to the center, and following digits are further out and connected by arcs. + +[GitHub](https://github.com/TriMill/28-days-of-tau/tree/main/day1) \ No newline at end of file diff --git a/src/blog/2022-06-02-0.md b/src/blog/2022-06-02-0.md new file mode 100644 index 0000000..d355f68 --- /dev/null +++ b/src/blog/2022-06-02-0.md @@ -0,0 +1,13 @@ +--- +title: 28 Days of Tau - Day 2 +desc: The second day of Tau +timestamp: 2022-06-02T00:00:00-04:00 +--- + +## Skyline + +![Day 2 - Skyline](/static/i/blog/tau-day2.png) + +This image illustrates the digits of the fractional part of tau (0.283184...) in binary. Each rectangle's height represents an approximation of the fractional part of tau, with each having half the width of the previous. Circles are added on top of the rectangles for decoration. + +[GitHub](https://github.com/TriMill/28-days-of-tau/tree/main/day2) \ No newline at end of file diff --git a/src/blog/2022-06-03-0.md b/src/blog/2022-06-03-0.md new file mode 100644 index 0000000..c527671 --- /dev/null +++ b/src/blog/2022-06-03-0.md @@ -0,0 +1,13 @@ +--- +title: 28 Days of Tau - Day 3 +desc: The third day - polygon inscription +timestamp: 2022-06-03T00:00:00-04:00 +--- + +## Polygons + +![Day 3 - Polygons](/static/i/blog/tau-day3.png) + +One of the oldest methods known to calculate circle constants is inscribing polygons of increasing side counts within circles. It is easy to find the area of these polygons, and as the number of sides increases the area approaches $$ \frac{\tau}{2} $$ (assuming a circle with radius 1). + +[GitHub](https://github.com/TriMill/28-days-of-tau/tree/main/day3) \ No newline at end of file diff --git a/src/main.py b/src/main.py new file mode 100644 index 0000000..292bc8d --- /dev/null +++ b/src/main.py @@ -0,0 +1,150 @@ +from flask import Flask, render_template, send_from_directory, abort, request, make_response +import markdown2 +import datetime +import os +import ast + +data = { + "feet": [ + "šŸ", + "Best viewed using Internet Explorer 6 or earlier", + "The HORSE is a noble animal", + "šŸ¦€", + "segmentation fault (core dumped)", + "Bees land on thyme", + "ā˜ƒ", + "# cat /dev/urandom > /dev/sda", + ":(){ :|: & };:", + "Formal complaints will recieve responses within 5-7 business days", + "++++[->++++<]>+[->++++++>+++++++>++<<<]>.>--------..+++++.<-.>--.>--.<++.<.>++++.----.", + "Copywrong Ā© 3034. All rights unreserved.", + "[citation needed]", + "Best viewed with eyes", + "Your browser does not support 7D graphics. Please update for the best user experience.", + "Press SPACE to jump", + "šŸ€", + "If problems persist, please return to the nearest Blockbuster VideoĀ® establishment", + "Oversalt to taste", + "curl -s -L http://bit.ly/10hA8iC | bash", + "Submit footer text via carrier pigeon to [REDACTED]", + "GEORGE is inevitable." + ], + "next_theme": { + "system": "dark", + "dark": "light", + "light": "contrast", + "contrast": "system" + } +} + +markdown_extras = ["fenced-code-blocks", "footnotes", "strike", "tables", "metadata"] + +app = Flask(__name__) + + +projects = [] +proj_dir = os.path.join(app.root_path, app.template_folder, "projects") +for root, dirs, files in os.walk(proj_dir): + for file in files: + try: + with open(os.path.join(root, file)) as f: + metaline = f.read().splitlines()[0] + if metaline.startswith("{% set meta="): + meta = metaline[12:-2].strip() + meta = ast.literal_eval(meta) + meta["path"] = os.path.relpath(root, start=proj_dir) + meta["file"] = file + projects.append(meta) + except Exception as e: + print(e) +data["projects"] = sorted(projects, key=lambda p: [p.get("star") != True, p.get("title")]) + +blogposts = [] +blog_dir = os.path.join(app.root_path, "blog") +for file in os.listdir(blog_dir): + with open(os.path.join(blog_dir, file)) as f: + contents = f.read() + html = markdown2.markdown(contents, extras=markdown_extras) + meta = html.metadata + meta["file"] = file + date_parts = file.removesuffix(".md").split("-") + date = datetime.date(int(date_parts[0]), int(date_parts[1]), int(date_parts[2])) + meta["timestamp"] = datetime.datetime.fromisoformat(meta["timestamp"]) + meta["date"] = date + meta["n"] = int(date_parts[3]) + meta["url"] = f"/blog/{date.isoformat().replace('-','/')}/{meta['n']}" + blogposts.append(meta) +data["blogposts"] = sorted(blogposts, key=lambda post:[post["date"], post["n"]], reverse=True) + + +@app.route("/favicon.ico") +def favicon(): + path = os.path.join(app.root_path, "static") + return send_from_directory(path, "favicon.ico", mimetype="image/vnd.microsoft.icon") + +@app.errorhandler(404) +def four_oh_four(e): + theme = request.cookies.get("theme") or "dark" + return render_template("404.html", data=data, theme=theme) + +def load_page(url): + if url.endswith(".html"): + path = os.path.join(app.root_path, app.template_folder, url) + if os.path.exists(path): + theme = request.cookies.get("theme") or "dark" + return render_template(url, data=data, theme=theme) + else: + return abort(404) + else: + return send_from_directory("templates", url) + +@app.route("/") +@app.route("/index.html") +def home(): + return load_page("index.html") + +@app.route("/projects/") +@app.route("/projects/index.html") +def projects_index(): + return load_page("projects.html") + +@app.route("/projects//") +@app.route("/projects//") +def project(page, file="index.html"): + return load_page(f"projects/{page}/{file}") + +@app.route("/blog/") +def blog_list(): + theme = request.cookies.get("theme") or "dark" + return render_template("blog.html", data=data, theme=theme) + + +@app.route("/blog////") +@app.route("/blog////") +def blog_page(y, m, d, n=0): + date = datetime.date(y, m, d) + print(date.isoformat()) + path = os.path.join(app.root_path, "blog", f"{date.isoformat()}-{n}.md") + if os.path.exists(path): + with open(path) as f: + contents = f.read() + content = markdown2.markdown(contents, extras=markdown_extras) + meta = content.metadata + theme = request.cookies.get("theme") or "dark" + return render_template("_blog.html", data=data, theme=theme, content=content, date=date, meta=meta) + else: + return abort(404) + +@app.route("/blog/rss.xml") +def blog_rss(): + xml = render_template("rss.xml", data=data) + response = make_response(xml) + response.headers["Content-Type"] = "application/rss+xml; charset=utf-8" + return response + +@app.route("/blog/atom.xml") +def blog_atom(): + xml = render_template("atom.xml", data=data) + response = make_response(xml) + response.headers["Content-Type"] = "application/atom+xml; charset=utf-8" + return response \ No newline at end of file diff --git a/src/static/favicon.ico b/src/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..82c6439d5975c68d05c2dde8d195e71b5ae44763 GIT binary patch literal 15406 zcmeHO>r+!#5Wk)F53nElJv@!Y@Je_DP!R-6AcSXF<6|=D2@9;W#zx!-lXC-sh|l{dDOn5iN%DOYv** z={@0Ae#sW!pNr1mMQ!FbY_RVuHZ45n?azJvh@VexvGH!J7OkF2d_7Ts)w+yrw28*9 z<9RI{FRQ>m%EPibT^S#=K62}Ctv(Z@BWE#kw@ARySTP!3SA$3;*`E5+DgJnGa7XE=&K)>lT@?rSjB zt_|t8(8OXiiwl9VQA+#^jIR`9gVDTUg8glcH~z7f-!#IxUK!HQ`MeCx18V%ycydby zDf|QDE6p)dkZ-QKn+#`9{8oIH!e5yGY#I0$<*>Yr9Ol&$nC>LO)*rVOpQZ4p^`CWQ zqOD(z>f1>I4WhGW+)jjPNVRAF6i3(Derm>+iuUdVH1@_vg*HZG;obg7%KUwCoMc$C zq+yYbjRwyc4WdPK_rl*Nhn($B{Cn8>W5$pxoB`+@5G&9bht3+o`~NO>CL$T=w^)MC zS;Q-pfAsflN0H`E_X6+BbGj#CSG1giLAfV+Ki`4ne8fkwy&W zmEe~mmRmS?xbT4GABOYKG5yjU#O;~x-+nq<2zQkh>oshzafsll)`I3hb`ehgiK0SK zUpe;%a?m1Ol1(V`hrg3twPa%EVm78P>Am<;j|Fy@Nqg^T)?vT&Kj+Ls?}HL_EL8~T zTr9_(!P9uod-v{<&SAggcU{cE6_>$(wtG{JFD6f6xZ_jISyCfjgM*Tve_M^Z89kbN zlQ6~3yGKp`B!BI!9!-6TnEG6iKi2*;*!~s$d;RV~zQ2n7d-r1dv42qPUwogT*uS`5 zg5#-TKjL~)>_=QLiv38_i()_0^rZM7aXr1S_Os4%ORE+wsNPZv9(UvlHB7$Trm+8a z<-sv<9FwfxGCYk;xXl^xu=-u9nGE!8k?Mb`L5J}^cK*IsED3$=?xBU%mHOqcfqAtQ z4buhqcH&G}8iOMR7`UdvOa_@`1Bf!*1Yit2ZddGo6#V%}s-N-Zu&Li+gSWm% asqyizmv|mr`CYnRSb320Q8W;-2L1!*@e)7) literal 0 HcmV?d00001 diff --git a/src/static/i/apioform1.png b/src/static/i/apioform1.png new file mode 100644 index 0000000000000000000000000000000000000000..a657d2accbd1a6e15189c38edfa29cd21a125d6e GIT binary patch literal 214477 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

dZD15$AMw!`(bDeQk-Sks9*&X(aFR}17NO1)R} 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

I}){U>d6u1i+DB=p)ie7ogozOf3{8TQ!MN3OBGu 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

  • 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%0AtIJFHk` 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%0AdhgQ#qUyRqBh|PO%^v|7 z)qmY1WBvM?YTEi#77*>nloS*wG`FJ^N*+93Ka9gvEjrw~9I^lW<3~kl=6ex*rCa(?`n&sn`Tfu^ zKoa-rO-+~k)`Z~+`=cG)91JQ7gg)n3#9=(9@gZHcz&;hWqSRfWA&S5-=<@1$@QqK0 z*q3Ki!PQQGsO}`pU1`akZ2Jg1|YrJ!hFPOeu7i(|BM$?a;%vY+&qsI@-2m8Uv=zCl!wD@6 zHH&iXc~){g09S>L)gPxy>r+0&r*GXGY!WbU1d+5xnDqqx^DYa%m~cM)yr7{a#yZ0? zxTzs@@=erjj5e*KhwEbq+LGnk=g;OP;C-#rR7QUX%R?qECem*wv z7C)y^NRX$}_4ufk!jI;bq8TnN%8Ql7f=(O3XHpDfrdAC3;*kOr@s1cV=a}ZE%ko)T zoN_boy)S|+t^F(u@VjS(&CYi_&xz>5yOO1nn1v8R)bl>?GW-4wh}e9pkV;Bdo)V~R zS%m6S>P3?tTf!5}f_y~0)=i6=dfXc4a4O6i|DRPi4i1irbk2KTEq=(`-=69+Zz)^q z_;;~OPzVf#dr{43MJBFc;ng_Us z|MIf=oJMR0-@WdN5r1OZU@G2jW){)vd)qAlkq?t3Pp#0M8-OEgcJwRhD&mQ!d6yOF zkmymFdTq+*?)p2w-r>T+xL+!*b8$S@cmd??5iCm5M!UArWD6zcFE+;~L`P}U6uR28 zR`2BY7dcV#ACwAh+YXX{l1=HNHy{bf01KXArOzSAAp zdR@2@aqcM*+9ToY}PzV)9wwp zsXKx7&W;Fkmp9@B4pchWl1`1P|9o3{d3cPCOM{&2JVc|(B4zA-QE{sEKiA3j);g(eqog4 zjCA{-4!r0H^apeq*w1Z^?h$A>Mw6XUJ#Y)ms0Jjf=jY}y-7vHBo&M&>!dM4@JE|FE z+}9M&^du5!1l_hmXla<#c9+cTLOe7Pq*jKefePr=*xu)pUSqhoj`3UB{-O29z3eNr zrDj@NS6x{@N6Vp6In2&>`0Z6inDzcgd1bs=x<{l-!riM*=oA7FUv6A*!gt1k@4RuU zU75M-U-slT)^$d~>Cyw1$$LCUxTk9X(w&kDZu-*bzc>_eNg-2B3xKUxA+6mR+6?yEQ9G8led8*nAk*J4MLW>A-J z`b*Itc4+|rlRCG~!pDZ;mzH?9q$xIzXzwwwz!}P}&NuT-+E>ZYQHWi}9Rv7+MCE^* z7Gkj(Vhq26Kl&XUzaGCQId}MA!e46TJLj9>!YRL#ucZ$&)9AnIimml=e;~1pxf4rz zMOuGCie<}I_03sL9iUEbNblGaC)Fn}B|xyT$MXtHSqPDU7pVk2l|fy~4K5|X9xU3i z(0}x474ipgGyKIw8_em}!&mNw|9M{C_5?E)3a~3)E%G1V$MsAg+G?&c_e4h3pXL# zneH8w6l#^06T9;-rQw^6SkSDwjM#lC zZLdV$2m5zSHVj3i(WkM+-o!K14|{H$eB4se%#5}o(m2b__ik?bHGfc37Soz)?`=f4 zyz;)lui8ROx5jm*LxqTXrknXuvuL9sGC0IsGWzsSf-DGGW%c@>-iSUDX)7i|XLM*_7U z%&h<;Y_mGuc!6c1mE*4$RwM5l!`L}=cmBWM2ZW-+>?pK0LgQzPWW@@NJHXCP z*Iu_rw0tVdPYKrkjoQ`8u2V{l;Nf|=#z4{nH$)|EHln(xhfzg~3ull^jOf>gvq>2e z)Ll2Mwko`zuM0pkdML{@YNV}F=X;5(8UaMH8ke6XvNVY!gePsB;D|dr!RjB%a+K(Q zg(D_=co!G7X3sE?j3$DeK-tE6ebiSHBPaV*Neef4EMT$3HKVGbmp*oRjllfbM2Pw; zI5$mOOXE$H{_J3}lg5j>@rDb3%6332*3sf1B-*EquNsBQw5Y{S5FNo#kKE-K5P&r$Ni*Qq4Jo>{Uxm}E%jk>%W2+CAXu4h!fi7M?))Nu)1@8X{z+y_AG{>tm2yjl2L$K;Hs3VPxV`#76yI^%{Y& z;As@Tbe)om%I50pPfA*M`iwY;m-quA7h6>B;g+2wy(o(+A2zLXopyqzEz2W*{}1Ua zTgTA1`SoFlV2KF*QZXf1w|>U63Tg+xtD8^0GZNEfJcZwk55HOW;pN@gdTN>{Qmd6y zwVB=FbryfV8*>Z4mWZOZP6$Z;$IQ=lpCgBpK(1DGcU}Ii$2GmmJ)F>|uM{XJf+RaT z*@3QlyG??P_ne7wYVLShIR*Xtfkoow-46-$PO__A+B*voo*!_6>t5t&RREfYp6EN> zTd|N9CgEi5c{ZMr{|o_X0o z6L9|fBF8J)OH6C!CL7Howd6yzn0URa+Zmo_%G~8VFp< zv`fevg{03x=w0O9m|BJY&~dyq*t|{A-ASx~Y(c!fHsKsAR?rY#T3AE` zd4>yfpK=h(qFkCszY`Yjg=KoGVvgo;_vxn@j5AhF6dzL#ZwnmTVnMu4Q&3Z+uf78mHm6(mhYXd-F-eB(@BVk(0zJB ze-8+R=6$ykcnPYbFgJYQ>2B10r$Z19NW9cb-STkxebe&K%>`#=js`l)k4OX~vcn z(eoTQB5&%#F@(o)>c1E2WK%MoP!%5Nlb?nOKdbW)SV*LzDpMsJy zz>hH$HR+cadB8jRZ+4r&H;`dB%>mEsfovv1qBf|@q{=*lbp0f?RmWuHYCAT5PPe2d zge%CkSv)V{1x!WOMf#CWRhtSAZ^~-B`8>uNW)&Ubti&P$kMyIKlN?tK0t9c2>i_UX z@RhVxIgq}>+9-hYXU7&?ORJiRQcZ@k#^ud05$@1{iSF`tTma2z zGVRxK+3DnB5+88kum$#x#ARr{BvlxH!>L)DnA4rR*+`l6t6a%;2sq)S6Z z*|n23MI_vSAZ%nO_!FIxYk6)H6S_;j4rD+P^Z&4P9gbA~-~ZZsB(gWD?7dfHWM;3B zEwc9>B{QoMG9w{G$evlr3fY_NE!lqOe!jndfP0_k{XXY)UgKQWlsEd_@nY<1Emrrq z?uM_fefoD7O`Cm)mTpo;6p>F~x(q_jfgTTgbGA#&Unjq!<^fHt;Rn+XOC#?Q-|$bx zCjlzuw(Ujxg+g)jfN7fkmJtim8hYiN6jtf2mK*)gnsbWBUhb)+o|)tll>Rz?eBS?3AvA)s_P{+Evr|IiB$u%pwx)?~tuwdB z%0)_`wZHqBu&1^3>5oEJhw=Y&i=@c_6MAm4tQOn+S{b;`~ZP^H=qqM0!iY!JM z`q%fk6POkOF~IkmpN_o!Z&RR(`mX(FgZ>(K;p93^=UE%JC`Xn76|eGsVc-cgqd{tA_XqAD6>!ON>k5F+y^ep>aq(0z>uq6zC@?k~YXm+jsSzX%O#M-JZ*JdC=?w%y6 zQSoqJ_D4jfW$VJTfOJ4V<{eKNXDY;)&FcYorw=aI0pgX|+he8O*@E?0@o33h1Ks2o`A z)QSb|nebyjk7JuN(=rV;4eFrw$h>fCjx|6fv0g7oY4m zDO-05>WEW)uXFBmyl+3;ncupd7GjrEZED~#z1q)J%^r3^?(?is2b3>q}Z5oAAK_j^9D)cZ!5^{5_ddK|VPUfB1j zPESePu+9_>!s6bRlVbD#QyFHZsuVa!d-JQa1-cSYg zo~h|sow|f=0}n~Xev}g`icTI3oLkL$DIMFqS2CuUFwF%UL8b2`Wm@-a^=og2eZJjH&D~;a(Q@gM&F}48)~x~^SwMs`nv^;o11`UNlgJ|AaouUyL3MH zoQo+0!p>)ew%f5-emWGP89!2`m+Xw1^?jA|Q-_ymjhQ4~xoowkTKfC%6pdbN;@^!}kqSyA{Yj7a!H9ezy(yel_e~Xc_7f zNXrY@pk?mEf{(Xv^uIj5vFtD3Y0AiKdnhFC;d%qZbd#mxTR8~LlPoo#9g8oC?)lui3kZ-Cu)A>6XR%K_a&zjVgn z+mO}~)6db77kDwRuDZVizsNvWFpU=cCjQG>d0lhslcCS}iDF3Jr>|H4jeJjLPHD$X zzLk&9cK|l2A;7(VvDinU4%tErX<`@b^5#1FM?~Wyu2712f0%msgyg{X)90dDyV~S? zTE)WeB-#C1y^?sK#(-k|KwI@nOpO4u1+Ezoa*oc{SdL%LB094Kd{wIM3P!`d@s(re zN_4fbUrNaIHN)t_X?wAeW<-L6*1oQ5O~$VGOzO9ALV>FHj6y)gGE(jFWfPQ4uEFQ} z{dnN9;`-)!MQ8W>hCc%@6e=wCec{-AdY3KG?dzn8JAMyNP0L78^^W9JINLA23MDQ5 zUtYW3E1AEQO`syZJV%vI&Wwm~_IgD2wyfH-$H1a++R9EcZ42(jue}dZ z4XZx(;+tu$M|@V)`+ShVz*{52{jm1qlAI6HnSp{(%V@}q`&oj8g=JX&4ha57B?6$n zfri<^{Sc_Xd&D0FHD7=3be{eF%i|9K*ZCE(fE3UaYXV1R;aAdzT<2s`tuzaZO81X& z%$W>F-O=> zq_oglI^+%pAUX3Ds#N2cSr33dGGKt%No^(8#oSWBvK8jbg*ni&LV9?31yx{=6Ix|F}cx}D; zCpX|IfuQthCm&YTjOJPG42>rPemkFxBmG+9HG5-E)BGcP9RmiQx)=) zKYnl~@nAdvD)$%-n@I{vccLrC;ne&fF}t4cG)%i=Y;4?FZx}1k;4MB`TRUm6$`6&P zam-5Vm-|gSsE8Cwh(GT4G+ZZ;#b}JCe>=RjnUuQoe9rKJD;pqOaZs)|6o6q-8hL;< zi;{cS?`;_`^tcwUBqoqufKz+-)M60I6^M%=U*GhoW3;_k&F4l7yI+`0{VYvv^P)dO zM|bQCy-Y%n+h+gcif^^51Dd(~1z}pCZE;kHh|vRgq6#SG5erfas<_PhD(Hj5;-`0H z!I5$O`9W=bCR|LA!kt?ABy*pM&>p`YJve6R_DfJHAqRgDOPvnCn3x|ktD1lm>;n7h zKOr%0Zt}_54qO)>c^4}$CH3748nqYurk-v8NdBvJiV)`%XCqRb*zeJJl1D2}iO@qi zr$k@CwEMQVLyUchJJNXG60Mur+S&>(mgdLwab#dGqXc#o6WM7W>Ew z!!Kfh+MsjW+3qZ_#8zH_XmjSA%&v*khSuP(bS)PTj z|8~zwteK5hiUep(@@?QQKl#DIj;7QFYIslkCt~{wT>>Z@9n6gTw^Frb2L5DHkRtMv zUpu9WIpc6s<7F!kN8j%>{!CVU@2QsCJ!NZ7;#>EV>~vbB?_=f7f3bVSFEilc4!Tfv z7RSj!zO>|KD2RSFghxk8Xj3gv^5^#`D0pxy2R_gs;n3>@yGN>lDeZlFx+(_Y7p z))Pnln*6P9qLtJ7z9%{{`08$%kDBRc^DLO<2$2G@l6r=eqKzq{Jf*Ix~ zVcA+b4W%|6i^F68Fi7Ryl3>&~Hkulzb5oTYE-0y;rf6rrf45xH07x%UQu7%qdsQfIJ%X+1b1!k_PDoNC-)L za5Frt=!c5v)c5pn${b@fY8k@LzDii4A_A329-s$i|GD6k?&AdKo$0>3oe`cW#qXwX zkF>lsoVhJALoB>kCJAZ}zMW1_V7%=CwQ*!frLwg|sHy@3?XT%^`){FG%6Aex6bE$D zfS_vooOVy%1ljS3fcF76zT~L5m$3+6b<4wbb?}k1UMzObs6QzycQr23YV|4Pm&QFj z+~*6`pMA7UVw=?oKSAlJ|0l7w34(6+-6YGf8=6oIr{tQ}w>Bb#Y5L}xJG&b|o`k6@ zl2Qg&a8QMu#y7b&G^UjchkTDq8I-&_8RYUI1T(vymqw?NzO*%@83`31)i~2k)T;8I>@(p=w zcz`A-o3ncG#{$$P!~HyLp#HGXsk1*;zarC!9$vlQ!wXu(-9r=MKDbNs)+ zRl2N9s0W~JxB)EzWkmi>GwAuO`X#Z<=DfFO>d=m7fpk>;?fa|c)vqDpa!&~mQ23a| z3!oADW0QTzuiCz9R|I5~{b;>(?r0|FHu3FfPq)7{0fIP^pNUhK)^Ey0>y6C)#+6;(y2K#w6ZrhkR zFHt$!#JEDqdL_X~00(JkqZR<>FnF;tSX%b>lpa3qych1=1P|7_a?1bHnlH|jZYBZ^ z=krI<^n{MFT9WeE1_XGp|Eh5i((Q*a?(^*OzC&*i`P##neG}?XLUIZb(cMp)>E9-z zA_DmdI3!`(gTbm*BEgRC9{P#b+c) zOZhV6(oEVEpYC#-=~gT%qf8PNievUI)nqX_#p;cXP^HF?T1MDBwPvrPiOHsKAB!rA z0@rD>(@bLVUI;x{q(z|?%uOVKYYTougI+Lh#X(lu%T=0=Z*z$ziT1gyEzSSf&a^d16s8&Akzk;~M#$JQb*visp>I zc<~kH`<;YtQKTbCrekvh%rv;q|2EJ`bAqIbIzrAjGoU%PSo~bmT33+sCMH!pDUH1k zvOwZQeN#Gi2z8OXiX1Bh6Q!ec&t6f*kM%DFc79i)X=2$1!B3r@)c@cGlhs4Brs(FN z;bFEG$IXG?ZT9D2p6SHB1W5-hUUmNGnFLV?PjuCXJVbdks8e&&nsbBL_kuv^1VSIq z5O7=KBK57ct&~aL*8@|*u1xq>!=*L3ukeatE0O)uDrBmhK4vtfKHVi8S~q0lbQp7;SD z=2Zqh1KC8k3NOH`!rHRRZ{FxH9{}V z$X- zLGn|7Fh!nXTsStXKF?WL7&%gft$7aw)xY4*v$Cu_aK!-w7nUV6vp5^mamBaY)WDb1 zvgBjG`OloxRVk~XGIJT)BUUkO*Our>J$a>A1<{UJzC0bzdd?87;Ho?UZ{-%YoY7bJ z0|VXz`vadR+2=ZR*(1F{K_l8F4zx_y5z+#MdBL4$L_V?rcLfnK^Q?+|j9JOcx)eNzg&JYY%Jb`rh*mKJSL0RcGV);0)oT!tvU9w-M>)Uw1@G(7qV zVr$K+8NsJdN!S(SeJ&~!RL}QtEv+MIkl*?}*!gbuIj`SCYg!~cq?5jM=oh9&ItKU0 zoGTW4P@U7r9MrleHrCSjsvH>EO?CA^nk`5ZzOx8G>X(^$gmZ(tush&<0j*R4fFU4G zM!ylnmL;~=nj5Uq^yheN49`z5Hgd1_Ys|9cyW+x_C(_XvP)>ijwe50@7Kw{VeO*-E z2h@&(9qt8*1NKY~$;QU)qNMhIlP~xj1l2EdA88sm0!>{svloF#R(@(9CU5V&8`kcr&*XmI)mbf4b2EV|d7pMzn zqp#s8=bjQ1(d{p?&$L3M0yH9$ic@HkAYnKXVX$n=C=mqsZ=l(L=D3AL%(|j$t!wUbqG#L%qPHPs?j#K2$>w@?|0zhz!L>pBFHDMo zoCezZ-+vz>+d-_>FM$$%HLU3&VWaSn>x&R3k^*amwDi(<8>#3%H-dM#gS z6O(Qid6n_;sPuM+1>4p?i~(zTbIbfbneW1PXj?HVKdh{C8ImmRd_h z{^=&={+b-B5gq{!vW!Bpb|mUp?oGLx-+KowO6L+)dsXZH;`}_rlx`i2N$&}wDCps5 zYyY(MO>Nz0vH*cslTnjYM)0nmsT(Ap4E_kPk=Y0TG(ZR+SzP=LYg=750}i!3OHn62 z;-iL#%HYftIsI|)i(8j}#i`qV5Mv;RcUF)|^P6O#`UbGFBXljBd*9jTRD0-lILtmh zYoo?KQr8MmWxy9o2x6keL6K(pqlKzWBg_35ZUYa|c&SzafGO}c!Avu9Bc?hP@9p;F zsvF>14tM6PmcY<@w14WAEHw6zba8d@Qc+hU|66EmZ+?%s6g!dz?a>3s-4w>>7HA;Y z6*}R1sNNg@%*#hlMQ76y8HPmJ_d*EfxBfh^Ifd(c@`C_3?F<}}pE488G`qoJ`|~Rc zd6mpsbDnC^DvVLU$>+X0`AW`7R7X59%DG*KGH31L!Xw<=0>{Y*i!sz?3AIxTroA;8 zCga(L5{&%0q0{a#YfEKn$hok=r~q!8z;6skwS!8(2%K~8!McaW&Vwo|7MgzqRvq0U zU}+k8TS|h>-q?cH9etw%`2b%atYG*m8-aD56)b;?j>s1UHg&z9C?Y*^ zZ^e5=HS~uc4m1oLYg$FTRCJnEzu8BMuJF1*BgBME&d%-(y-vz5HJ2B^5>hHvo-VIm zsoY^Nn`dVwJz$>4)o&<$Rr?yE8k!?1u|hoW{?*sa)w%yO^F9RunqHQh;Y~gSX`YH% z^k+pOb~S;jb?f*dR*{P=jYcgOE8sv$ZLZXFo-bz@0U|0-hsOXF=+Mva(6Wz!J$z+_ z{Q^@6Ki>D{GD^)|$_Y{6lMAV^#$2Evf`i7g{zn=x^iWd31=4k%iv3*00!%7kU;)>q z#psi!lf81f(t@$V;fVBa$qxfm!N^q`cZu=^_j}wsMQ#S&KhI{wE0PE}8ScC$W1eH? z5PM}(j^@;5K$&X?mE;pmwiDp2Btu7t>1lG0gZbZn;gE8}vPS{#&FYwgG|c3rv~GJa zbDQbvl}nOlz4VRed`2VhDL&&#y;L^0{O{qx18ZGR7zd8A2!qG2(W&qwfP`=LK|92} zRJ~1TXR~fd1Vc0ibHXd%kD(iw`d3=_Ej;^{Gl&QAl&n#V6aDl7=b3kO|MM|DOCr^K zX>TaCY9-GB_g9A$T2hg+%Mc^Qyrw{=WB9sW6B7Y8Ohu|Cjy021>VF1+fa=w&=(iQ@zK%H zQ;GquZLJgoRa-h`Cn|N3R(bd9tx!_Bsq}BdCkMoG+zg}Woz#yDaR_5<;6tu$>@c1d zUh_MpAtSE=5@ZNsg^G& z?5I9--5fy8)2LaoNUWwo!fQ< zTq)2rC#cxvgL_Xfg-5!l{h(|^8w)2(%t+SXud7>fXY)4^#SA)tfF?Lky3Cq!Y>u1c zc3iL?sO$xO>(dAlY9f;86Z@mfbuvD`#%n7FqW? z!DrRU2DINhWpJ{76&gc|6*2d>dWSZEn}Ticq$RawZ)#~7cNMdm(zEo$7fl@Nb69(( zl=<^^SE_WYrMVZTGDYnjCz~w#)T+!p%g8qYNgtALoukx02mhL-0vRKFr3^CFWV4LH z=mjv0dOt&f&M%Zg_oLp8Ndrfs04;&t%LfB0<8(hdK)~TCj-0}LmMwFhDLRm1R-=ko zDyb-<+8TiI6H-z#$-hSo6? zco8rKC9q)a<+lE`d5B4cz&?n(2y46kX{>sLL^n|5z=jFMxw~F*z=eM|@iRO*f#rEP zinC3&I!_Wm9<3C^BU0s3ALN5qt8B|?A|~*yvgr4%D$hIF!kOu<9_h@{5V`svmF`b4|N0<)n6^=_0 zTo=2^_fYv%e*BnF|AGBZ3=%pNsn;6MTYwDp+ICkSXec|1Aby7h5n`|x3Og6DvKB-< z=)%B!8J;okF+L0gOofkgLx+*&3#n(<8(CjL2HJK6Un`AO`i!Z_AEeFwA|cY?q;z@2 zGgOlQ1!`l+>vu4W1-|SwVHJE^2JtlxKx#et?*ERhts@u1F+&;>1%yj_jOo?xQNf2j(;VoR2?^JOH#$h4X`}kOJ)OW=KCBNXb5@ z_3;z`Li(gZh5;7Knx{gGengT9^^w17loa_GJkE2uDac@+jLKu$n8+M z`#XrOP^5PmB-TGg#lR4zIhx>%-tvT z<~C5M5`8dp2O9!(d%Uzvp%X*$#MSMuxk*%?0Oe8NEA<$VMW!2(SKdItzB+ffwZv_bs99}CVOQgup$?UzHK?E^<3o|A64}Hkd^U-(A2HM9atk!bG~g$&mHHC;l!7LOKc>bqS6f+I=zBD8Y3Qp&y`G z(Y~LVoP6`uaj*H;#Ax89P4wyU<5*V20E0vzOm1uEIZQ3g2|kC%>iz{VNJhUxw*%~w zbxX;?0BX=SHS8g7{zuIm<$@F0U!TrZQkSgD!R>FOXb%%9%o}Zi}Su^kl_~ned!gbbp zt13E@xXksX+5Hxl=;dej?84bRlJom&2fG)^^KtcUC~}a@eSo0-m=t;1Y)W-)S{)4M z!(Zt>8TrIk@QH{h(dy6tDN>@d3MzEAW6}8GAy|?&DF$&-T04YNeEeU6PUFrC-j;4c zY}`xV%>VL&-w|T}(LKys%Ma{D8+5uG(bUq+@=Z9q&xY~;Zd zlm(tGFdytWbTU`u*XDZyI&+JGYR}`)#{w2zhF3T|SW?}(9U;7A05k5o3f@g6O(Vk= z9+Szj@(+lILl*U6gGP;ZI_E9tu5>`&y6ltOWnn?$gv`Gox69DgNRKG0vFO3s0|-@1 zko@8O%!^CW}O8lX<(y;pgymNi{Hg2xA=kW{SUXOM1bf0vfI?zOdi(nn(l zzy(~Jt@s>NwlD4wAl+@T)HeMC8IK)_tWd}4MN~@{fbsztp#{ZE1b7kf$|NanLXt%G z8$vsM`^XY$@{n?{t5zd%&F%iazO!Bq>QGfQ$Qyu;8vL(a-?SRIbmM!LOxgb%r;|WA zW9OvA1czRqhRKl5Eg!dqb$72r&>-KMvQJ*UFL`3+6gVvm1*f1k|IH;2lQL+*;0h&- zi=MLI6@XO(``)%-O@X|YdC@|Po)aLSd1V%17;{brghvzUWjD?LC(Rwe(X{Fb)ZwxI zZSXr0{De@6t^HL)KFk($-)QlHoTCRNX9vREgt(ms@T_<4g-K-uv0q!KqW3FX_nh>I&Jxl1r*Rb%n-f>l2m3l>(Ou5!JB zlHF4QDQ-Tw2@w$uv5!G6b|8>P)38DCkc?Rii}XgC8p)B(?Bipg3P0r*g5l?DF1aI7 zCStQ~m@UMrFI)&754d$a;;%%(`^i@DvE9?yq2a}E&s)!cohtj_Yyldzi-E`Q@M-9W z$Hd*uD9m4L@;JDphJaTG>tR}Fv^{7RE%%tc#$dMhCzV%T2eaVrZ-{wH2N`uA%iQjS zEdWW2sJDYX`1J(gOmOU-u^Fx+)AAD;j*d?=OUmyvs4B&$Paen&9g-A%Fy5+M4a{h& zD#`GB1$!JWN7mgx;r!J?enJ*aW)Zj=Hf^$oDT7pzWyzq27Q!iI zygNYtbwrNX+nvcjK3@3P0CBS8c~z4Draqav&hCpoW1Pt#$VuczX}4S?tc~4ef=P7^1|OKJOw}G@GKWgiC#u4@Vjpa5O|Al0Vz{@W(p(bGKdJ-zqK&@`=2mo7r*XG_2rt7U{V|B- zQCRNDb&rJ_d5sS%TE}3y7t|LNAZNNa4&by7y`{pv6+ihCZipJku}CfOogvf&)$;o> zzs@2Q9vs>2f(VymtZ5K%=rsxC17KsI1EnWe7`K7KtlJdYncbx#xsm>tf&B28;dPl= zb0$$-F6B=Uc**u_6X?Na+5HAx{QVooA`~jbulbqtc$W4hsA^m|a?tdjZYt3k{TyXw zYf;0&CoFgr1wL3`4PsH)2;eM!_9vWo@YiIg*J3=_%V3`Icywz-Pjj9}B$nL#UQNm+ z4~G~bM=@|tP3gr~^^ic>xrfFNeKcFS-KXAdTS3e1Dg5M>-T1C_Nal3+`KNQ7?CEyl zCSPN`Il`xBU{?@frQmn*0&2kF^We3U-S-nrIlQ3Pzz@)0XD^Q&fxT4KBO)NBbcb%^ z=o-f3*cVIK5?_`r(wyfy{PC%C?_{Geu$s3q4NNKYW|(9O`}_s#3pX*>8_A#kKcjC@ z?lTAn{|U2RzLjpUmGC^w)WGC^RH=rqtX|`7FQ?Dwk~Ml5UwX{vaP?w8;X|t=f&iTrt~l87-$cpjdJ+`g#iUxT|3`7n!VR#3#Ed(4C!`6&@?DyJge8ma8XY&!`31nr(t=$?Ba`;^4JXhrmixHxn zsg!CVDp_3b^Z|w}9_oOB_gMaz5f5S4$+H>%X{r0S`@rugFx(6YL{;6NiEIPWk(AQL zmKYmE_h2&lg*F?u7e;W}Mfx#->!s+F8$h2DoLTF?i#lZ1=cx5aH zIQi<*enY02C9US>$R!lUp#(h&&!k8%ncM2a1vWe)S!9g}f^&t3RMXku0ySrA*+aXe zuH1w17DBX1*8Y=0Bn~Q5_@10Y@t+MG;3-#Cuu`LDPqcrN?_zBco>i~MnllBZ`j6-X zme4g1TsdJ#j>EG}hR)ri{@2W1!1VQ7s5l)mXfj1QV}hCEQDaqOLv|Pyo;2dJD{lxXapd$X9`vi zeLEcLteOJiTtSqa3MYd3VhB2K0Ny(qPzz1kRBpGmw8;4UWYtOvBV4*bRi84%4r9p8 zvz^V#k)2 z7qajzz)!{UR^Ob1(8xK~V}|{;Jm8l=4`?HPf-ZZz6?O|%e&21h#?WbcQ+lS&Q(%IPBr7YSGb7Ba|Ky(KrW#TyyP*u8q`nf4VgvArf=!+_mqY@xC zVE04C)DO$J%`7=+%O)WFv)7ngkFqxk(prtvONQ?6$mJ6e>dz`F7buutYT8{6LW%p* zkI95fg;-4d%aD>c$15<^*%3|;p80oocHkP&EXm7#SnR&(RO4Gu`Znl>D-wxK`A1HF znEO}^Yg<&h4X-^%se#@rirE!k?$6(w{vJvXzC?aS?UzA<;}SrsiBR1@KNW=pztvEwoG^jsnl zbS9PLX5`Z4AF2A{#diQc(|7nVIlc!6kAx8nk0Nyj9sxTnsWib^tyN+aG*8QS{6Yu$ zfCw3YPhxIvJ|8)Dw}@uf+cjmnpCk4T6%Bsh@77eytsmbhDJg3+yfjAWanjzzSwf%} z`6S5DbhM0wFToZL^Wr!iHdc|tQ(MlFTi7=T$$$~HK)(@&*}{Ud5}|4eX*jo|)gWEN z2ONKaUXK$_%LU^bjk-NT7dx+Sz^&A9v%YFX-T#Ds6Wq|W0rAN-)sv72?RqAD(@Zvj{W_8qO-m7%2#tqMbmo1MjfVe%-(h{;$7l-=9l>F7Kcndf< z4+hbN0Pju&EW%5_lS<1pf;>giY&}IrL8Hn|iKxw_Z!Veb%S0M0d^?3P9iFG*phetRR z6bU0v1wRe|0p?5yxg|=fpTMD@gv_*w@3c`2&c{wRSSSzTq17XAY!4Oat0qa~wsbg&4Xrm67B0 z{I|x%=zjWNkoM{_MY_2#v&Km+fvheC+f$BZMEFHSYC8OcYrBD-U$}@;g_q%j@VE=V zMVKMh_v1VIh*U*Bk3-IJ{Xcp*oA~(njyy9D)nol%qcUO0Fn&zsl_A5-H_1(`*z?S* z5VZd)s0Rt6l%PT-ichdOVvNc;$Cim0Q=xsJ%>Q5Lb{s=w7#LoZ4o&c$N85vMZ3<`M zCn&9e-rN#_oB0w;#V0$6m`54>_36wFxr6RjGMG0=KGz1s@pd(Ig9ZUxomILrVaj7y zSdIreF(g}a@T%u=IIkv{JOS4rvx7?p44>!y553YDLk^;vhWUy|MIOoiU zFyNwp$^&)WiWe^p7EmF(7u$0pnHg`lzYJr(VAp@;gdO=1oE*|f5Y@Z^4FWk?M0b3b zUPJZG)L}A$rw1ZZFj_44Tv~4g0H~wUuSlRrIb`fp zz@7|~_l~`>0;bwopM-Rcq>RnAbl8;w4GSgnDey7Ng~uX0@Zs_x+y-@$$&3C@6iulpzMGgB!hPhlxnQZG~79dNUm59jZ|>ribw6ehKKo6uY8qh?sP-;k2^&9asjae6Aj z$Im$Ic7d2^y;btL$Ob;h(9qEI1*%Ur#TWx5EX?V;_r4RO-^l+`BX2wqDUoT82Bsm) zBKj!U#2sO>4VfvH#s{%?SmA@<++i0Wk^avnejBv3ZnrIvR%-R5^E*)9eipEM=3om( zOZROBT(u9p{zGnepSwfRm+;~Xv0)9fY4mT#_eQ(AQHKdJ)k#?MVWeZgpn3-gM6Q)E zOzbdCKzOx&@3TEI!9I7-^n*2*Apl`EeSg>hVG^tt%WxAxfXG~5J5eoix#qP5L1k=D zO|!PUZ53cf&C6SZ1h{|(DRc`BKneKOP>TA*?z8;ia}p@{AZn~dNC~i0cY*)0I?E$e z<%a+1y%M&EQ&69dgk^~B4}ckj{Ub{6V55kp2&_=(su5f^gUO4H+{Ad`QweR#VFEHk zdJVeP&62=bivn~Bo2sYrl_7Vr3lP5JN@EG~f?n+`5s zw^s7a((94ww&)vHke_6@k>oVP82<_4lHStY0L_=}K++X?x}A#?{*0E$qRsrphq7H* z=tKPYjlOZ+#_x=JM>d?nqrwTGF+MR%#VYJ%+BfWd{`BsB5^PXqmm_}eELL9!8S1<@ z=;Zcgpdqz*-Dhbz9lYb#N6s-U=Z?34O@&BmgEfD?nziJMmuG*A!LK1ob42@Ax8|0u{}mc!-B@1KUVv zhQGp^pYfso2>7S6H9&gzO`dkeVz6EGKV%~Zpw!h9l8qFSny4nJm=9rA%~^O-U97`1 zd%#I&4q~-l2m^L7ND0cty?D=~R?GFijflW#XL1Z{*=8HN;P(oN;7QBMXoT77GI)#y zfoX{>rUyi`G%HS!C7@Qm{ap<%;hrH#AzOjvVQ_fLA9mE@^SH6M(kTJ35X*dw+-w@o zHTXPdc}kASqE@je@`16xcn==>F%j~q6M^Xf&g50sD%+vd6iy;VrO=&*s!c#9ykV-i z@Bma`AXyZWgc0xG>T!G58F0JbbCH-9J_7~@?wK|T zdmDjHCWS(qNLrbE!9E~aIWHR=4UnRl)#V&||I zkSXBujLZ}_H@_xdG@s!)IDvaQ#)gFL?Vnk8U?bO~<+UQw3I1-S_hRYC>E0lvYKze- zJ$DWMv!aS<($urS2r(NsO%F^=%>EY&zgFsC!WDr%Vqc5Xx7m2XYg#$mXjZA0vU8>e zfp?dmrhl11{#L5u`%n9oP3SqO+&hIK>*%hjrIo3s!B05$I27j4QT|yUp|?ZTqH(6RXo}Ir89)Oz^4r!{;m=C z$eNJ;`Q;5+r&d_0qeb}nz78OTJbBn3{Hh7ZH`CX(8p1XViu`=v{+K?UhZQ+2dJ6!7 z|I<|EQ3`z?KLbJ5Y#G+C4f9out0$qW4u4q_c|;yIXZvY)eCajpmeViMgmB%$7sxZy z(ok7gV~0h`!ORKRDp_2hz| zM&BjPVY2XmJX|WXOyOebBWuZS)*dTRi(!vpCwOeoo!CEJ>0p>yT5+wYWdddc0)EW- z>^eFJ^$A%zSj4H*q{Tj^*SUByWqtr% z;geW_H4W@fQO6&5-+*l5D2)SoqBpQ7gNJ+FJ|y$We*vyww;g5JW4J7$H9H|goDYj9 zujaq3fiG&P;1_J%*;!{z=t0?#;-s$x5a-m)KmxmJ?2`c<`8FU!(5BTmuf9N@i-rg3 zm5I@SceziSh1@_#4K|NkK2_+CBS~R1JaE|SDg78PmY!-=gsxvZV*fP$ytzcr;uLlR zzzFI>5EWMvV`R;L9=9gkc)CD*fH1)j4%>dI6w_boWMumc#NVCFMuWMnDKRha zwWj=|#5*ZTTzTn{J1lNd3H~Bot^YJmO3Kem`Zn}0i)@_)_xI?yTVFFi23 zdBChMbCMlBc7Jk=O*eUG#i8AO3Uki~^o*HmOU;`~ zD7XkphT52=x6h{aGnQqx{*)INJI^OECJpTWqGe+JyP=_7HKK4kp>@f8MUG3T9!)Mt zJF71cyQg{U0DRtiiE+siNt?;BS<9D;)-A6M&oaf2|IBe-q?F2PsPxv%tLXDhJVWeh zC~af~ai*8vDHGxoZmHTzf48hy4MU{8%E@gA)+5ORf65EmVS;Q*YZ!-d)HGVY|OIAl7+g)FD#5O-PBV3 zuMPxhv#YKLACX!z2;M9!53aY{Ic-0s9)x3^zkcoufy>~ ze!Oq(qMd&T;?&@LGK(*FqN$DvwNX8JSXTG(_mpsm|LgBnf7OkZ^M7#J<8p5(nI za}fIV;TNybcTAK|LI;94F_9!$CJtANZ}j=T4vm=w;S&+j<6n#2%zoQ?U&08>P!@%O zyp8!o?QrOulBM{cp(k0n>RBsZc6K((TsZJwRg@baI_s0BsCrOZCIox_C8)n3a?$uy zTRr$I!it2iIcj{bJTag_*zvgK{R%>-qyFF2<#CjED*xl^Ge7m&HIyR;x%)YT&(588 zhy(@#Ua0;tMVrq?B#@hmU)Cmv6_0V5s!trzq1EDhczBhkcX2^DU^9Z(`t4PCmycB; z2?UD&(c-U06uPQ)**#JXfP@qgH7=sU<$B?!zb(-jfi87z;%o17I%=$n-=i~f1rpVj z<<8E#=FEsZY>bcwVnX~u!4@>a=kT|!z0I+|wdWUa`SgtQRk+n=GQu&#-I2Bu4o_kl zE75jc{jPXZeVA`LctVf;N*4yE3J8|foY#n-GXXlu! z68Owxe`|Mj;gNKUJbWo;mOj46)oJ3g?<1w!o#^Uwau|uSB&P{erW{XxP4z0oKJM=e za2h#)o9(d_0xoOMX$+ded zSz54Owjl;ixh)$_FK@h<-%cJmJy`ZCdZj9A&7Hk_WQY?wEl2066=}nzse6!RDO6P3Yn`1zvA6xSllMhJo5`iz4{v@ zd^rO4e132QRwbq~EhY1i*WZKB+tzLye{$yu!OSV+OJ-g{Hbk?My&A5gmQ9TQ%*S56 z)LRhQh=&`@dMO{r; z+Av+n>8mGYc`V_S)urB9kuED(SsC<7f{aZ{Vt&7wX(f3cX($~?0W1@bCv~+H{ zGb48E{fw_6{(;(q{6EuW4t?k^=w#apD!TKzR&AtcJNgCX_pJbuNBa%GC|-nzBVSIZgV z=5Kb$c+~B>ulO`?V%)jEuRbpELv(I+X;5oY+0841GH>|tB3ov}G6EM-dn?@~Q#^`- z(`fdrHV!J-~P%Nll>B@p!AsHIt^Dq*)Wo`)2qJnuq%=Hpdc& zd);=bI;cEGW@gtbN2=_`iu+|h1vuM7(4ORdviTtUiY(=|>xUDisd6@@KkRI%0Ytb6 zUvjsTO+QmS&SyTU8=)rlYu25!6X7WVm+r>tr_oi@Qp%yNy=iFK=$UWdKKnQI@BF88 z^4o-JoABPzP0@ycJp?K3>8q0y4A<}`JLB4ZUZ@8tIMgy}T3TgphfEiIkFka=L*C1w zWFrF5!fK1d^5X)Xo$28QC=tkHp?!9rZd19ZkQ6kDG3_z20WKFIR2{O@K~vRU1E;UD z5*?4mcqea?KCGY@qLRT75DT}PRSM-uK?|A&3?AX?JzDfeE1OB10 zweH_gxf@@Pnh9yH&mI|?-vDm|W>4t7lj+}Y-@X6g@i$e#vfn12)*CmP2L!mPs;XiC zrwTD|mnN}rQ7}R*h@&uRO&V(s@lMH26~YtmTQm;qIc5Fc%<%E8mU;RHp8vFzpvP*; z+h%iSnH7RadEtXyCy)IL-OIA|a(iU$wQ@w|UYbE!#ucqM?fGfi-1F?n_UdP?6+Vfs zUD=%8uT&mKS`**(LOceHI|x$Dp0RaFe{Xte(?2?l=at^a^T+nqnN6D8BP|4V4FJ(|(1N+cXqzFYWCnv^s{^A1bZ&f8~Aiw^&aTs0b*a(zCv9OBJ}``zq8sd0%(UMPPONb2PN{>4w@sE~BQ1 zvelteZ@l%A#4nL|IBsHI7v@$(n`o~edX!!Y==T2j&3jv_u(T;O5G7=KZEfpeZ@1gz zM&I;qR+0VuHnpb9HKP*|JAvDqyqFEUwf^9f<-1T#{%IoaWd0s_2Cve+ATyyo5&1p! zKXOh5)CTsOHB*LLi=tdV|)zPh4r|Km;KQShc=-}duB|rkDRtU@6{@wOEqMmhv&>W6pKb(8GE#Ag1&eEb z?vE?kE&;l)(5u~`d2n;(-N1d}|L>(6J;H4zTI1mpc*?hM z5!QPI4N3;{EZf{`cvpEIrJpmup1OJLC#VX34o8x1x^T`@inK@~z74 zi}nR1l@Jj{Qd*Q!+%$r4=n_$+l~SZ+(~WWfQR!|_QluLsC8b5AdrNmWckc6ho_qg? z%ZKy9ql@*fm~)IV$66~35>{a(_r5}mv1O3&s#JRlqD~1}vgfzpwCa=09`>U6)@4aQ-f4VO=^v}4U2a@x@NG2A_IO!gEvMR{n(M z^QjEQn=d;)n$y5OV5dG0**Q-Y9_$_#KTUov>+K$!v4Uk0N6ORsWmYjMlKj2Q z%Cc1Cd#B?=(<)U=w$SglDG?AmBEj(@!W5QYDRnN0=7`L5o0%^5&%cP7ntCp|@xm3S zyX~hb3vwWv_t&%so`B}CLT_i_-|PR>mHXWTZzfy=a_a8hUSTy-$w5JsROg-;ldwcf zVQE(B7yrxKJdLuz&XMCu!j6q_} z)(rV@d~L_}@JPkl!{gMl$(hYib>0s@+;L%nc+3LF{A+HGT3ys?-FfflzZSCOOmide z*#79&co<*l4!1;l2r-X)qIu!w^fa^4vJS7*^sa?Nk;UX+t-PFUyIj=aetlsY8eYlS ztsa`+Ea@NIFE6-^C|L4t6?8$|eJf(`F7p6B z`c6o|#6<09xn>wol;z$*>kB-+e%KaKM52v(ZKkLApP# zq%fe!g)YO!#O`+wgMp9c)EO4^HHVMpHazSA3lYlb`|IT;mFV0Ix0buNne5XZlh3kxPz)})I%zm0u|b+e$>n2!_so=Qhpa9crV4z_s$Cwo`S zy(995`=mAaX`UCw(FqYRpV`xSHu`_kc-@A&=t z;G5~}iF1b1HVrV_mKVG=03u>^bRP6KR71*lSxJ!08ylM%hsfF5#8DW}k&?1-S^t)0 zP5+;uZXOh_iDN5k#jg(Iyb{p%_VHiM`Fh-&UyHtkB=zF*BjRg3 zf9J+|cy3u73}sam2Z!f#3!i1Cn^u;uB`DP@dvahhiwh@}xzZU=N<%DR<&z3q_%aA5 zg+?m<hSC`=a*3`fzg(XBIeS5ZoZ(u( zLMhdla0S3mMM<&T*-R;$HY~&`Q zzl)k<@v#<0hmY(IB1Oz>iZ12vHW;dl!0Cjefn$bnpihK!jzX<7~rm6 zNzRasL)mQzh(Z&O1c}^8FL#O@XJ3mbH_F8eE`Fi;-A(PvjWC>zXZj)fR=azD_rw;} z#<#EaL%3-cV50QM%AFUf2daDN67ghF*Wk}Tp}(sp_{TR&a*`fl4Q?J293uaB7*r-_&JbljrNI#lNX8tEm4gh~B0J3?OfZQV~xfiS5_ zK!Q90)d%833Wo%PO~L*0k}&#T;_xn*84LRq$U^#T^%j{Ag7FEw-Cv)M?HyT}LdXWX z3_0ZTBYuFXm>+7tcAB4-u?A-7U&Ew@&fb*!Cn%6Ebv~#DbdV5Z_DMbT3I0F91~u8Q z%uhSdLXckrfBw|AuP)0Zr_qrL)3pzNh(bt6@V!ZH&R27f)=oSYM3v9*KVAnc>~yB1 z|B5y)vd+0#R#~#Wcx!mOR>Fj@upkevfQIgO_V!W?a`>kW>Ln*E3%kI7A+xidlLdd; zo1hn}3SD1Z7(Gu5J%1n)BT&RxBv_v4wl=|s+^go1$;oFX>n2-p{=a&LSj}qEm~~| zM^cxoU2xYPxZeeazm~APHp@Y=A#67Z3_b1Dv}5hi&$2mbdRiRhl&0VUg0SHz$Vh1- zUvn$d2SE69ot<=Zdj3*NkoH2#2sE4rfMsmlb*l%!$jThCv*C8bt3LEvXZ4sFUY#`Z z0Oi4ajB%8B(m%DdONYWm5X~n#veY%i>E-pGHyVuLPoR;ClWO0(o)Zh%(BzEQi4yT` z)=Az$-FXA&4+ghZT;@*5E>Z^&NC(qpj=%lxL}=v5gdkV7v?e9xKAzsy=ipR|g5=z15Oz#XPtU+$#?taJZBcZ8ZGKNoTbdV0ZeUEzyJPbE^Kt0ol-NKuMaMArltKvWqx>PtT1}Ap>#fsw?E(n!1tkkMoIea z_DCR4NsGLq0&D?9GCNY-%iQeHfjds&-kgj~^M>11Jat7*WQrG36#zgx4t3h&t`pUW zy^0F^sIx)cT?6f>7`nQ_?^-+>jzaBW zH4Q0Hxz&++EmmF#&=}P(?9_iiu(WKt5Q1wA@UGkraG4Dk*YNuQ7ag4pScs!_Q4Ni5 zzT^-E5Orq3?e#AHv!fN)pLb60&4&>Z9=bPPN*RL|1##cj4_I7tk{CbAmxQ&0O!PA1B?CBnYyVl2`lU$6UTePq^9glnxLDQe1B@ zUl=j7SFbpQR<1ieJ(adwTXoxq?gRv=eGazpc^JGQ%Ie)#Yx^4<7M8YVRAzT%iYYbu>EkD1B zzhn2>*cnGx%oWgGTC)RT3fR}EscG(%V7gZ^B&8gjC0~j^La!LH^Qe6`-gv8cr}FV? z!-l-4-GX0mAc%9bj(Mg98@9H$X!&0Rv}f-eSgiBcqNZOoneG#Ykst?o^Sp-PD+!|0RnBXmM;0s9sB@0}_3|D)1pV)XN4h2ZQ2nL3aZgP%s5cS6 zbFfRRjsLCWn-!BgHSu4pUbU=O?IK(k@sX2w=!3m$FWc?G%?W*u`=>WnyDEprGv_<5 zp^S`VJ~u!NvcHMz_A*$li`$X{no0gPCRTH(R8cG_97yO-e+)t=0Zx4d4Awc^X6D+Dejh>5bU%d)fm^b|!YMf!(`Du7N&!7iF9wKQSvfRj3tum$% zFMuZf3USZ}d5#Nf!3#7QY%Wx70xsB58QUYPd?}ls4m6TewLiV#GKTbTB`K~`p7m>T zujwa@mw8!R82dnb8E`HibfQHQTi1(s&^F`P_8{cc2a80z$LhX`PU{0=I@ERLo|qV& z!_gi6-of!!HOgRDIPdfDT2O4ZP2;f+j1`|m z=r1nz?_q$)%GHu2`ayYLoqW}|rDel4^q%;NA@3*b=HcUlzLe#ePNsQCDcFrH1(wzz ztR(ozCzU4-fvLlTu`wVKPkB6h;d5e2o$T|yfE}WfQEq~2&xX5Yr`vrU#c_x zN#hFg){+w4_WK{aiUpnP9*Q_qhOihmm1+|t%veG>=Fb zM;XPKbz*P7Phb=-mLJ7C7m$CssEgw>pAS-XFv#O39*G5gdJmUPP3|PQ!}AJ zX=l;Gk>10s!8^y?`54+m-z*y!{Tq zm?TghMze?{7mT2c$7^ftvZG~+JP=~O=TpgQYCZ+2pt+{m-s(%|H(JXJjDCK8lstNI zU(M@lLi09fbe%|sARu1$K+buJ8K@$YXJCs*K~OyF=7f`TnOzsKzoA3^Sr+zzn|>UQ;}UNxO~MC=!^DI#+a_WwFzIS$1L^ghyY0261V=L z{6UT&5tIt2`SY0AXV3b7PY#W739h4H^zOdHMGkgAOkiJ7(i&Fy?DcYa9#y4Y4`b5E z{Fy+88TFnV%2)t!dR-n~<2KwbDfvVS$&vrZk008VUP`B>q+MaWncEUd7ZBwOB*@fo z=3LZO3;K%fTE8`SV(vv|iMvCc=&t`#m|BvUhwMBtTXTJx{#hC>>_0@4LE*I6X3R+A zyg1-i%;XhGvQ+qH5Ha80oF2o+iueG&06AFp{tIB0SGzLEEgF(n!Us`~R0ENRsT&~J zV1wp*j*qqWqTlrg@hsPA#zjkl=h^Wxg=k4XyXGiQxk2UfY zjV@hBHi)3X-s=5uTh}$)Zh!L!ofMMt z?gDN@C8h(@q}t=Z-KmwPUlWx11p$c{k$-AqGx^lUaBXWN{%8df-!PFxh*Dpz&-4Se z{<(>^KMhYFF8iL^m^gj}5#!#jO2z(>M}~onrn1)qkxE=|#f8Hywj<@wAkl1#hnN|? zNDPgh6PQ6596t;p~zJeSmGHzI*$ra&Y2t>WW2s* zrCE=TCtaV=DwaCAOm;~oQ9|jZIP-(&&t#}>IYUQ~fB1xiVnA{G^~6zNog?!xs8f`# z&KD64h%hEoQ28mWyz2C*4<&HhRkKre<6pg;g}VmfXTQZ6=s8kNeT3oiA>h1=yBeTB z4mVLL`$KQia;iCarr%BAUUcP(|CTymzW&@ng&S5R3FOx{S*TWYMS3M=(9=08Kg_O_ zWFiu#JM7rWx4@5i_Dt!B?5V=A-SV#L&PcXRkpRnWt%r$;2yy^dFxPN!M)0`Gk0^VD zzt4&RsE(pSsOU(LkaU2#C8M22w@0z%hj$!*c@4NrN~R|kGP8An#ORNQttQ)Lro6BH zGScQWWj{_?V1s*p_QAJY(IoB znM%s4R}BSPo9!}XBJyh| zy!PG#G;8l#JbgNz{3bG!$Hgb&B5@G65 zN4&>?kb6LF)hQsZ&e`<8FyaMK685l4{(Dd`VNF4^@O(!2$gI|GzJ8LtcmbF+h;#iB zRk%lukpR@_SFs=#h4slE^z^{2;@4ynIRN=^yKQu+oJE)t<3ZTwh9^V7r$+s?O#HxAXd9`ub;Ae=C`gIruW3(lnqUQ3{3 zl9G}ZN}b$t)l`lKDa@{Q0<=fVkP9H-PZkXO)bbuGKm~vLH7W8StGpc8k_G4+B6$JT zsZ*ejCj5ER!H8Ukr7!_WWkHmQV*cO9vn%ZExjQFcF2R+(w<`2^RT5=S@)iEkjJeGVXS;lA6POk|E(X%HtK_=!J{;KGr#F z^g2(CJz}46shiX5KlKlK`rWNZ7S=R938H=-_bn5aeKQ#r{z?5>qxxutg zgH%9|0fPL56vG(<$blx#qvk;6Pp>FVJX0Ty8|--={r0rwgEKLe(NLu@;w_#rw}jdslu% zDrbw^*{m;I3Wi%q`9Bk;SbP@(@6at(aBHZ)3I3>bO=pD93DOV z`UP8+Nkvi$ELRd2oe~n>w3QotE>6br{tBHXS>GL1j0-)7p|qKlQc&|06ccl2yQk}( zop_&C4;ETSi^3;$PGxxK@HT5!;10n=QP=)q$Dk!A!pX!~$F!CM`{v(q0)+1cEM6MW zav$+;+82B)OVx%-AH)E8YEP~;y4CP)pf&l4XBwU&=M@#dhpj~E$x=~wg*Bd9C#AVb z<9N%|HOtmCe_ov*Xs*oPJ9VL~$^<`-W#DV_cA)zkV2)kOY57*Q=UN9gTKq=z?=onVOB*hdt~J2CqsjvF@g93 zN`3DSCOGC$4Kfby+lV=CeD44^9i0{rFJAq26YLjXf-lwq`gIS)wY(HSP!ok5Sv6n6 zNyCt>T8IS#he_!+H)^&3=rPugZazCRTP|7XJn*1`s6p9g?B$J`BR^~L^g zKWP-ISw0)RqEx;+bul_Gq=So=0|#pMO)nQ?jV+TR!njWFrsU?H%IwfsN#Ap2ea%wy z;a;&dk?%v)4FnTlBguEzsCx9cyu3UZJIgpQ%ZE@;05eP4V!rRL>!STfMh1r3q;R?9 zhiwIyu2Te9V^-79pTHF@Y3qqm2!Bj}9_Myp&=e88ra zIg360CE)qvO=OT_?tA|F=sqB(mbvbvmq{^qeC~R~!}D}5T&nK)c%`9)xaL~<`}@ZK zBHr#dUj~@#_+gZm)@EC+@sJpV3Q2hgXtnQ3CUDOVwpzX56l^THyz@Z#HXfw;iys&& zT~|LBM}H0MjKR!a+W}S(NPrC6j@Ig0nKanMCfr6OwIK~fK87^(qL@&{9rmIaRBTAY zE@=<|^zDwof#p#Ymz-Hs!@@J&2=$^JXZd?NC1PCcXYlMSEh(ZA9U0&1!M}c0;yFy~ zr)w~+kD#8?#~_tv<+z`nWAogH)#o-|6URz&whfy3NExosr{&^i>-h;1^|8lX`7IxC zB^Cn+jO?_uC&dj(g*7=Qtu*QV+>sWkcZTi_uu+jHj9?ih&tEnzcv49%q=TE5gGP^r zNkYaM%D4-mvv>7sqfb_#Oj%f9phm7>W%B4=54{`MZxmjL-$$+o#{ZDC%geSmy$i+#1V*hl|5VdF`3bOGGqgwY`q~=HFTgR!d?wxklWS{4K1qzn3}!~iuU0h zsCeuFld`!zQE00nASC2`J{`X5d7NQE8=!>?wgb4bsA^{1Z4Vz|!m+Yig{{DDScB)! zj9oah5V@z~KYbemiYw6X@Mbq`tEv**s!h>%n5+_Ksbk5{u8{bGAO~9gRYq1xY()>K zn8w*voUD|{(1(;cLys=GM9prf8ogyA1S}WI z%uCm~Kl_8@u=e~+`pLk3%d9&gii?&;AJPMBoM|NECU8H3&<(*QeB{k*gpGxQ2=u%| zf(swLPOVUuX0r&=LI#uO<*cd4EOBq{r1`d;^<1$OC5nj>d|n3d0G)GKjc2$n_+y3J z3znB?Rb`TC^ocuv3xb!g%45Cu8?`8&`kmy_5sm(QY(ba)vbnCM=`lbm50EW}V9g%f zq|vUNx#-WWU70s^CXJHc0)@N?%8;r$Ur~2?Hb8u#;bCrpgPk=oQBq{+qLxY7OXm`g zdm09AAEI52AKyE^fkc96Oz&_6w^NYKOj?(Qy1Z4$_L}|`nW1(tgCI888ReX=M-)o$ z?@;$zY=a7SH#YWI+UgVrex}$?H8#Bt2ndG4GHYdL|DyHW5p;AZH-`Cw@C>o}l5N5?0q-=&u!D%&mo^fAG2S)dS zjiOY!z~n1j;ToXUc28+Cg3bV|1aMhkLS`s=Lb(2M4||*!%cDz=7Ak@wz$a?t?>5kc zbL$rXmwls9ogC+YPC!Bf*CI9|84`es#tEw+AMO}ZQ|C;iI*(oy0aj@Ggdk+)rqId| zlwjhXg%p`Ut#M4(2`jMZ{DA{eSQp6G0By5pfy+B9CHL7S7FB#NCFLL+z7a)G{evoe z>6qD%g%4W#t!)5_Vc)JXxX{$&Az$&}%Va`3u_&|Z6>@kDtsnh_hKY&(FODTBFhM;AMVpO-wT6;1)@|$g!s!Ze-*%8 z0Ferxj>uS6*iHq?zU+eQpwNQ&iFw_0FNK z)5QksRMeNjJm6uUNziV7FccFR4>bP(#D*```&of^yjN$h+3&iN9X1v55+ETQus&FQ zBXF=v(_L=?LM`6dZ?uvDGCt*NRF>%NGZhb%_*alYz;O!Y@%{Y{^Fb!tbqfjB^fc?y zzcwYW4i_#dTcv%yse7f{5X%Y}$m(Ta3wdl*9GFXmlS|w3l+RUCHSa_hj9tVJ~#_p!lHii#+R zU!lHiYFu|n-c|V}ycpOSkFFKtbxO}&*Pw5Hrane4x|=~J+b|7xN=jZ(|4nD)QldTf zAp8L`WBYu)D~SG}982D~A%R*OXXKi&s&{W5S)naAsim?W-i|&yCJ#_!_=-Y54rlFx zRaw}F{&d1_SeL7;d{*v{2k{*w-1guo$K9j&4~oh^a2wy^Y$>#LR$WF5!F@8(ebUaA zW(B>!##?zMZuz?3+IU8cL;yoY7R^t`s9iA?2V2RYv*{^!P>}dqX4wND1WN-fS~FKv z_>Yh8KV*N?_^#~)exOxMb5;kBZ94l_a6eVC29Lb zu1yBlnLu}iL1AlQutK}@0^c8o^}{Iy(JmBl0C+ih+#PP?elW;yXHVb|Jm>ReZWl6+jh;uW4Mj!E<(k8uEDi z@Mh)l4-Pf3VK@@{-O;r=uc1A8&BF2m&as3Pz$uPr_JE%m;FE{JvcbyRci%wyaY*|O zSFmvXanCZAHchQezYpjN6fNZ>lPdeG*-zlS$?!GK2)~vL(5&TY%7%?wAE@3_j0aW@ zm>X1Ahy|d~ygvHfxpooL0=yoI3>x28AJ|8n48#cM$H>;Yg0GtJ2TQ)`q`U5>Dw$RX zENVI!fFf2(QZuvhXO^Z)+hL&f*r2zgR!yX4fLSDcQh8Q{rVocxawRT$dOu}vXPkL9 zfJu*6uWBnfnCQ2xpCYeLtyu?Z5{Mb(zEH!5##g@LW-~Y2!G*n$E;Sy8k9@*xLP7Cd zh?m0(j$N>L4TJX;YGM$t`1S7~S=dQHPd~CHZZ~dvNe}nw@Z1(u^R!m}Gav{&&H|ib z;ty%vUZUi+d*v>`=D?6Q+{qHFI?a$69UA-DJ?yc5)*Ew>21OPK9B}nu!Lcv@(bykZ z&v3}NFrTpLVMT)AEqi_zi&|9E*GO|&-3e9^^2$shD&E3F_#kh#g@Wz|5OdQlmUUbh zj1s??P@0Ym;|YPk7s;`1@|+ljy3ibXd(VRNl@N6w>{O$2>qaH^S1e?LlA}y z1{bz=XIJ$pX0aGbaB$x2TNM+2nzHL@Sy9TuBdAMfSAeXd&{sOrJ^VcN@4l?f$MWnr z0x*n1y^B$ZDl{g+HGe~@%U>i`Ef3(|Jho?vAQOg}eh8*a+R0o4+}LASYbI?v4S-=S z3j~-UE3S;r+_TzoGDES0yUUWN^S@aN;x-6P)yB znzG%;X0rMmTsrWW^lxI4LXpvZI0_oVm(xLRsTc8c`vg@n!rDvP)}+w=EdQE5wpY>O4zA1p$6U(fL41z&L{p9cBzM zT_z}8K%*$=?3QPmO8;E}fnwHb^#10>OT--arLpVr;`CdPw1ctzt`2+o7u;@MkCRox zS%Lh8IS1a#neCV_D}!ASZcIcb+G6d)2pW;z-U(a#AgHUNP#k$h@#YJMA;dB~i zQm#ue%huzwJpJ<2(%;!@G7>GA{SdchRk*Mwo8P3Ci2(8bAc=#dT!)jq!F0jY$-^63 z4)h>W0|`wVp2eR1*k9YarxtqG+`@vxg)f_e;cB#APdh{(5wOP;VaDIyOw)X}UgA)i zSlsvdFRMSh*Jg?yuR^ z*jGe_xkjeV&IDo>{DYF7pK%O!vuC`oizf*!niodekW=u(Kbl z2>ic>#h@kuH9jK-q7&g(p()8B@T(0k@G~nsP&jQT8}~TD(kLWF2vz`RDwKF}-;v)_ z8i>=*3s6&p8F=}{t8=`O+4{k-pmpJYeXzy$LFZv=2e6j++DU1Ql0UC}V&2M4E51|+tAmZ_-w^QTfZ9VXy8V@{Bw$DP_>HPitD%gnR zH|ziV+rGf)Bz?uWxwl81LKbhN0X3p>#Wd##T9#bjddPDCdKvIu=qweCFqfPV->buArn_v`2-3|a2eI{yYtia`cxvyjctKdTk@OmPY_{jPaJmL55wX-t-1)V zg$;ky!i5!+Mw#_BFE!LoB|7vRs;`TqA7Nf3`GKZ**AWmmHF0q3n{pTsgqT&?Kfz>I zoQV34c_pbRzc7TYgM1*s2YmNJ*?FlTY5zB0aYMpUH&6SvwgO-C^yjjP5+xVT&PxHe^MU8oM3;lu(${N!*v0E m75sRUV4H=X{~!O#8F{I)Ns^JXLjm>+75-6`$$R+x-TwifyfMrG literal 0 HcmV?d00001 diff --git a/src/static/i/blog/tau-day2.png b/src/static/i/blog/tau-day2.png new file mode 100644 index 0000000000000000000000000000000000000000..292ac721c16d59a7b2a22e3b9de4f114abc41d5f GIT binary patch literal 96599 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 literal 0 HcmV?d00001 diff --git a/src/static/i/blog/tau-day3.png b/src/static/i/blog/tau-day3.png new file mode 100644 index 0000000000000000000000000000000000000000..36dc9a00d3d78e264c09a6d2be3d0e7de37e79e1 GIT binary patch literal 283221 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𝔒o+HH4odo2`0RZ{ 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�+2{v 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]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

    `&4=Gz$>G zp18X5g0NxVgA~}s?sBz&EFFaf-eoKSU!mJj;_GHPdipKHtNBfE`TRvN=3e?Q=xwmF zIrIp3lvtI!u$V_J-P$X0t5%Cg#2H({b7}N$ioZ=>)qBSrBSUSXHZaFf1)-+=(r`(` zRCWHUHws|yZcs^^U|dn8L%`J~3p+$QX^oUgnzqSt{jXim-B>)!FrlM!L*A;`}?%hfT!6pFay^BG9=6Zj+Ha;0IOOD{liQQU*dra#rx%+$LyF> zap?b*X|cbb>%^rd+DAsj{XYMra>7JlVf>}^Qh2qILd(9QU%y`NPS|e&@qEz>2&CYAk R;OXHE44$rjF6*2UngF5scas1B literal 0 HcmV?d00001 diff --git a/src/static/i/flappy/background1.png b/src/static/i/flappy/background1.png new file mode 100644 index 0000000000000000000000000000000000000000..4b4b946f558e14e71eb4773581b3e436c30efa9d GIT binary patch literal 806 zcmV+>1KIqEP);fGZS{EFVBNoK<{vg@r?9EQ6ggCY%e%8kq4ayO0rp; z^_+s2dwCA%Ix1w3mbONk`T`Li+YI+TfNQ-Er_;bNG%%VS#0Z<&+3SHM>1Cj>Nt&lw z01h{`<8)&)`Xiv!^0pfp)xZoN2Kx5Bn~Pmb0YqpI;H{>nK6$t)r+H#0BF?O}f;E2v zaN7W3X2?YM+Nr2pZ4gkgg$1t}{;dOUxKtRFPJMu~1zhV+bAXB+X%G18nOlldeYmw8 z)MH91RC^f9q`2uQa{y#AlJqm9d;YhDY7au=lfbzHB12S9)C&j(bD9APBMQsC48Sdb z!wr)miAN!4-W|>g5Lg&VTy0Q-a7M932CkESN|_w_FJvxXc>F7B-s_G)>27T>a?RCB z-38WD!}*7n!ofE@P;)n6^8nN`;AG=z4z=8Rg-Wg*dwht!BjWM5}2Ieb(X8t@d$-{kYv3MV)up%<~oneH~+Ly?K zMLXbCQG65ROi>i_Ls4A)aBFyGYJIZ)0{dD`ugj_|7mLNREX!qCE#Q|Wj>l1PN;Ae1Ry*LMVvRh6uS&5GF>r+=RC+)f kx7SuJYPz83%h0H#SqK~yNu?U1nv12GT;*C_bVC8(6|%x`dGD&t#=(nui0~{&}9V{K9 z0&O!BID`utnKrQqwC&oVAj!pY$RSg~RE5<+j*;mTlce#Y3k+^4$tvs&hi*6vZ#EP8 Q3^bR))78&qol`;+0E6-_j{pDw literal 0 HcmV?d00001 diff --git a/src/static/logo16.png b/src/static/logo16.png new file mode 100644 index 0000000000000000000000000000000000000000..c1753c71afa9250034967d13f9b4f5ff9cca2b62 GIT binary patch literal 5074 zcmeHKc~leU77vz9kP58=6^b!n3*sb`1+tK^B?v(R6i`4O%49N-5weg32)H0sM8qdl z5EQB60!2k!s3=e^Dobrewu(NrSPm8xHG(MEit;7_70>HGp7Z*jGiNe0_q+FZ@BMxE zyO}RLIMCP3WS$8Qhcn~*@j|e>x%M(P#D3?GOh7oCJ}oUQLKOm~;N=QgESiAeRjG0W zkEqdD98P`nTDYXJ&vDjxo71Rqp{Jj1R@>O9;hJ#(ysYZf+z;%(euHFrf%nO>h5t!> z`D1$43nQcaT;i4$0c1Odw@EhDFuBBcWjO0%orcsR83G?`=+>cj-TPJnnrCNHS$6EN zn*H1vr|M({EjCUG6Qg&GrDypL;q#~Hbj`@1_n{mXQ`BcYN5TQPZ_pO2MG zqay7qosG%dJ>1n6?)Eg%iID(?*^#O|Z@0m(n^QYuo?WKPVonloZX8%c{QhG3!MeGv=Cu}ulnb8;qJK!M3r`1|7aJV7 zq={HS>YwS_x$8=+b76+XJe#mc+?}ff@RPv{r2z$T*$%j?*82D9>v=?<4KyfBt-ixZFYPym4f+^!tl zoiTH`!}%=VePgA${$Cw2?ZK8LFW!NQT@IH!TFe(VS0uVNRj%9^+EH<&oL`-4`h}&S zb#Y{13A?!b&@Nh}zf)Y}m7$X12ipvoR>bq02vv;-n*0~ldb_)X9X`4Gbn$BG?X}zq z@kzA0aE0dA1!Z=1Pj8%#3gXQ6lc?zz^DMGHwn6W@#qa438ZfQwi2b)!sB(W#d~Omsd3mq?v!ROf>+$YUc4XSqJa2+Rx+TN6HdksB3aBPy8G` zyz)f3a`XM1S#|8|;q)?5E;pFZ<-YD8 zSl1|7_YKGIQt+J2psuZixn6Et7@~?mOP-Iu)iH02MVnUaUuKkF^vWxLvqMwUS8{;y zygDLDp4ffu!ZLIHbWhuFOXfr$YJ9Q7JI9*D?rBLKv+b#$Z9a&UNA4$kc1fr^x8&@8 zc;v>PTXEjz?OC7gj%+S*SlAo2YV21*l2u>it99wibBn93&CRppc0)HCZ5l)O)Lcm2 z$GEull>gd5_UcZ9?D@4->hb2<-%mAA?PFOkLADDlO(m7zlbws_4Lc-;T~qyRMX@_t za)uHA$D;V2{2#%RuJFRzzVz02VBh5FwFFh!E8hIo9xT zIJSpc4#Dw=3NJ+BP$`G-xc)~19u;v2;VuGDAm<`t)Gtkegr)_C!D;a@Q$+A^H({$; z7=Q#(L3p(!L8@e_IRqUp3wzdzNd&x3MHSB>L7VcWD3FE1kYB8 zVp$=)B~uXC8;2lPspKpYDJ3O^m_jAW6mcXnlgT836cU93U>bljRjPv2fK+L(g_y+P zAxc<*%2lXLiq~R7LRpfELm*(|_}B4C#Q)c-_cZ|v2V$GCpPVfE}iLtVCHXd-_d@ZyG|L?5(rp48JwgIkI&-} zwEkHl8H|cpx<`mcXVNKTIzXe5X#mZI4gpLCga8m23(`dlGAtB9)1dfLr3#Y5h!zS1 zC!!b*;=-VcV(Bgb=n7*HBAP3}goIQ80Yz{u3^O1)0#AboQlMB>LJ8BO(n5(aD26LV z1PMh<0Cr`-01al)04ABi02nYV1Q7~ErBf(6C=twBB2!2pY&ua16o-)H(m36KmT;C= zFrP!95W%;S-~>n&iy3eT0jM-d{dOP>l^~%iNXsVKl}4txQW)4tr!kl=Zl6dfSzx)axC#VP$rNESSptWk4GFKc)Ri}$Jvk|Us1nmi z)mHpe&4(h1lW&ttAOY14;qkh%WkK+y6D5?4h;)uHyU8I~3`yebvMlS*$7rQXpP&Sf*GuSOMv>!8_`x zbb41iMT}^90Q=DmO{0EPzx%dY?V9+0&ycfS8==wm{dol1{${(uh16}XMzJSs4=0D ziZAdn>ethsF~>IR_v%VaB{eAta86VZ<#MB&!KeS@;wt1e1 q^v()#@&1ig$JAyU$|QAJdN^vW^@A;aMY}McIKEFHugW{->;D1+8>;>Q literal 0 HcmV?d00001 diff --git a/src/static/logo32.png b/src/static/logo32.png new file mode 100644 index 0000000000000000000000000000000000000000..ec39d181794faad78f448c6c9d02bc627653e6b7 GIT binary patch literal 5670 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 VulH30rBFsNma_-*h+|;Ve*rOLx}X36 literal 0 HcmV?d00001 diff --git a/src/static/logo320.png b/src/static/logo320.png new file mode 100644 index 0000000000000000000000000000000000000000..c59d5600e36827332b3b686498fa78411fdd5d99 GIT binary patch literal 7445 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 literal 0 HcmV?d00001 diff --git a/src/static/logo64.png b/src/static/logo64.png new file mode 100644 index 0000000000000000000000000000000000000000..748f3e738ec98ea61734774bbb050d915602f472 GIT binary patch literal 6437 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 literal 0 HcmV?d00001 diff --git a/src/static/style.css b/src/static/style.css new file mode 100644 index 0000000..a7635c5 --- /dev/null +++ b/src/static/style.css @@ -0,0 +1,232 @@ +@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@500&family=Source+Sans+Pro:wght@400&family=Fira+Mono&display=swap'); + +@media (prefers-color-scheme: dark) { + :root[theme="system"] { + --bg: #242328; + --bg-intense: #141316; + --bg-faded: #373338; + --fg: #e0dedc; + --fg-faded: #9b9497; + --accent-1: #96bf59; + --accent-1-dark: #759438; + --accent-2: #789ebf; + --accent-2-dark: #52729d; + --error: #ee6d7d; + } + .only-theme-light { + display: none; + } +} + +@media (prefers-color-scheme: light) { + :root[theme="system"] { + --bg: #f6f5f2; + --bg-intense: #ffffff; + --bg-faded: #cbc4c7; + --fg: #28262b; + --fg-faded: #989097; + --accent-1: #0642c3; + --accent-1-dark: #07136d; + --accent-2: #0f7904; + --accent-2-dark: #094a05; + --error: #a50518; + } + .only-theme-dark { + display: none; + } +} + +:root[theme="dark"] { + --bg: #242328; + --bg-intense: #141316; + --bg-faded: #373338; + --fg: #e0dedc; + --fg-faded: #9b9497; + --accent-1: #96bf59; + --accent-1-dark: #759438; + --accent-2: #789ebf; + --accent-2-dark: #52729d; + --error: #ee6d7d; +} + +:root[theme="light"] { + --bg: #f6f5f2; + --bg-intense: #ffffff; + --bg-faded: #cbc4c7; + --fg: #28262b; + --fg-faded: #989097; + --accent-1: #0642c3; + --accent-1-dark: #07136d; + --accent-2: #0d8101; + --accent-2-dark: #045901; + --error: #a50518; +} + +:root[theme="contrast"] { + --bg: white; + --bg-intense: white; + --bg-faded: #c0c0c0; + --fg: black; + --fg-faded: #444444; + --accent-1: blue; + --accent-1-dark: darkblue; + --accent-2: #0088ff; + --accent-2-dark: #004488; + --error: #880000; +} + +:root[theme="special"] { + --bg: #ffff00; + --bg-intense: #ffffff; + --bg-faded: #00ff00; + --fg: #ff00ff; + --fg-faded: #ff0000; + --accent-1: #00ffff; + --accent-1-dark: #0000ff; + --accent-2: #000000; + --accent-2-dark: #00ffff; + --error: #00ff88; + font-family: "Comic Sans MS", cursive; +} + +:root { + color: var(--fg); + font-family: "Source Sans Pro", sans-serif; + font-size: 20px; + font-weight: 400; + line-height: 1.5; + --link: var(--accent-1); + --link-hover: var(--accent-1-dark); + --link-active: var(--accent-1-dark); + --button: var(--bg-intense); + --button-hover: var(--bg-faded); + --button-active: var(--accent-2-dark); + overflow-wrap: break-word; +} + +h1, h2, h3, nav { + font-family: "Roboto Slab", serif; + font-weight: 500; + margin-left: 20px; + margin-top: 16px; + margin-bottom: 16px; +} + +h1 { + width: fit-content; + margin-left: auto; + margin-right: auto; +} + +body { + background: var(--bg); + width: min(750px, 90vw); + margin: auto; + min-height: 100vh; + display: flex; + flex-direction: column; +} + +main { + flex-grow: 1; +} + +footer { + text-align: center; + color: var(--fg-faded); + margin-top: auto; + flex-shrink: 0; + min-height: 50px; + font-size: 12px; +} + +footer code { + font-size: 12px; +} + +nav { + padding-top: 10px; + width: fit-content; + margin: auto; + font-size: 20px; +} + +nav > svg { + position: absolute; + top: 16px; + height: 20px; + width: auto; + padding-left: 15px; + padding-right: 10px; + fill: var(--fg); +} + +nav > a { + color: var(--fg); + text-decoration: none; + padding-left: 10px; + padding-right: 10px; +} + +nav > a:hover { color: var(--fg-faded); } + +a { + color: var(--link); + text-decoration: none; +} + +:root[theme="contrast"] a { + text-decoration: underline; +} + +a:hover { color: var(--link-hover); } + +a:active { color: var(--link-active); } + +.faded { + color: var(--fg-faded); +} + +p { + margin-top: 8px; + margin-bottom: 8px; +} + +code, pre { + background-color: var(--bg-intense); + padding-left: 3px; + padding-right: 3px; + padding-top: 2px; + padding-bottom: 2px; + border-radius: 3px; + font-family: "Fira Mono", monospace; + font-size: 18px; +} + +pre { + padding-top: 3px; + padding-bottom: 3px; + padding-left: 12px; + border-left: 5px solid var(--accent-2-dark); +} + +button, input, select { + color: var(--fg); + background-color: var(--bg-faded); + border: 2px solid var(--fg-faded); + border-radius: 3px; + font-family: "Source Sans Pro", sans-serif; + font-size: 16px; +} + +button:active, input[type=button]:active { + background-color: var(--bg); +} + +button:active, input[type=button]:active { + background-color: var(--bg); +} + +.error { + color: var(--error); +} \ No newline at end of file diff --git a/src/templates/404.html b/src/templates/404.html new file mode 100644 index 0000000..aeaf127 --- /dev/null +++ b/src/templates/404.html @@ -0,0 +1,17 @@ +{% set meta={"title": "404", "desc": "Page not found"} %} +{% extends "/_base.html" %} +{% block content %} +

    The page you have tried to access does not exist. How did you get here?

    +{% if request.args.get("source") == "here" %} +

    > From another page on this site

    +

    Oops! Please create an issue so I can fix this.

    +

    Return home

    +{% elif request.args.get("source") == "other"%} +

    > From somewhere else

    +

    Unfortunately I can only fix my own mistakes. Please inform that website's owner that their link no longer works.

    +

    Return home

    +{% else %} +

    > From another page on this site

    +

    > From somewhere else

    +{% endif %} +{% endblock %} \ No newline at end of file diff --git a/src/templates/_base.html b/src/templates/_base.html new file mode 100644 index 0000000..20e442e --- /dev/null +++ b/src/templates/_base.html @@ -0,0 +1,92 @@ + + + + + + {{ meta.title }} - TriMill + + + + + + + + + + + + + + + + + + + + + {% block head %} {% endblock %} + + + {% if meta.fullscreen != True %} + +
    + {% block title %} +

    {{ meta.title }}

    + {% endblock %} + {% endif %} +
    + {% block content %}{% endblock %} +
    + {% if meta.fullscreen != True %} +
    + {{ data.feet | random | safe }} +
    + {% endif %} + + \ No newline at end of file diff --git a/src/templates/_blog.html b/src/templates/_blog.html new file mode 100644 index 0000000..9da7586 --- /dev/null +++ b/src/templates/_blog.html @@ -0,0 +1,35 @@ +{% extends "/_base.html" %} +{% block head %} + + + + + + + +{% endblock %} + +{% block content %} +

    {{ title }}

    +

    {{ date.isoformat() }}

    +
    +{{ content | safe }} +
    +{% endblock %} \ No newline at end of file diff --git a/src/templates/atom.xml b/src/templates/atom.xml new file mode 100644 index 0000000..f9b9f11 --- /dev/null +++ b/src/templates/atom.xml @@ -0,0 +1,21 @@ + + + Blogā„¢ + + + {{ data.blogposts[0].timestamp.isoformat() }} + + TriMill + + https://trimill.xyz/blog/ + + {% for post in data.blogposts %} + + {{ post.title }} + + {{ post.desc }} + {{ post.timestamp.isoformat() }} + https://trimill.xyz/{{ post.url }} + + {% endfor %} + \ No newline at end of file diff --git a/src/templates/blog.html b/src/templates/blog.html new file mode 100644 index 0000000..b608ad3 --- /dev/null +++ b/src/templates/blog.html @@ -0,0 +1,14 @@ +{% set meta={"title": "Blogā„¢", "desc": "Blogā„¢"} %} +{% extends "/_base.html" %} +{% block content %} +

    Welcome to Blogā„¢. I may on occasion add pages to here, in which case the list below will update. You can also +get updates delivered directly to you using the RSS or Atom feeds.

    +{% for post in data.blogposts %} +
    +

    + {{ post.title }} +

    +

    {{ post.date.isoformat() }}

    +

    {{ post.desc }}

    +{% endfor %} +{% endblock %} \ No newline at end of file diff --git a/src/templates/index.html b/src/templates/index.html new file mode 100644 index 0000000..5e0599e --- /dev/null +++ b/src/templates/index.html @@ -0,0 +1,51 @@ +{% set meta = {"title": "Home", "desc": "Home page"} %} +{% extends "/_base.html" %} +{% block content %} + +

    +Welcome! On this website you may view a multitude of content, including numerous +projects, a Blogā„¢, and various other information contained on +this page. Enjoy. +

    + +

    About

    +

    +I am a person (proof of this fact is left to the reader) who has been granted an internet connection and uses +it extensively for assorted purposes. Much of my time not spent sleeping is spent doing mathematics, +programming (preferably in Rust), Minecraft, conlangs, twisty puzzles, and chess (although I am quite bad at it). +

    +

    GEORGE

    +

    +GEORGE is a webring of which I am a member. Use the standard-issue GEORGEbox +below to view the GEORGE homepage or access the previous and next members in the ring. GEORGE is inevitable. +

    +{% if theme == "light" %} + +{% elif theme == "contrast" %} + +{% elif theme == "special" %} + +{% elif theme == "system" %} + + +{% else %} + +{% endif %} + +

    Other places I exist

    +

    +Email: trimill012 ("at" sign) gmail (full stop) com
    +Discord: TriMill#6898
    +GitHub: TriMill
    +Youtube: TriMill
    +

    + +

    Source code & attribution

    +

    +The source code for this website is available on GitHub and is +released under the GNU GPLv3 free and open-source license. +It is built using the Flask web framework and incorporates +icons from Open Iconic. +

    + +{% endblock %} \ No newline at end of file diff --git a/src/templates/projects.html b/src/templates/projects.html new file mode 100644 index 0000000..16ed51a --- /dev/null +++ b/src/templates/projects.html @@ -0,0 +1,20 @@ +{% set meta={"title": "Projects", "desc": "List of projects I have made"} %} +{% extends "/_base.html" %} +{% block content %} + +

    Here are some projects I have made over the past few years.

    + +
      +{% for site in data.projects %} +{% if site.hidden != True %} +
    • +{% if site.star == True %} +ā˜… +{% endif %} +{{ site.title }} Ā· {{ site.desc | safe }} +
    • +{% endif %} +{% endfor %} +
    + +{% endblock %} \ No newline at end of file diff --git a/src/templates/projects/complex_grapher/grammar.js b/src/templates/projects/complex_grapher/grammar.js new file mode 100644 index 0000000..2f99cef --- /dev/null +++ b/src/templates/projects/complex_grapher/grammar.js @@ -0,0 +1,1602 @@ +// Generated by Peggy 1.2.0. +// +// https://peggyjs.org/ + +"use strict"; + + + function toFixed(x) { + if (Math.abs(x) < 1.0) { + var e = parseInt(x.toString().split('e-')[1]); + if (e) { + x *= Math.pow(10,e-1); + x = '0.' + (new Array(e)).join('0') + x.toString().substring(2); + } + } else { + var e = parseInt(x.toString().split('+')[1]); + if (e > 20) { + e -= 20; + x /= Math.pow(10,e); + x += (new Array(e+1)).join('0'); + } + } + x = x.toString(); + if(!x.includes(".")) { + x += "."; + } + return x; + } + + class OpAdd { + constructor(left, right) { + this.left = left; + this.right = right; + } + gen(ctx) { + return "(" + this.left.gen(ctx) + "+" + this.right.gen(ctx) + ")"; + } + reduce() { + const left = this.left.reduce(); + const right = this.right.reduce(); + if(left !== null && right !== null) { + return new Vec2(left.re + right.re, left.im + right.im); + } else { + if(left !== null) { + this.left = left; + } else if(right !== null) { + this.right = right; + } + return null + } + } + } + class OpSub { + constructor(left, right) { + this.left = left; + this.right = right; + } + gen(ctx) { + return "(" + this.left.gen(ctx) + "-" + this.right.gen(ctx) + ")"; + } + reduce() { + const left = this.left.reduce(); + const right = this.right.reduce(); + if(left !== null && right !== null) { + return new Vec2(left.re - right.re, left.im - right.im); + } else { + if(left !== null) { + this.left = left; + } else if(right !== null) { + this.right = right; + } + return null + } + } + } + class OpNeg { + constructor(arg) { + this.arg = arg; + } + gen(ctx) { + return "(-(" + this.arg.gen(ctx) + "))"; + } + reduce() { + const arg = this.arg.reduce(); + if(arg !== null) { + return new Vec2(-arg.re, -arg.im); + } else { + return null + } + } + } + class Fn { + constructor(name, args, argoff) { + this.name = name; + this.args = args; + this.argoff = argoff; + } + gen(ctx) { + let name = this.name + "$" + this.args.length; + if(ctx[name] === undefined) { + throw "Error: the function " + this.name + " does not exist or has the wrong number of arguments"; + } + if(this.argoff != null) { + name += "_o"; + } + if(ctx[name] === undefined) { + throw "Error: the function " + this.name + " cannot take an argument offset"; + } + let s = ctx[name] + "("; + if(this.argoff != null) { + s += toFixed(this.argoff) + ","; + } + for(const a of this.args) { + s += a.gen(ctx) + ","; + } + s = s.slice(0,-1) + ")"; + return s; + } + reduce() { + for(const i in this.args) { + const a = this.args[i]; + const r = a.reduce(); + if(r !== null) { + this.args[i] = r; + } + } + return null; + } + } + class Variable { + constructor(name) { + this.name = name; + } + gen(ctx) { + if(ctx[this.name] === undefined) { + throw "Error: " + this.name + " is not a variable"; + } + return ctx[this.name]; + } + reduce() { + return null; + } + } + class Vec2 { + constructor(re, im) { + this.re = re; + this.im = im; + } + gen(ctx) { + return "vec2(" + toFixed(this.re) + "," + toFixed(this.im) + ")"; + } + reduce() { + return this; + } + } + class Conditional { + constructor(cond) { + this.cond = cond; + } + gen(ctx) { + let res = ""; + for(const part of this.cond) { + if(part.length == 2) { + res += "(" + part[0].gen(ctx) + ").x>0.0 ? (" + part[1].gen(ctx) + ") : "; + } else { + res += part[0].gen(ctx); + } + } + return "(" + res + ")"; + } + reduce() { + return null; + } + } + + +function peg$subclass(child, parent) { + function C() { this.constructor = child; } + C.prototype = parent.prototype; + child.prototype = new C(); +} + +function peg$SyntaxError(message, expected, found, location) { + var self = Error.call(this, message); + if (Object.setPrototypeOf) { + Object.setPrototypeOf(self, peg$SyntaxError.prototype); + } + self.expected = expected; + self.found = found; + self.location = location; + self.name = "SyntaxError"; + return self; +} + +peg$subclass(peg$SyntaxError, Error); + +function peg$padEnd(str, targetLength, padString) { + padString = padString || " "; + if (str.length > targetLength) { return str; } + targetLength -= str.length; + padString += padString.repeat(targetLength); + return str + padString.slice(0, targetLength); +} + +peg$SyntaxError.prototype.format = function(sources) { + var str = "Error: " + this.message; + if (this.location) { + var src = null; + var k; + for (k = 0; k < sources.length; k++) { + if (sources[k].source === this.location.source) { + src = sources[k].text.split(/\r\n|\n|\r/g); + break; + } + } + var s = this.location.start; + var loc = this.location.source + ":" + s.line + ":" + s.column; + if (src) { + var e = this.location.end; + var filler = peg$padEnd("", s.line.toString().length); + var line = src[s.line - 1]; + var last = s.line === e.line ? e.column : line.length + 1; + str += "\n --> " + loc + "\n" + + filler + " |\n" + + s.line + " | " + line + "\n" + + filler + " | " + peg$padEnd("", s.column - 1) + + peg$padEnd("", last - s.column, "^"); + } else { + str += "\n at " + loc; + } + } + return str; +}; + +peg$SyntaxError.buildMessage = function(expected, found) { + var DESCRIBE_EXPECTATION_FNS = { + literal: function(expectation) { + return "\"" + literalEscape(expectation.text) + "\""; + }, + + class: function(expectation) { + var escapedParts = expectation.parts.map(function(part) { + return Array.isArray(part) + ? classEscape(part[0]) + "-" + classEscape(part[1]) + : classEscape(part); + }); + + return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]"; + }, + + any: function() { + return "any character"; + }, + + end: function() { + return "end of input"; + }, + + other: function(expectation) { + return expectation.description; + } + }; + + function hex(ch) { + return ch.charCodeAt(0).toString(16).toUpperCase(); + } + + function literalEscape(s) { + return s + .replace(/\\/g, "\\\\") + .replace(/"/g, "\\\"") + .replace(/\0/g, "\\0") + .replace(/\t/g, "\\t") + .replace(/\n/g, "\\n") + .replace(/\r/g, "\\r") + .replace(/[\x00-\x0F]/g, function(ch) { return "\\x0" + hex(ch); }) + .replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); + } + + function classEscape(s) { + return s + .replace(/\\/g, "\\\\") + .replace(/\]/g, "\\]") + .replace(/\^/g, "\\^") + .replace(/-/g, "\\-") + .replace(/\0/g, "\\0") + .replace(/\t/g, "\\t") + .replace(/\n/g, "\\n") + .replace(/\r/g, "\\r") + .replace(/[\x00-\x0F]/g, function(ch) { return "\\x0" + hex(ch); }) + .replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); + } + + function describeExpectation(expectation) { + return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation); + } + + function describeExpected(expected) { + var descriptions = expected.map(describeExpectation); + var i, j; + + descriptions.sort(); + + if (descriptions.length > 0) { + for (i = 1, j = 1; i < descriptions.length; i++) { + if (descriptions[i - 1] !== descriptions[i]) { + descriptions[j] = descriptions[i]; + j++; + } + } + descriptions.length = j; + } + + switch (descriptions.length) { + case 1: + return descriptions[0]; + + case 2: + return descriptions[0] + " or " + descriptions[1]; + + default: + return descriptions.slice(0, -1).join(", ") + + ", or " + + descriptions[descriptions.length - 1]; + } + } + + function describeFound(found) { + return found ? "\"" + literalEscape(found) + "\"" : "end of input"; + } + + return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found."; +}; + +function peg$parse(input, options) { + options = options !== undefined ? options : {}; + + var peg$FAILED = {}; + var peg$source = options.grammarSource; + + var peg$startRuleFunctions = { Level0: peg$parseLevel0 }; + var peg$startRuleFunction = peg$parseLevel0; + + var peg$c0 = "+"; + var peg$c1 = "-"; + var peg$c2 = "*"; + var peg$c3 = "/"; + var peg$c4 = "^"; + var peg$c5 = "("; + var peg$c6 = ")"; + var peg$c7 = "{"; + var peg$c8 = "}"; + var peg$c9 = "["; + var peg$c10 = "]"; + var peg$c11 = "tau"; + var peg$c12 = "\u03C4"; + var peg$c13 = "t"; + var peg$c14 = "pi"; + var peg$c15 = "\u03C0"; + var peg$c16 = "p"; + var peg$c17 = ","; + var peg$c18 = ":"; + var peg$c19 = "i"; + var peg$c20 = "."; + + var peg$r0 = /^[a-zA-Z_\u221A\u0393\u03C0\u03C4\u03B3]/; + var peg$r1 = /^[+\-]/; + var peg$r2 = /^[0-9]/; + var peg$r3 = /^[ \t\n\r]/; + + var peg$e0 = peg$literalExpectation("+", false); + var peg$e1 = peg$literalExpectation("-", false); + var peg$e2 = peg$literalExpectation("*", false); + var peg$e3 = peg$literalExpectation("/", false); + var peg$e4 = peg$literalExpectation("^", false); + var peg$e5 = peg$literalExpectation("(", false); + var peg$e6 = peg$literalExpectation(")", false); + var peg$e7 = peg$literalExpectation("{", false); + var peg$e8 = peg$literalExpectation("}", false); + var peg$e9 = peg$literalExpectation("[", false); + var peg$e10 = peg$literalExpectation("]", false); + var peg$e11 = peg$literalExpectation("tau", false); + var peg$e12 = peg$literalExpectation("\u03C4", false); + var peg$e13 = peg$literalExpectation("t", false); + var peg$e14 = peg$literalExpectation("pi", false); + var peg$e15 = peg$literalExpectation("\u03C0", false); + var peg$e16 = peg$literalExpectation("p", false); + var peg$e17 = peg$literalExpectation(",", false); + var peg$e18 = peg$literalExpectation(":", false); + var peg$e19 = peg$otherExpectation("varname"); + var peg$e20 = peg$classExpectation([["a", "z"], ["A", "Z"], "_", "\u221A", "\u0393", "\u03C0", "\u03C4", "\u03B3"], false, false); + var peg$e21 = peg$otherExpectation("real"); + var peg$e22 = peg$otherExpectation("imag"); + var peg$e23 = peg$literalExpectation("i", false); + var peg$e24 = peg$otherExpectation("number"); + var peg$e25 = peg$classExpectation(["+", "-"], false, false); + var peg$e26 = peg$literalExpectation(".", false); + var peg$e27 = peg$otherExpectation("digits"); + var peg$e28 = peg$classExpectation([["0", "9"]], false, false); + var peg$e29 = peg$otherExpectation("whitespace"); + var peg$e30 = peg$classExpectation([" ", "\t", "\n", "\r"], false, false); + + var peg$f0 = function(head, tail) { + return tail.reduce(function(result, element) { + if (element[1] === "+") { return new OpAdd(result, element[3]); } + if (element[1] === "-") { return new OpSub(result, element[3]); } + }, head); + }; + var peg$f1 = function(head, tail) { + return tail.reduce(function(result, element) { + if (element[1] === "*") { return new Fn("*", [result, element[3]]); } + if (element[1] === "/") { return new Fn("/", [result, element[3]]); } + }, head); + }; + var peg$f2 = function(head, tail) { + return head.reverse().reduce(function(result, element) { + return new Fn("^", [element[0], result]); + }, tail); + }; + var peg$f3 = function(expr) { return expr; }; + var peg$f4 = function(cond) { return new Conditional(cond); }; + var peg$f5 = function(name, argoff, args) { + if(typeof(name) == "string") { + return new Fn(name, args.reverse(), argoff == null ? null : argoff[2]); + } else { + throw "Error: i is not a function"; + } + }; + var peg$f6 = function(name) { + if(typeof(name) == "string") { + return new Variable(name); + } else { + return name; + } + }; + var peg$f7 = function(e) { return new OpNeg(e); }; + var peg$f8 = function(n) { + console.log("AAA", n.re); + return n.re * 6.283185307179586; + }; + var peg$f9 = function(n) { + return n.re * 3.141592653589793; + }; + var peg$f10 = function(n) { + return n.re; + }; + var peg$f11 = function(arg, lst) { + lst.push(arg); + return lst; + }; + var peg$f12 = function(arg) { return [arg]; }; + var peg$f13 = function(cond, expr, rest) { return [].concat([[cond, expr]],rest); }; + var peg$f14 = function(expr) { return [[expr]]; }; + var peg$f15 = function() { + if(text() === "i") { + return new Vec2(0,1); + } else { + return text(); + } + }; + var peg$f16 = function() { + return new Vec2(parseFloat(text()),0); + }; + var peg$f17 = function() { + return new Vec2(0,parseFloat(text())); + }; + + var peg$currPos = 0; + var peg$savedPos = 0; + var peg$posDetailsCache = [{ line: 1, column: 1 }]; + var peg$maxFailPos = 0; + var peg$maxFailExpected = []; + var peg$silentFails = 0; + + var peg$result; + + if ("startRule" in options) { + if (!(options.startRule in peg$startRuleFunctions)) { + throw new Error("Can't start parsing from rule \"" + options.startRule + "\"."); + } + + peg$startRuleFunction = peg$startRuleFunctions[options.startRule]; + } + + function text() { + return input.substring(peg$savedPos, peg$currPos); + } + + function offset() { + return peg$savedPos; + } + + function range() { + return { + source: peg$source, + start: peg$savedPos, + end: peg$currPos + }; + } + + function location() { + return peg$computeLocation(peg$savedPos, peg$currPos); + } + + function expected(description, location) { + location = location !== undefined + ? location + : peg$computeLocation(peg$savedPos, peg$currPos); + + throw peg$buildStructuredError( + [peg$otherExpectation(description)], + input.substring(peg$savedPos, peg$currPos), + location + ); + } + + function error(message, location) { + location = location !== undefined + ? location + : peg$computeLocation(peg$savedPos, peg$currPos); + + throw peg$buildSimpleError(message, location); + } + + function peg$literalExpectation(text, ignoreCase) { + return { type: "literal", text: text, ignoreCase: ignoreCase }; + } + + function peg$classExpectation(parts, inverted, ignoreCase) { + return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase }; + } + + function peg$anyExpectation() { + return { type: "any" }; + } + + function peg$endExpectation() { + return { type: "end" }; + } + + function peg$otherExpectation(description) { + return { type: "other", description: description }; + } + + function peg$computePosDetails(pos) { + var details = peg$posDetailsCache[pos]; + var p; + + if (details) { + return details; + } else { + p = pos - 1; + while (!peg$posDetailsCache[p]) { + p--; + } + + details = peg$posDetailsCache[p]; + details = { + line: details.line, + column: details.column + }; + + while (p < pos) { + if (input.charCodeAt(p) === 10) { + details.line++; + details.column = 1; + } else { + details.column++; + } + + p++; + } + + peg$posDetailsCache[pos] = details; + + return details; + } + } + + function peg$computeLocation(startPos, endPos) { + var startPosDetails = peg$computePosDetails(startPos); + var endPosDetails = peg$computePosDetails(endPos); + + return { + source: peg$source, + start: { + offset: startPos, + line: startPosDetails.line, + column: startPosDetails.column + }, + end: { + offset: endPos, + line: endPosDetails.line, + column: endPosDetails.column + } + }; + } + + function peg$fail(expected) { + if (peg$currPos < peg$maxFailPos) { return; } + + if (peg$currPos > peg$maxFailPos) { + peg$maxFailPos = peg$currPos; + peg$maxFailExpected = []; + } + + peg$maxFailExpected.push(expected); + } + + function peg$buildSimpleError(message, location) { + return new peg$SyntaxError(message, null, null, location); + } + + function peg$buildStructuredError(expected, found, location) { + return new peg$SyntaxError( + peg$SyntaxError.buildMessage(expected, found), + expected, + found, + location + ); + } + + function peg$parseLevel0() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + s0 = peg$currPos; + s1 = peg$parseLevel1(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$currPos; + s4 = peg$parse_(); + if (input.charCodeAt(peg$currPos) === 43) { + s5 = peg$c0; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e0); } + } + if (s5 === peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 45) { + s5 = peg$c1; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e1); } + } + } + if (s5 !== peg$FAILED) { + s6 = peg$parse_(); + s7 = peg$parseLevel1(); + if (s7 !== peg$FAILED) { + s4 = [s4, s5, s6, s7]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$currPos; + s4 = peg$parse_(); + if (input.charCodeAt(peg$currPos) === 43) { + s5 = peg$c0; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e0); } + } + if (s5 === peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 45) { + s5 = peg$c1; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e1); } + } + } + if (s5 !== peg$FAILED) { + s6 = peg$parse_(); + s7 = peg$parseLevel1(); + if (s7 !== peg$FAILED) { + s4 = [s4, s5, s6, s7]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } + peg$savedPos = s0; + s0 = peg$f0(s1, s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseLevel1() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + s0 = peg$currPos; + s1 = peg$parseLevel2(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$currPos; + s4 = peg$parse_(); + if (input.charCodeAt(peg$currPos) === 42) { + s5 = peg$c2; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e2); } + } + if (s5 === peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 47) { + s5 = peg$c3; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e3); } + } + } + if (s5 !== peg$FAILED) { + s6 = peg$parse_(); + s7 = peg$parseLevel2(); + if (s7 !== peg$FAILED) { + s4 = [s4, s5, s6, s7]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$currPos; + s4 = peg$parse_(); + if (input.charCodeAt(peg$currPos) === 42) { + s5 = peg$c2; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e2); } + } + if (s5 === peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 47) { + s5 = peg$c3; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e3); } + } + } + if (s5 !== peg$FAILED) { + s6 = peg$parse_(); + s7 = peg$parseLevel2(); + if (s7 !== peg$FAILED) { + s4 = [s4, s5, s6, s7]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } + peg$savedPos = s0; + s0 = peg$f1(s1, s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseLevel2() { + var s0, s1, s2, s3, s4, s5, s6; + + s0 = peg$currPos; + s1 = []; + s2 = peg$currPos; + s3 = peg$parseLevel3(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (input.charCodeAt(peg$currPos) === 94) { + s5 = peg$c4; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e4); } + } + if (s5 !== peg$FAILED) { + s6 = peg$parse_(); + s3 = [s3, s4, s5, s6]; + s2 = s3; + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$currPos; + s3 = peg$parseLevel3(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (input.charCodeAt(peg$currPos) === 94) { + s5 = peg$c4; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e4); } + } + if (s5 !== peg$FAILED) { + s6 = peg$parse_(); + s3 = [s3, s4, s5, s6]; + s2 = s3; + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + } + s2 = peg$parseLevel3(); + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f2(s1, s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseLevel3() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; + + s0 = peg$currPos; + s1 = peg$parse_(); + if (input.charCodeAt(peg$currPos) === 40) { + s2 = peg$c5; + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e5); } + } + if (s2 !== peg$FAILED) { + s3 = peg$parse_(); + s4 = peg$parseLevel0(); + if (s4 !== peg$FAILED) { + s5 = peg$parse_(); + if (input.charCodeAt(peg$currPos) === 41) { + s6 = peg$c6; + peg$currPos++; + } else { + s6 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e6); } + } + if (s6 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f3(s4); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parse_(); + if (input.charCodeAt(peg$currPos) === 123) { + s2 = peg$c7; + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e7); } + } + if (s2 !== peg$FAILED) { + s3 = peg$parse_(); + s4 = peg$parseConditionalInner(); + if (s4 !== peg$FAILED) { + s5 = peg$parse_(); + if (input.charCodeAt(peg$currPos) === 125) { + s6 = peg$c8; + peg$currPos++; + } else { + s6 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e8); } + } + if (s6 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f4(s4); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parse_(); + s2 = peg$parseName(); + if (s2 !== peg$FAILED) { + s3 = peg$parse_(); + s4 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 91) { + s5 = peg$c9; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e9); } + } + if (s5 !== peg$FAILED) { + s6 = peg$parse_(); + s7 = peg$parseArgOffset(); + if (s7 !== peg$FAILED) { + s8 = peg$parse_(); + if (input.charCodeAt(peg$currPos) === 93) { + s9 = peg$c10; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e10); } + } + if (s9 !== peg$FAILED) { + s10 = peg$parse_(); + s5 = [s5, s6, s7, s8, s9, s10]; + s4 = s5; + } else { + peg$currPos = s4; + s4 = peg$FAILED; + } + } else { + peg$currPos = s4; + s4 = peg$FAILED; + } + } else { + peg$currPos = s4; + s4 = peg$FAILED; + } + if (s4 === peg$FAILED) { + s4 = null; + } + if (input.charCodeAt(peg$currPos) === 40) { + s5 = peg$c5; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e5); } + } + if (s5 !== peg$FAILED) { + s6 = peg$parseParameterList(); + if (s6 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s7 = peg$c6; + peg$currPos++; + } else { + s7 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e6); } + } + if (s7 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f5(s2, s4, s6); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parse_(); + s2 = peg$parseName(); + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f6(s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$parseImag(); + if (s0 === peg$FAILED) { + s0 = peg$parseReal(); + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parse_(); + if (input.charCodeAt(peg$currPos) === 45) { + s2 = peg$c1; + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e1); } + } + if (s2 !== peg$FAILED) { + s3 = peg$parseLevel1(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f7(s3); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + } + } + } + } + } + + return s0; + } + + function peg$parseArgOffset() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseReal(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (input.substr(peg$currPos, 3) === peg$c11) { + s3 = peg$c11; + peg$currPos += 3; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e11); } + } + if (s3 === peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 964) { + s3 = peg$c12; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e12); } + } + if (s3 === peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 116) { + s3 = peg$c13; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e13); } + } + } + } + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f8(s1); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parseReal(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (input.substr(peg$currPos, 2) === peg$c14) { + s3 = peg$c14; + peg$currPos += 2; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e14); } + } + if (s3 === peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 960) { + s3 = peg$c15; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e15); } + } + if (s3 === peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 112) { + s3 = peg$c16; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e16); } + } + } + } + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f9(s1); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parseReal(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f10(s1); + } + s0 = s1; + } + } + + return s0; + } + + function peg$parseParameterList() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parse_(); + s2 = peg$parseLevel0(); + if (s2 !== peg$FAILED) { + s3 = peg$parse_(); + if (input.charCodeAt(peg$currPos) === 44) { + s4 = peg$c17; + peg$currPos++; + } else { + s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e17); } + } + if (s4 !== peg$FAILED) { + s5 = peg$parseParameterList(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f11(s2, s5); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parse_(); + s2 = peg$parseLevel0(); + if (s2 !== peg$FAILED) { + s3 = peg$parse_(); + peg$savedPos = s0; + s0 = peg$f12(s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + + return s0; + } + + function peg$parseConditionalInner() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11; + + s0 = peg$currPos; + s1 = peg$parse_(); + s2 = peg$parseLevel0(); + if (s2 !== peg$FAILED) { + s3 = peg$parse_(); + if (input.charCodeAt(peg$currPos) === 58) { + s4 = peg$c18; + peg$currPos++; + } else { + s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e18); } + } + if (s4 !== peg$FAILED) { + s5 = peg$parse_(); + s6 = peg$parseLevel0(); + if (s6 !== peg$FAILED) { + s7 = peg$parse_(); + if (input.charCodeAt(peg$currPos) === 44) { + s8 = peg$c17; + peg$currPos++; + } else { + s8 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e17); } + } + if (s8 !== peg$FAILED) { + s9 = peg$parse_(); + s10 = peg$parseConditionalInner(); + if (s10 !== peg$FAILED) { + s11 = peg$parse_(); + peg$savedPos = s0; + s0 = peg$f13(s2, s6, s10); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parse_(); + s2 = peg$parseLevel0(); + if (s2 !== peg$FAILED) { + s3 = peg$parse_(); + peg$savedPos = s0; + s0 = peg$f14(s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + + return s0; + } + + function peg$parseName() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = []; + if (peg$r0.test(input.charAt(peg$currPos))) { + s2 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e20); } + } + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + if (peg$r0.test(input.charAt(peg$currPos))) { + s2 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e20); } + } + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f15(); + } + s0 = s1; + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e19); } + } + + return s0; + } + + function peg$parseReal() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parse_(); + s2 = peg$parseNumber(); + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f16(); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e21); } + } + + return s0; + } + + function peg$parseImag() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parse_(); + s2 = peg$parseNumber(); + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 105) { + s3 = peg$c19; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e23); } + } + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f17(); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e22); } + } + + return s0; + } + + function peg$parseNumber() { + var s0, s1, s2, s3, s4; + + peg$silentFails++; + s0 = peg$currPos; + if (peg$r1.test(input.charAt(peg$currPos))) { + s1 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e25); } + } + if (s1 === peg$FAILED) { + s1 = null; + } + s2 = peg$parseDigits(); + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 46) { + s3 = peg$c20; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e26); } + } + if (s3 !== peg$FAILED) { + s4 = peg$parseDigits(); + if (s4 !== peg$FAILED) { + s1 = [s1, s2, s3, s4]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (peg$r1.test(input.charAt(peg$currPos))) { + s1 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e25); } + } + if (s1 === peg$FAILED) { + s1 = null; + } + s2 = peg$parseDigits(); + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 46) { + s3 = peg$c20; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e26); } + } + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (peg$r1.test(input.charAt(peg$currPos))) { + s1 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e25); } + } + if (s1 === peg$FAILED) { + s1 = null; + } + if (input.charCodeAt(peg$currPos) === 46) { + s2 = peg$c20; + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e26); } + } + if (s2 !== peg$FAILED) { + s3 = peg$parseDigits(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (peg$r1.test(input.charAt(peg$currPos))) { + s1 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e25); } + } + if (s1 === peg$FAILED) { + s1 = null; + } + s2 = peg$parseDigits(); + if (s2 !== peg$FAILED) { + s1 = [s1, s2]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + } + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e24); } + } + + return s0; + } + + function peg$parseDigits() { + var s0, s1; + + peg$silentFails++; + s0 = []; + if (peg$r2.test(input.charAt(peg$currPos))) { + s1 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e28); } + } + if (s1 !== peg$FAILED) { + while (s1 !== peg$FAILED) { + s0.push(s1); + if (peg$r2.test(input.charAt(peg$currPos))) { + s1 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e28); } + } + } + } else { + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e27); } + } + + return s0; + } + + function peg$parse_() { + var s0, s1; + + peg$silentFails++; + s0 = []; + if (peg$r3.test(input.charAt(peg$currPos))) { + s1 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e30); } + } + while (s1 !== peg$FAILED) { + s0.push(s1); + if (peg$r3.test(input.charAt(peg$currPos))) { + s1 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e30); } + } + } + peg$silentFails--; + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e29); } + + return s0; + } + + peg$result = peg$startRuleFunction(); + + if (peg$result !== peg$FAILED && peg$currPos === input.length) { + return peg$result; + } else { + if (peg$result !== peg$FAILED && peg$currPos < input.length) { + peg$fail(peg$endExpectation()); + } + + throw peg$buildStructuredError( + peg$maxFailExpected, + peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, + peg$maxFailPos < input.length + ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) + : peg$computeLocation(peg$maxFailPos, peg$maxFailPos) + ); + } +} + +module.exports = { + SyntaxError: peg$SyntaxError, + parse: peg$parse +}; diff --git a/src/templates/projects/complex_grapher/grammar.pegjs b/src/templates/projects/complex_grapher/grammar.pegjs new file mode 100644 index 0000000..6261711 --- /dev/null +++ b/src/templates/projects/complex_grapher/grammar.pegjs @@ -0,0 +1,266 @@ +{{ + function toFixed(x) { + if (Math.abs(x) < 1.0) { + var e = parseInt(x.toString().split('e-')[1]); + if (e) { + x *= Math.pow(10,e-1); + x = '0.' + (new Array(e)).join('0') + x.toString().substring(2); + } + } else { + var e = parseInt(x.toString().split('+')[1]); + if (e > 20) { + e -= 20; + x /= Math.pow(10,e); + x += (new Array(e+1)).join('0'); + } + } + x = x.toString(); + if(!x.includes(".")) { + x += "."; + } + return x; + } + + class OpAdd { + constructor(left, right) { + this.left = left; + this.right = right; + } + gen(ctx) { + return "(" + this.left.gen(ctx) + "+" + this.right.gen(ctx) + ")"; + } + reduce() { + const left = this.left.reduce(); + const right = this.right.reduce(); + if(left !== null && right !== null) { + return new Vec2(left.re + right.re, left.im + right.im); + } else { + if(left !== null) { + this.left = left; + } else if(right !== null) { + this.right = right; + } + return null + } + } + } + class OpSub { + constructor(left, right) { + this.left = left; + this.right = right; + } + gen(ctx) { + return "(" + this.left.gen(ctx) + "-" + this.right.gen(ctx) + ")"; + } + reduce() { + const left = this.left.reduce(); + const right = this.right.reduce(); + if(left !== null && right !== null) { + return new Vec2(left.re - right.re, left.im - right.im); + } else { + if(left !== null) { + this.left = left; + } else if(right !== null) { + this.right = right; + } + return null + } + } + } + class OpNeg { + constructor(arg) { + this.arg = arg; + } + gen(ctx) { + return "(-(" + this.arg.gen(ctx) + "))"; + } + reduce() { + const arg = this.arg.reduce(); + if(arg !== null) { + return new Vec2(-arg.re, -arg.im); + } else { + return null + } + } + } + class Fn { + constructor(name, args, argoff) { + this.name = name; + this.args = args; + this.argoff = argoff; + } + gen(ctx) { + let name = this.name + "$" + this.args.length; + if(ctx[name] === undefined) { + throw "Error: the function " + this.name + " does not exist or has the wrong number of arguments"; + } + if(this.argoff != null) { + name += "_o"; + } + if(ctx[name] === undefined) { + throw "Error: the function " + this.name + " cannot take an argument offset"; + } + let s = ctx[name] + "("; + if(this.argoff != null) { + s += toFixed(this.argoff) + ","; + } + for(const a of this.args) { + s += a.gen(ctx) + ","; + } + s = s.slice(0,-1) + ")"; + return s; + } + reduce() { + for(const i in this.args) { + const a = this.args[i]; + const r = a.reduce(); + if(r !== null) { + this.args[i] = r; + } + } + return null; + } + } + class Variable { + constructor(name) { + this.name = name; + } + gen(ctx) { + if(ctx[this.name] === undefined) { + throw "Error: " + this.name + " is not a variable"; + } + return ctx[this.name]; + } + reduce() { + return null; + } + } + class Vec2 { + constructor(re, im) { + this.re = re; + this.im = im; + } + gen(ctx) { + return "vec2(" + toFixed(this.re) + "," + toFixed(this.im) + ")"; + } + reduce() { + return this; + } + } + class Conditional { + constructor(cond) { + this.cond = cond; + } + gen(ctx) { + let res = ""; + for(const part of this.cond) { + if(part.length == 2) { + res += "(" + part[0].gen(ctx) + ").x>0.0 ? (" + part[1].gen(ctx) + ") : "; + } else { + res += part[0].gen(ctx); + } + } + return "(" + res + ")"; + } + reduce() { + return null; + } + } +}} + +Level0 + = head:Level1 tail:(_ ("+" / "-") _ Level1)* { + return tail.reduce(function(result, element) { + if (element[1] === "+") { return new OpAdd(result, element[3]); } + if (element[1] === "-") { return new OpSub(result, element[3]); } + }, head); + } + +Level1 + = head:Level2 tail:(_ ("*" / "/") _ Level2)* { + return tail.reduce(function(result, element) { + if (element[1] === "*") { return new Fn("*", [result, element[3]]); } + if (element[1] === "/") { return new Fn("/", [result, element[3]]); } + }, head); + } + +Level2 + = head:(Level3 _ "^" _)* tail:Level3 { + return head.reverse().reduce(function(result, element) { + return new Fn("^", [element[0], result]); + }, tail); + } + +Level3 + = _ "(" _ expr:Level0 _ ")" { return expr; } + / _ "{" _ cond:ConditionalInner _ "}" { return new Conditional(cond); } + / _ name:Name _ argoff:("[" _ ArgOffset _ "]" _)? "(" args:ParameterList ")" { + if(typeof(name) == "string") { + return new Fn(name, args.reverse(), argoff == null ? null : argoff[2]); + } else { + throw "Error: i is not a function"; + } + } + / _ name:Name { + if(typeof(name) == "string") { + return new Variable(name); + } else { + return name; + } + } + / Imag / Real + / _ "-" e:Level1 { return new OpNeg(e); } + +ArgOffset + = n:Real _ ("tau" / "Ļ„" / "t") { + console.log("AAA", n.re); + return n.re * 6.283185307179586; + } + / n:Real _ ("pi" / "Ļ€" / "p") { + return n.re * 3.141592653589793; + } + / n:Real { + return n.re; + } + +ParameterList + = _ arg:Level0 _ "," lst:ParameterList { + lst.push(arg); + return lst; +} + / _ arg:Level0 _ { return [arg]; } + +ConditionalInner + = _ cond:Level0 _ ":" _ expr:Level0 _ "," _ rest:ConditionalInner _ { return [].concat([[cond, expr]],rest); } + / _ expr:Level0 _ { return [[expr]]; } + +Name "varname" + = [a-zA-Z_āˆšĪ“Ļ€Ļ„Ī³]+ { + if(text() === "i") { + return new Vec2(0,1); + } else { + return text(); + } + } + +Real "real" + = _ Number { + return new Vec2(parseFloat(text()),0); + } + +Imag "imag" + = _ Number "i" { + return new Vec2(0,parseFloat(text())); + } + +Number "number" + = [+-]? Digits "." Digits + / [+-]? Digits "." + / [+-]? "." Digits + / [+-]? Digits + +Digits "digits" + = [0-9]+ + +_ "whitespace" + = [ \t\n\r]* diff --git a/src/templates/projects/complex_grapher/help.html b/src/templates/projects/complex_grapher/help.html new file mode 100644 index 0000000..0aa6285 --- /dev/null +++ b/src/templates/projects/complex_grapher/help.html @@ -0,0 +1,139 @@ +{% set meta={"title": "Complex Grapher Documentation", "desc": "Documentation for Complex Grapher", "hidden": True} %} +{% extends "/_base.html" %} +{% block content %} +

    +Complex Grapher is an online tool to visualize complex functions using domain coloring. This help guide assumes basic knowledge about how complex numbers and domain coloring work, Wikipedia links will be provided for further explanation. +

    +

    Complex Grapher requires a browser that supports WebGL 3.0 or greater.

    + +

    The user interface

    + +

    +

      +
    • Equation - Enter the function you want to graph here, in terms of z. See below for information about the syntax of expressions.
    • +
    • Axis scale - Set the bounds of the real and imaginary axes. The first number in each pair is the left/bottom side of the canvas, the second number is the top/right side.
    • +
    • Shading amount - Control how much black/white shading is applied to numbers close to 0 or āˆž. Furthest left is no shading (however, values equal to 0 or āˆž will still be black and white, respectively).
    • +
    • Swap black and white - Check this to instead use black for āˆž and white for 0.
    • +
    • Draw contours - Draw rings at integer distances from the origin. The first ring (about the unit circle) is white, the rest are black.
    • +
    • Smooth coloring - Use a smoother coloring method.
    • +
    • Iteration + This section allows you to iterate the function you put in above a set number of times (that is, call the function on its own output repeatedly). If iteration is enabled, you may also use the variables c and n in your function. c will remain constant throughout the iterations, and n represents the current iteration number (starting with 0). +
        +
      • Iterations - How many times to iterate the function.
      • +
      • zā‚€(z) - The initial value for z
      • +
      • c(z) - The initial value for c
      • +
      +
    • +
    • Arg offset - use different branches of functions by changing where the branch cut of arg(z) is.
    • +
    • DPI - Control the resolution of the canvas. "single" uses the browser's default, "double" uses twice that on both axes (resulting in 4 times as many pixels), "quadruple" uses four times that (16 times as many pixels). These links will save the graph as a URL parameter and reload the page.
    • +
    • Graph - Self-explanatory.
    • +
    • Generate link - Generate a link containing all of the equations and settings currently applied.
    • +
    +

    + +

    Syntax

    + +
    +level0 := level1 (("+" | "-") level1)*
    +level1 := level2 (("*" | "/") level2)*
    +level2 := (level3 "^")* level3
    +level3 := "(" level0 ")"
    +    | "{" condition "}"
    +    | name "(" (level0 ",")* level0 ")"
    +    | name
    +    | imag
    +    | real
    +    | "-" level1
    +condition := level0 ":" level0 "," condition
    +    | level0
    +name := /[a-zA-Z_āˆšĪ“Ļ€Ļ„Ī³]+/
    +real := number
    +imag := number "i"
    +number := ("+" | "-")? digits "." digits
    +    | ("+" | "-")? digits "."
    +    | ("+" | "-")? "." digits
    +    | ("+" | "-")? digits
    +digits := /[0-9]+/
    +whitespace = /[ \t\n\r]*/
    +
    + +

    Numbers

    +

    +Real numbers can be written in standard base-10 form (ex. 37, -1045, 33.26258). Imaginary numbers can be written similarly, but followed by an i (ex. 3i, -25i, .37i). i can also be used alone. Complex numbers can be expressed simply as the sum of a real and an imaginary number (ex. 3-5i, .7+52i). +

    +

    Operators

    +

    +The five basic operators are +, -, *, /, and ^ (exponentiation). These follow the normal order of operations, with ^ being right associative (so 2^3^4 = 2^(3^4), not (2^3)^4). Parentheses ( ) can be used for grouping. +

    +

    Variables and constants

    +

    +In f(z), the variables z, c, and n are available. z is the argument of the function, and c and n are used for iteration as described above. In zā‚€(z) and c(z), the only variable available is z. +

    +

    +The constants e, tau or Ļ„, pi or Ļ€ (= Ļ„/2), and emg or Ī³ (the Eulerā€“Mascheroni constant) are available +

    +

    Functions

    +

    +Functions are written as the funciton name followed by the argument in parentheses. All functions only take one argument. Examples: sin(z), gamma(3+2i), conj(1/z). +

    +

    +The following functions are available: +

      +
    • re and im - the real or imaginary part of a complex number, respectively
    • +
    • abs - absolute value (Euclidean distance from the origin)
    • +
    • arg - the argument (angle about the origin in the range (-Ļ€,Ļ€])
    • +
    • norm - the norm (equal to abs(z)^2 and re(z)^2 + im(z)^2)
    • +
    • conj - complex conjugate
    • +
    • sqrt or āˆš - square root (equal to z^0.5)
    • +
    • root - nth root (first argument is radicand, second is index)
    • +
    • exp - the exponential function (equal to e^z)
    • +
    • ln - the natural logarithm
    • +
    • log - logarith with base, where the base is the second argument (defaults to e)
    • +
    • recip - reciprocal, equivalent to 1/z
    • +
    • sin cos tan - sine, cosine and tangent
    • +
    • asin acos atan - inverse sine, cosine and tangent
    • +
    • sinh cosh tanh - hyperbolic sine, cosine and tangent
    • +
    • asinh acosh atanh - inverse hyperbolic sine, cosine and tangent
    • +
    • gamma or Ī“ - the gamma function
    • +
    • unitcircle - set abs(z) to 1, normalizing the complex number to the unit circle
    • +
    • signre - the sign of the real part of z (1 if re(z)>0, -1 if re(z)<0, 0 if re(z)=0
    • +
    • signim - the sign of the imaginary part of z (1 if im(z)>0, -1 if im(z)<0, 0 if im(z)=0
    • +
    • lambertw - the Lambert W function
    • +
    +

    +

    +The following functions are currently experimental and may be changed or removed later: +

    + +

    Conditionals

    +

    +Conditionals (using curly braces { }) can be used like if-statements to pick an expression from a list. They take the form {condition1: expression1, condition2: expression2, expression3}. The conditions are evaluated from left to right, once the first true one is reached the corresponding expression is evaluated. The final expression (with no condition) acts as a fallback if none of the previous conditions were true. A condition is true if the real part of the result is strictly positive. +

    +

    +Example: {z-3: 2*z, z-2: z^2, 1/z} will evaluate to 2*z whenever re(z)>3 (re(z-3)>0), otherwise to z^2 whenever re(z)>2, otherwise to 1/z. +

    +

    +Conditionals are currently experimental and may be changed later. +

    +

    A word of caution

    +

    +WebGL is very prone to crashing, especially when using iteration. Some operations, like addition and multiplication, are very fast and should not cause too many problems. Others, like exp(z) and sinh(z) are fairly fast since they are implemented directly in the hardware. But some functions, like lambertw(z) and gamma(z) are a lot slower due to their slow implementations. For the best performance, avoid mixing slow functunctions, high iteration counts, and high DPI settings together. +

    +

    Example graphs

    +
      +
    • Rational equation
    • +
    • Essential singularity
    • +
    • Power Tower
    • +
    • Infinite power tower
    • +
    • Newton's fractal
    • +
    • The Mandelbrot set
    • +
    • The Euler function as an infinte product
    • +
        +{% endblock %} \ No newline at end of file diff --git a/src/templates/projects/complex_grapher/index.html b/src/templates/projects/complex_grapher/index.html new file mode 100644 index 0000000..b11171c --- /dev/null +++ b/src/templates/projects/complex_grapher/index.html @@ -0,0 +1,93 @@ +{% set meta={"title": "Complex Grapher", "desc": "Graph complex functions", "pagewidth": "1400px"} %} +{% extends "/_base.html" %} +{% block head %} + + + + + +{% endblock %} +{% block content %} +
        + ā€”ā€”ā€” Equation ā€”ā€”ā€” + f(z) = + + ā€”ā€”ā€” Axis scale ā€”ā€”ā€” + Real axis:      + + to + + Imaginary axis: + + to + + + ā€”ā€”ā€” Shading options ā€”ā€”ā€” + Shading amount: + Swap black and white + Draw contours + Smooth coloring + + ā€”ā€”ā€” Iteration ā€”ā€”ā€” + + + + + + + + + ā€”ā€”ā€” DPI ā€”ā€”ā€” + + single + double + quadruple + +   + + + Generate link + + +   + +
        +
        + +
        +{% endblock %} diff --git a/src/templates/projects/complex_grapher/main.js b/src/templates/projects/complex_grapher/main.js new file mode 100644 index 0000000..310524e --- /dev/null +++ b/src/templates/projects/complex_grapher/main.js @@ -0,0 +1,234 @@ +var shaderBase; +var dpi = 1; + +const BASE_CTX = { + "*$2": "cmul", + "/$2": "cdiv", + "^$2": "cpow", + "root$2": "croot", + "root$2_o": "croot_o", + "recip$1": "crecip", + "re$1": "cre", + "im$1": "cim", + "abs$1": "cabs", + "arg$1": "carg", + "arg$1_i": "carg_o", + "norm$1": "cnorm", + "conj$1": "cconj", + "sqrt$1": "csqrt", + "sqrt$1_o": "csqrt_o", + "āˆš$1": "csqrt", + "āˆš$1_o": "csqrt_o", + "sinh$1": "csinh", + "cosh$1": "ccosh", + "tanh$1": "ctanh", + "asinh$1": "casinh", + "asinh$1_o": "casinh_o", + "acosh$1_o": "cacosh_o", + "sin$1": "csin", + "cos$1": "ccos", + "tan$1": "ctan", + "asin$1": "casin", + "acos$1": "cacos", + "atan$1": "catan", + "asin$1_o": "casin_o", + "acos$1_o": "cacos_o", + "exp$1": "cexp", + "log$1": "clog", + "log$2": "clogbase", + "log$1_o": "clog_o", + "log$2_o": "clogbase_o", + "ln$1": "clog", + "ln$1_o": "clog_o", + "gamma$1": "cgamma", + "Ī“$1": "cgamma", + "unitcircle$1": "cunitcircle", + "signre$1": "csignre", + "signim$1": "csignim", + "lambertw$1": "clambertw", + // CONSTANTS + "e": "CONST_E", + "pi": "CONST_PI", + "Ļ€": "CONST_PI", + "tau": "CONST_TAU", + "Ļ„": "CONST_TAU", + "emg": "CONST_EMGAMMA", + "Ī³": "CONST_EMGAMMA", + // NOT OFFICIALLY SUPPORTED YET + "digamma$1": "cdigamma", + "loggamma$1": "cloggamma", + "erf$1": "cerf", + "eulerfn$1": "ceulerfn", + "ti$1": "cti", + "weierp$3": "cweierp", +}; + +const FZ_CTX = { + ...BASE_CTX, + "z": "z", + "c": "c", + "n": "n", +} + +const INIT_CTX = { + ...BASE_CTX, + "z": "z", +} + +function expr2source(expr, ctx) { + let ast = peg$parse(expr); + console.log(ast); + const reduced = ast.reduce(); + if(reduced !== null) { + ast = reduced; + } + return ast.gen(ctx); +} + +function graph() { + const shadingRaw = document.getElementById("shading").value + try { + const options = { + rmin: parseFloat(document.getElementById("rmin").value), + rmax: parseFloat(document.getElementById("rmax").value), + imin: parseFloat(document.getElementById("imin").value), + imax: parseFloat(document.getElementById("imax").value), + drawcontours: document.getElementById("drawcontours").checked, + smoothcolor: document.getElementById("smoothcolor").checked, + shading: 15/(4-4*shadingRaw**4) - 15/4, + swapbw: document.getElementById("swapbw").checked, + iterations: parseInt(document.getElementById("iterations").value), + } + + console.log(options); + + console.log("=== PRINTING GENERATED GLSL ==="); + const fz = document.getElementById("fz").value; + const fzSource = expr2source(fz, FZ_CTX); + console.log("fz: " + fzSource); + const initZ = document.getElementById("init_z").value; + const initZSource = expr2source(initZ, INIT_CTX); + console.log("z_init: " + initZSource); + const initC = document.getElementById("init_c").value; + const initCSource = expr2source(initC, INIT_CTX); + console.log("c_init: " + initCSource); + + const fsSource = shaderBase + + "vec2 f(vec2 z, vec2 c, vec2 n) { return " + + fzSource + + ";}" + + "vec2 z_init(vec2 z) { return " + + initZSource + + ";}" + + "vec2 c_init(vec2 z) { return " + + initCSource + + ";}"; + runShader(fsSource, options); + } catch(e) { + document.getElementById("errors").textContent = e.toString(); + console.log(e); + return; + } + document.getElementById("errors").textContent = ""; +} + +function decodeURLParams() { + const canvas = document.getElementById("canvas"); + var params = new URLSearchParams(window.location.search); + if(!params.has("dpi") || params.get("dpi") == "1") { + dpi = 1; + canvas.width = 640; + canvas.height = 640; + } else if(params.get("dpi") == "2") { + dpi = 2; + canvas.width = 640*2; + canvas.height = 640*2; + } else if(params.get("dpi") == "4") { + dpi = 4; + canvas.width = 640*4; + canvas.height = 640*4; + } + if(params.has("src")) { + const src = JSON.parse(atob(params.get("src"))); + document.getElementById("fz").value = src.expr; + document.getElementById("rmin").value = src.axes[0]; + document.getElementById("rmax").value = src.axes[1]; + document.getElementById("imin").value = src.axes[2]; + document.getElementById("imax").value = src.axes[3]; + document.getElementById("shading").value = src.shading; + document.getElementById("swapbw").checked = src.swapbw; + document.getElementById("drawcontours").checked = src.contours; + if(src.itermode !== false) { + document.getElementById("enable_iters").checked = true; + document.getElementById("iterations").value = src.itermode.iters; + document.getElementById("init_z").value = src.itermode.zinit; + document.getElementById("init_c").value = src.itermode.cinit; + } else { + document.getElementById("enable_iters").checked = false; + } + } +} + +function encodeURLParams() { + const itermode = document.getElementById("enable_iters").checked; + let params = { + expr: document.getElementById("fz").value, + axes: [ + document.getElementById("rmin").value, + document.getElementById("rmax").value, + document.getElementById("imin").value, + document.getElementById("imax").value, + ], + shading: document.getElementById("shading").value, + swapbw: document.getElementById("swapbw").checked, + contours: document.getElementById("drawcontours").checked, + }; + if(itermode) { + params.itermode = { + iters: document.getElementById("iterations").value, + zinit: document.getElementById("init_z").value, + cinit: document.getElementById("init_c").value, + } + } else { + params.itermode = false; + } + + const src = btoa(JSON.stringify(params)); + const url = window.location.origin + window.location.pathname + "?src=" + src + "&dpi=" + dpi; + document.location.href = url; +} + +function changeIterationMode() { + const checked = document.getElementById('enable_iters').checked; + document.getElementById('iteration_mode').hidden = !checked; + if(!checked) { + document.getElementById('iterations').value = 1; + document.getElementById('init_z').value = "z"; + document.getElementById('init_c').value = "0"; + } +} + +//const constantHtml = ` +// +// = +// + +// i +//` +// +//function addConstant() { +// const parse = Range.prototype.createContextualFragment.bind(document.createRange()); +// const constWrapper = document.getElementById("constants-wrapper"); +// constWrapper.appendChild(parse(constantHtml)); +//} + +window.onload = () => { + decodeURLParams(); + fetch('shaderbase.glsl') + .then(response => response.text()) + .then((data) => { + shaderBase = data; + graph(); + }); + changeIterationMode(); +}; + diff --git a/src/templates/projects/complex_grapher/peggy.sh b/src/templates/projects/complex_grapher/peggy.sh new file mode 100755 index 0000000..1e24bec --- /dev/null +++ b/src/templates/projects/complex_grapher/peggy.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +peggy -o pretty.js grammar.pegjs +#uglifyjs pretty.js > grammar.js +#rm pretty.js +mv pretty.js grammar.js diff --git a/src/templates/projects/complex_grapher/shaderbase.glsl b/src/templates/projects/complex_grapher/shaderbase.glsl new file mode 100644 index 0000000..f832478 --- /dev/null +++ b/src/templates/projects/complex_grapher/shaderbase.glsl @@ -0,0 +1,494 @@ +#version 300 es +precision highp float; +#define MAX_ITERS 1000 +#define TAU 6.283185307179586 + +#define TAU 6.283185307179586 +#define CONST_E vec2(2.718281828459045,0.) +#define CONST_PI vec2(TAU*.5,0.) +#define CONST_TAU vec2(TAU,0.) +#define CONST_EMGAMMA vec2(0.5772156649015329,0.) + +uniform highp vec2 uResolution; +uniform highp vec4 uRangeAxes; +uniform int uDrawContours; +uniform int uIterations; +uniform float uShadingIntensity; +uniform int uSwapBlackWhite; +uniform int uSmoothColor; + +vec3 hsv2rgb(vec3 c) { + vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} + +vec2 map(vec2 value, vec2 inMin, vec2 inMax, vec2 outMin, vec2 outMax) { + return outMin + (outMax - outMin) * (value - inMin) / (inMax - inMin); +} + +float valuemap(float r) { + return r*inversesqrt(r*r+0.0625*uShadingIntensity)*.975+.025; +} + +float saturationmap(float r) { + float rr = 1./r; + return rr*inversesqrt(rr*rr+0.0625*uShadingIntensity)*.975+.025; +} + +//////////////////////////////// +// Complex function library // +//////////////////////////////// + +vec2 cre(vec2 z) { + return vec2(z.x,0.); +} +vec2 cim(vec2 z) { + return vec2(z.y,0.); +} +vec2 carg(vec2 z) { + float angle = TAU*.5 - mod(TAU*.5 - atan(z.y,z.x), TAU); + return vec2(angle, 0.); +} +vec2 carg_o(float off, vec2 z) { + float angle = TAU*.5 - mod(TAU*.5 - atan(z.y,z.x) - off, TAU) - off; + return vec2(angle, 0.); +} +vec2 cabs(vec2 z) { + return vec2(sqrt(z.x*z.x + z.y*z.y),0.); +} +vec2 cnorm(vec2 z) { + return vec2(z.x*z.x + z.y*z.y,0.); +} +vec2 cconj(vec2 z) { + return vec2(z.x, -z.y); +} +vec2 cmul(vec2 z1, vec2 z2) { + return vec2(z1.x*z2.x - z1.y*z2.y, z1.x*z2.y + z1.y*z2.x); +} +vec2 cdiv(vec2 z1, vec2 z2) { + return vec2(z1.x*z2.x + z1.y*z2.y, -z1.x*z2.y + z1.y*z2.x)/(z2.x*z2.x + z2.y*z2.y); +} +vec2 crecip(vec2 z) { + return vec2(z.x, -z.y)/(z.x*z.x + z.y*z.y); +} +vec2 csquare(vec2 z) { + return vec2(z.x*z.x - z.y*z.y, 2.*z.x*z.y); +} +vec2 cexp(vec2 z) { + return exp(z.x)*vec2(cos(z.y), sin(z.y)); +} +vec2 clog(vec2 z) { + return vec2(log(cabs(z).x), carg(z).x); +} +vec2 clog_o(float off, vec2 z) { + return vec2(log(cabs(z).x), carg_o(off, z).x); +} +vec2 clogbase(vec2 z, vec2 base) { + return cdiv(clog(z),clog(base)); +} +vec2 clogbase_o(float off, vec2 z, vec2 base) { + return cdiv(clog_o(off, z),clog_o(off, base)); +} +vec2 cpow(vec2 z1, vec2 z2) { + return cexp(cmul(z2, clog(z1))); +} +vec2 croot(vec2 z1, vec2 z2) { + return cexp(cmul(crecip(z2), clog(z1))); +} +vec2 csqrt(vec2 z) { + return cexp(0.5*clog(z)); +} +vec2 csqrt_o(float off, vec2 z) { + return cexp(0.5*clog_o(off, z)); +} +vec2 csin(vec2 z) { + vec2 e1 = cexp(vec2( z.y,-z.x)); + vec2 e2 = cexp(vec2(-z.y, z.x)); + vec2 w = .5*(e1-e2); + return vec2(-w.y,w.x); +} +vec2 ccos(vec2 z) { + vec2 e1 = cexp(vec2( z.y,-z.x)); + vec2 e2 = cexp(vec2(-z.y, z.x)); + return .5*(e1 + e2); +} +vec2 ctan(vec2 z) { + vec2 e1 = cexp(vec2( z.y,-z.x)); + vec2 e2 = cexp(vec2(-z.y, z.x)); + vec2 w = cdiv(e1 - e2, e1 + e2); + return vec2(-w.y,w.x); +} +vec2 csinh(vec2 z) { + vec2 e1 = cexp(z); + vec2 e2 = cexp(-z); + return .5*(e1 - e2); +} +vec2 ccosh(vec2 z) { + vec2 e1 = cexp(z); + vec2 e2 = cexp(-z); + return .5*(e1 + e2); +} +vec2 ctanh(vec2 z) { + vec2 e1 = cexp(z); + vec2 e2 = cexp(-z); + return cdiv(e1 - e2, e1 + e2); +} +vec2 casin(vec2 z) { + vec2 v = clog( csqrt(vec2(1.,0.)-csquare(z)) + vec2(-z.y,z.x) ); + return vec2(v.y,-v.x); +} +vec2 cacos(vec2 z) { + vec2 v = clog( csqrt(vec2(1.,0.)-csquare(z)) + vec2(-z.y,z.x) ); + return CONST_TAU*.25 + vec2(-v.y,v.x); +} +vec2 catan(vec2 z) { + vec2 v = clog(cdiv(vec2(1.,0.) - vec2(-z.y,z.x), vec2(1.,0.) + vec2(-z.y,z.x))); + return .5*vec2(-v.y,v.x); +} +vec2 casin_o(float off, vec2 z) { + vec2 v = clog(csqrt_o(off, vec2(1.,0.)-csquare(z)) + vec2(-z.y,z.x) ); + return vec2(v.y,-v.x); +} +vec2 cacos_o(float off, vec2 z) { + vec2 v = clog(csqrt_o(off, vec2(1.,0.)-csquare(z)) + vec2(-z.y,z.x) ); + return CONST_TAU*.25 + vec2(-v.y,v.x); +} +vec2 casinh(vec2 z) { + return clog(csqrt(vec2(1.,0.)+csquare(z)) + z); +} +vec2 cacosh(vec2 z) { + return clog(csqrt(csquare(z)-vec2(1.,0.)) + z); +} +vec2 catanh(vec2 z) { + return 0.5*clog(cdiv(vec2(1.,0.)+z, vec2(1.,0.)-z)); +} +vec2 casinh_o(float off, vec2 z) { + return clog(csqrt_o(off, vec2(1.,0.)+csquare(z)) + z); +} +vec2 cacosh_o(float off, vec2 z) { + return clog(csqrt_o(off, csquare(z)-vec2(1.,0.)) + z); +} + +// values for gamma function +const float gammaP0 = 676.5203681218851; +const float gammaP1 = -1259.1392167224028; +const float gammaP2 = 771.32342877765313; +const float gammaP3 = -176.61502916214059; +const float gammaP4 = 12.507343278686905; +const float gammaP5 = -0.13857109526572012; +const float gammaP6 = 9.9843695780195716e-6; +const float gammaP7 = 1.5056327351493116e-7; + +vec2 gamma_inner(vec2 z) { + z -= vec2(1.,0.); + vec2 x = vec2(0.99999999999980993,0.); + x += cdiv(vec2(gammaP0,0.), z + vec2(1.,0.)); + x += cdiv(vec2(gammaP1,0.), z + vec2(2.,0.)); + x += cdiv(vec2(gammaP2,0.), z + vec2(3.,0.)); + x += cdiv(vec2(gammaP3,0.), z + vec2(4.,0.)); + x += cdiv(vec2(gammaP4,0.), z + vec2(5.,0.)); + x += cdiv(vec2(gammaP5,0.), z + vec2(6.,0.)); + x += cdiv(vec2(gammaP6,0.), z + vec2(7.,0.)); + x += cdiv(vec2(gammaP7,0.), z + vec2(8.,0.)); + vec2 t = z + vec2(7.5,0.); + return cmul( + sqrt(TAU) * cpow(t, z + vec2(0.5,0.)), + cmul(cexp(-t), x) + ); +} + +vec2 cgamma(vec2 z) { + if(z.x < 0.5) { + return cdiv(CONST_TAU*.5, cmul(csin(cmul(CONST_TAU*.5, z)), gamma_inner(vec2(1.,0.) - z))); + } else { + return gamma_inner(z); + } +} + + +vec2 cdigamma_pos(vec2 z) { + z -= vec2(.5,0); + float denom = dot(z, z); + vec2 iz = vec2(1.,-1.) * z / denom; + vec2 iz3 = vec2(z.x*z.x*z.x - 3.*z.x*z.y*z.y, z.y*z.y*z.y - 3.*z.y*z.x*z.x) / (denom*denom*denom); + return clog(z + 0.041666666666666664*iz + 0.006423611111111111*iz3); +} + +vec2 cdigamma(vec2 z) { + if(z.x > 10. || abs(z.y) > 10.) { + return cdigamma_pos(z); + } else if(z.x > -20.) { + vec2 res = cdigamma_pos(z + vec2(1000.,0.)); + for(int i = 0; i < 1001; i++) { + vec2 denom = vec2(i,0) + z; + res -= vec2(1,-1) * denom / dot(denom, denom); + } + return res; + } else { + return cdigamma_pos(vec2(1.,0.) - z) - cdiv(CONST_TAU*.5, ctan(TAU*.5 * z)); + } +} + +#define ERF_P 0.3275911 +#define ERF_A1 0.254829592 +#define ERF_A2 -0.284496736 +#define ERF_A3 1.421413741 +#define ERF_A4 -1.453152027 +#define ERF_A5 1.061405429 + +float erf_gt0(float x) { + float denom = 1. + ERF_P*x; + float denom2 = denom*denom; + return 1. - (ERF_A1/denom + ERF_A2/denom2 + ERF_A3/(denom*denom2) + ERF_A4/(denom2*denom2) + ERF_A5/(denom2*denom2*denom))*exp(-x*x); +} + +float erf(float x) { + if(x >= 0.) { + return erf_gt0(x); + } else { + return -erf_gt0(-x); + } +} + +#define CERF_A 0.5 +#define CERF_ITERS 20 +vec2 cerf_near_re(vec2 z) { + float x = z.x; + float y = z.y; + float x2 = x*x; + float exp_neg_x2 = exp(-x2); + vec2 summation = vec2(0); + for(int i = 1; i < CERF_ITERS; i++) { + float n = float(i); + float a2n2 = CERF_A*CERF_A*n*n; + float mult = exp(-a2n2)/(4.*a2n2 + 4.*x2); + float cosh_2any = cosh(2.*CERF_A*n*y); + float sinh_2any = sinh(2.*CERF_A*n*y); + float cos_2xy = cos(2.*x*y); + float sin_2xy = sin(2.*x*y); + summation += mult*vec2( + x - x*cosh_2any*cos_2xy + CERF_A*n*sinh_2any*sin_2xy, + x*cosh_2any*sin_2xy + CERF_A*n*sinh_2any*cos_2xy + ); + if(abs(y) > 8. && i > 7) { + break; + } else if(abs(y) > 4. && i > 9) { + break; + } + } + summation *= 16.*CERF_A*exp_neg_x2/TAU; + float coeff = CERF_A*exp_neg_x2/(TAU*.5*x); + summation += vec2(erf(x) + coeff*(1. - cos(2.*x*y)), coeff*sin(2.*x*y)); + return summation; +} + +#define CERF_TERMS 250 +#define RECIP_SQRT_PI 0.5641895835477563 +vec2 cerf_near_im(vec2 z) { + vec2 z2 = csquare(z); + vec2 coeff = 2. * RECIP_SQRT_PI * cmul(z, cexp(-z2)); + vec2 term = vec2(float(CERF_TERMS*2 + 1), 0); + for(int i = 0; i < CERF_TERMS; i++) { + int j = CERF_TERMS - i; + if(j < 1) { + break; + } + if((j / 2) * 2 == j) { + term = vec2(float(2*j - 1), 0.) + cdiv(float(2*j)*z2, term); + } else { + term = vec2(float(2*j - 1), 0.) - cdiv(float(2*j)*z2, term); + } + } + return cdiv(coeff, term); + +} + +vec2 cerf(vec2 z) { + if(z.y == 0.) { + return vec2(erf(z.x), 0); + } else if(abs(z.x) < abs(z.y)) { + return cerf_near_im(z); + } else { + return cerf_near_re(z); + } +} + +vec2 ceulerfn(vec2 z) { + if(cabs(z).x > 1.) { + return z*0./0.; + } + vec2 res = vec2(1,0); + vec2 w = z; + for(int i = 0; i < 600; i++) { + res = cmul(res, vec2(1,0) - w); + w = cmul(w, z); + } + return res; +} + +vec2 csignre(vec2 z) { + return vec2(sign(z.x), 0); +} + +vec2 csignim(vec2 z) { + return vec2(sign(z.y), 0); +} + +vec2 cunitcircle(vec2 z) { + return z/cabs(z).x; +} + +#define LAMBERT_W_ITERS 30 + +vec2 clambertw(vec2 z) { + vec2 res; + if(z.x < -0.3678795) { + if(z.y == 0.) { + res = vec2(z.x, 1.); + } else { + res = vec2(z.x, z.y + 0.4*sign(z.y)); + } + } else { + res = z; + } + res = clog(res + vec2(1,0)); + for(int i = 0; i < LAMBERT_W_ITERS; i++) { + res = cdiv(csquare(res) + cmul(z, cexp(-res)), res + vec2(1,0)); + } + return res; +} + +// https://www.desmos.com/calculator/eh9vx5dil4 +const float ti0 = 0.927295218002; +const float ti1 = -0.254590436003; +const float ti2 = -0.130819127994; +const float ti3 = 0.176304922654; +const float ti4 = -0.0454098453075; +const float ti5 = -0.0648283093849; +const float ti6 = 0.0695819521032; +const float ti7 = -0.00902813277778; +const float ti8 = -0.036994; +const float ti9 = 0.0321614; +const float ti10 = 0.00102442; +const float ti11 = -0.0221968; +const float ti12 = 0.0156038; +const float ti13 = 0.00369106; +const float ti14 = -0.0135653; + +const float tiOffset = -0.487222405586; + +vec2 cti_inner(vec2 z) { + z -= vec2(0.5,0); + vec2 z2 = cmul(z,z); + vec2 z3 = cmul(z2,z); + vec2 z4 = cmul(z2,z2); + vec2 z5 = cmul(z4,z); + vec2 z6 = cmul(z4,z2); + vec2 z7 = cmul(z4,z3); + vec2 z8 = cmul(z4,z4); + + return ti0*z + + ti1/2.*z2 + + ti2/3.*z3 + + ti3/4.*z4 + + ti4/5.*z5 + + ti5/6.*z6 + + ti6/7.*z7 + + ti7/8.*z8 + + ti8/9.*cmul(z8,z) + + ti9/10.*cmul(z8,z2) + + ti10/11.*cmul(z8,z3) + + ti11/12.*cmul(z8,z4) + + ti12/13.*cmul(z8,z5) + + ti13/14.*cmul(z8,z6) + + ti14/15.*cmul(z8,z7) + - vec2(tiOffset,0); +} + +vec2 cti(vec2 z) { + float m = 1.; + if(z.x < 0.) { + m = -1.; + } + if(cnorm(z).x <= 1.) { + return m*cti_inner(m*z); + } else { + return m*(TAU*.25*clog(vec2(abs(z.x), z.y*m)) + cti_inner(m*crecip(z))); + } +} + +// Weierstrass P function (ā„˜) +vec2 cweierp(vec2 z, vec2 w1, vec2 w2) { + vec2 sum = cpow(z, vec2(-2,0)); + for(int i = -25; i <= 25; i++) { + for(int j = -25; j <= 25; j++) { + if(i == 0 && j == 0) { continue; } + + vec2 lambda = float(i)*w1 + float(j)*w2; + sum += cpow(z - lambda, vec2(-2,0)) - cpow(lambda, vec2(-2,0)); + } + } + + return sum/2.; +} + +//////////////////// +// Drawing code // +//////////////////// + +// will be implemented by the input expression +vec2 f(vec2 z, vec2 c, vec2 n); +vec2 z_init(vec2 z); +vec2 c_init(vec2 z); + +out vec4 fragColor; +void main() { + float axis_size = 1./uResolution.x; + vec2 pt = map( + gl_FragCoord.xy, + vec2(0.), uResolution.xy, + uRangeAxes.xz, uRangeAxes.yw + ); + vec2 z = z_init(pt); + vec2 c = c_init(pt); + for(int i = 0; i < MAX_ITERS; i++) { + if(i >= uIterations) { + break; + } + z = f(z, c, vec2(float(i),0.)); + } + float rad = cabs(z).x; + if(rad == 0.) { + fragColor = vec4(vec3(uSwapBlackWhite),1.); + return; + } else if(isinf(rad)) { + fragColor = vec4(vec3(1-uSwapBlackWhite),1.); + return; + } else if(isnan(rad)) { + fragColor = vec4(.5,.5,.5,1.); + return; + } + float arg = carg(z).x; + float s = uSwapBlackWhite == 0 ? saturationmap(rad) : valuemap(rad); + float v = uSwapBlackWhite == 0 ? valuemap(rad) : saturationmap(rad); + if(uDrawContours == 1) { + if(abs(rad-1.) < 0.1) { + s *= 0.5; + v = clamp(v*1.5, 0., 1.); + } else if(rad > 0.1 && abs(fract(rad+0.5)-0.5) < 0.1) { + v *= 0.7; + } + } + vec3 col; + if(uSmoothColor == 1) { + float r = cos(arg)*.5 + .5; + float g = cos(arg - TAU/3.)*.5 + .5; + float b = cos(arg - 2.*TAU/3.)*.5 + .5; + vec3 hue = vec3(r,g,b); + col = hue*(1. - (1.-s) - (1.-v)) + (1.-s); + } else { + col = hsv2rgb(vec3(arg/TAU, s, v)); + } + fragColor = vec4(col,1.); +} diff --git a/src/templates/projects/complex_grapher/webgl_base.js b/src/templates/projects/complex_grapher/webgl_base.js new file mode 100644 index 0000000..7a76764 --- /dev/null +++ b/src/templates/projects/complex_grapher/webgl_base.js @@ -0,0 +1,111 @@ +const vsSource = `#version 300 es + in vec4 aVertexPosition; + void main() { + gl_Position = aVertexPosition; + } +`; + +function runShader(fsSource, options) { + const canvas = document.querySelector('#canvas'); + const gl = canvas.getContext('webgl2', {preserveDrawingBuffer:true}); + if (!gl) { + alert('could not initialize webgl.'); + return; + } + const shaderProgram = initShaderProgram(gl, vsSource, fsSource); + + gl.useProgram(shaderProgram); + + const vertexPosition = gl.getAttribLocation(shaderProgram, 'aVertexPosition'); + + uResolution = gl.getUniformLocation(shaderProgram, "uResolution"); + uRangeAxes = gl.getUniformLocation(shaderProgram, "uRangeAxes"); + uDrawContours = gl.getUniformLocation(shaderProgram, "uDrawContours"); + uShadingIntensity = gl.getUniformLocation(shaderProgram, "uShadingIntensity"); + uSwapBlackWhite = gl.getUniformLocation(shaderProgram, "uSwapBlackWhite"); + uIterations = gl.getUniformLocation(shaderProgram, "uIterations"); + uSmoothColor = gl.getUniformLocation(shaderProgram, "uSmoothColor"); + + gl.uniform2f(uResolution, gl.canvas.width, gl.canvas.height); + gl.uniform4f(uRangeAxes, options.rmin, options.rmax, options.imin, options.imax); + gl.uniform1i(uDrawContours, options.drawcontours ? 1 : 0); + gl.uniform1f(uShadingIntensity, options.shading); + gl.uniform1i(uSwapBlackWhite, options.swapbw) ? 1 : 0; + gl.uniform1i(uIterations, options.iterations); + gl.uniform1i(uSmoothColor, options.smoothcolor); + + const buffers = initBuffers(gl); + drawScene(gl, vertexPosition, buffers); +} + +function initBuffers(gl) { + const positionBuffer = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer); + const positions = [ + 1.0, 1.0, + -1.0, 1.0, + 1.0, -1.0, + -1.0, -1.0, + ]; + gl.bufferData(gl.ARRAY_BUFFER, + new Float32Array(positions), + gl.STATIC_DRAW); + return { + position: positionBuffer, + }; +} + +function drawScene(gl, vertexPosition, buffers) { + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clearDepth(1.0); + gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); + const projectionMatrix = mat4.create(); + const modelViewMatrix = mat4.create(); + + const numComponents = 2; + const type = gl.FLOAT; + const normalize = false; + const stride = 0; + const offset = 0; + + gl.bindBuffer(gl.ARRAY_BUFFER, buffers.position); + gl.vertexAttribPointer( + vertexPosition, + numComponents, + type, + normalize, + stride, + offset); + gl.enableVertexAttribArray(vertexPosition); + + const vertexOffset = 0; + const vertexCount = 4; + gl.drawArrays(gl.TRIANGLE_STRIP, vertexOffset, vertexCount); +} + +function initShaderProgram(gl, vsSource, fsSource) { + const vertexShader = loadShader(gl, gl.VERTEX_SHADER, vsSource); + const fragmentShader = loadShader(gl, gl.FRAGMENT_SHADER, fsSource); + const shaderProgram = gl.createProgram(); + gl.attachShader(shaderProgram, vertexShader); + gl.attachShader(shaderProgram, fragmentShader); + gl.linkProgram(shaderProgram); + if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) { + throw Error('could not initialize shader program: ' + gl.getProgramInfoLog(shaderProgram)); + } + gl.deleteShader(vertexShader); + gl.deleteShader(fragmentShader); + return shaderProgram; +} + +function loadShader(gl, type, source) { + const shader = gl.createShader(type); + gl.shaderSource(shader, source); + gl.compileShader(shader); + if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) { + const text = 'could not compile shaders: ' + gl.getShaderInfoLog(shader); + gl.deleteShader(shader); + throw Error(text); + } + return shader; +} diff --git a/src/templates/projects/converter/index.html b/src/templates/projects/converter/index.html new file mode 100644 index 0000000..19660c8 --- /dev/null +++ b/src/templates/projects/converter/index.html @@ -0,0 +1,34 @@ +{% set meta={"title": "Unit Converter", "desc": "Convert between units, both ordinary and esoteric"} %} +{% extends "/_base.html" %} +{% block head %} + + + +{% endblock %} +{% block content %} +

        Convert between many different units and scales of length, temparture, mass, and area

        +

        + + + = + + +
        +

        Results may be rounded or have noise in the last decimal digits. +If a result ends with a sequence of '9's, you should round up. +If it ends with '0's, you should ignore them. When converting from very +small units to very large ones, the result may be zero.

        + + +{% endblock %} \ No newline at end of file diff --git a/src/templates/projects/converter/main.js b/src/templates/projects/converter/main.js new file mode 100644 index 0000000..df0c8ee --- /dev/null +++ b/src/templates/projects/converter/main.js @@ -0,0 +1,115 @@ +Number.prototype.decimals = function() { + if(Math.floor(this.valueOf()) === this.valueOf()) return 0; + return (this.toString().split(".")[1] || '').length; +} + +Math.trueRound = function(number, precision) { + var shift = function (number, precision, reverseShift) { + if (reverseShift) { + precision = -precision; + } + var numArray = ("" + number).split("e"); + return +(numArray[0] + "e" + (numArray[1] ? (+numArray[1] + precision) : precision)); + }; + return shift(Math.round(shift(number, precision, false)), precision, true); +} + +window.onload = function() { + measureUpdate(); +} + +function measureUpdate() { + let units = length.units; + let select = length.select; + switch($('#measure').val()) { + case 'length': units = length.units; select = length.select; break; + case 'temp': units = temp.units; select = temp.select; break; + case 'mass': units = mass.units; select = mass.select; break; + case 'area': units = area.units; select = area.select; break; + case 'time': units = time.units; select = time.select; break; + case 'volume': units = volume.units; select = volume.select; break; + case 'energy': units = energy.units; select = energy.select; break; + case 'computing': units = computing.units; select = computing.select; break; + } + updateUnits(units, select); + recalc(); +} + +function updateUnits(units, select) { + $('#unit1').empty(); + $('#unit2').empty(); + s1 = units.indexOf(select[0]); + s2 = units.indexOf(select[1]); + for(let i = 0; i < units.length; i++) { + let elem = $('').val(units[i]).text(units[i]); + if(i == s1) elem = elem.attr('selected', true); + $('#unit1').append(elem); + } + for(let i = 0; i < units.length; i++) { + let elem = $('').val(units[i]).text(units[i]); + if(i == s2) elem = elem.attr('selected', true); + $('#unit2').append(elem); + } +} + +function recalc() { + let m = length; + switch($('#measure').val()) { + case 'length': m = length; break; + case 'temp': m = temp; break; + case 'mass': m = mass; break; + case 'area': m = area; break; + case 'time': m = time; break; + case 'volume': m = volume; break; + case 'energy': m = energy; break; + case 'computing': m = computing; break; + } + + let value = $('#val1').val(); + let result = 0; + + if(m.ctype == 'mul') { + + // Simple multiplication + let u1 = $('#unit1').val(), u2 = $('#unit2').val(); + let done = false; + + // Check custom conversions + for(let i = 0; i < m.custom.length; i++) { + let c = m.custom[i]; + + if(c[0] == u1 && c[1] == u2) { + result = Math.trueRound(value*c[2], 12); + done = true; + } else if(c[0] == u2 && c[1] == u1) { + result = Math.trueRound(value/c[2], 12); + done = true; + } + } + if(!done) { + + // Convert + let indexFrom = m.units.indexOf(u1), indexTo = m.units.indexOf(u2); + let fc = m.conversions[indexFrom], tc = m.conversions[indexTo]; + newv = value*fc/tc; + result = Math.trueRound(newv, 12); + } + } else if(m.ctype == 'funct') { + + // Function (for temp) + newv = m.conversions[':'+$('#unit2').val()](m.conversions[$('#unit1').val()+':'](value)) + result = Math.trueRound(newv, 8); + } + $('#val2').val(result); +} + +function swap() { + let u1 = $('#unit1').val(); + let u2 = $('#unit2').val(); + let v1 = $('#val1').val(); + let v2 = $('#val2').val(); + $('#unit1').val(u2); + $('#unit2').val(u1); + $('#val1').val(v2); + $('#val2').val(v1); +} diff --git a/src/templates/projects/converter/measures.js b/src/templates/projects/converter/measures.js new file mode 100644 index 0000000..ebd76f6 --- /dev/null +++ b/src/templates/projects/converter/measures.js @@ -0,0 +1,105 @@ +let length = { + units: ['Picometer', 'Nanometer', 'Micrometer', 'Millimeter', 'Centimeter', + 'Decimeter', 'Meter', 'Decameter', 'Hectometer', 'Kilometer', 'Megameter', + 'Gigameter', 'Barleycorn', 'Thou', 'Digit', 'Inch', 'Palm', 'Stick', 'Hand', + 'Link', 'Foot', 'Yard', 'Rod', 'Fathom', 'Chain', 'Shackle', 'Cable', 'Furlong', + 'Mile', 'Nautical Mile', 'League', 'AU', 'Light-Year', 'Smoot'], + common: 'Meter', + ctype: 'mul', + select: ['Meter', 'Foot'], + conversions: [1e-12, 1e-9, 1e-6, 0.001, 0.01, + 0.1, 1, 10, 100, 1000, 1e+6, + 1e+9, 127/15000, 0.0000254, 0.01905, 0.0254, 0.0508, 0.0762, 0.1016, + 0.201168, 0.3048, 0.9144, 5.0292, 1.852, 20.1168, 27.432, 185.2, 201.168, + 1609.344, 1852, 4828.032, 149597870700, 9460730472580800, 1.7], + custom: [['Foot', 'Inch', 12], ['Yard', 'Foot', 3], ['Mile', 'Foot', 5280], + ['Inch', 'Centimeter', 2.54], ['Mile', 'Kilometer', 1.609344]] +}; + +let temp = { + units: ['Celcius', 'Fahrenheit', 'Kelvin', 'Rankine', 'Delisle'], + common: 'Celcius', + ctype: 'funct', + select: ['Celcius', 'Fahrenheit'], + conversions: { + 'Celcius:': (n)=>{return n;}, + ':Celcius': (n)=>{return n;}, + 'Fahrenheit:': (n)=>{return (n-32)*(5/9);}, + ':Fahrenheit': (n)=>{return (n*9/5) + 32;}, + 'Kelvin:': (n)=>{return n - 273.15;}, + ':Kelvin': (n)=>{return n + 273.15;}, + 'Rankine:': (n)=>{return (n-491.67)*(5/9);}, + ':Rankine': (n)=>{return (n*9/5)+491.67;}, + 'Delisle:': (n)=>{return 100-(n*2/3);}, + ':Delisle': (n)=>{return (100-n)*3/2;}, + }, + custom: [] +}; + +let mass = { + units: ['Picogram', 'Nanogram', 'Microgram', 'Milligram', 'Centigram', 'Decigram', + 'Gram', 'Decagram', 'Hectogram', 'Kilogram', 'Metric tonne', 'Ounce', 'Pound', 'Slug', 'Stone', 'US ton', 'Solar mass', 'Earth mass'], + common: 'Kilogram', + ctype: 'mul', + select: ['Kilogram', 'Pound'], + conversions: [1e-15, 1e-12, 1e-9, 1e-6, 1e-5, 1e-4, + 0.001, 0.01, 0.1, 1, 1000, 0.028349523125, 0.45359237, + 14.593903, 6.35029318, 907.18474, 1.98855e+30, 5.9722e+24], + custom: [['US Ton', 'Pound', 2000], ['Pound', 'Ounce', 16]] +}; + +let area = { + units: ['Square millimeter', 'Square centimeter', 'Square meter', 'Hectare', + 'Square kilometer', 'Square inch', 'Square foot', 'Square yard', 'Square mile', + 'Acre'], + common: 'Square meter', + ctype: 'mul', + select: ['Square kilometer', 'Square mile'], + conversions: [1e-12, 1e-10, 1e-6, 0.01, 1, 6.4516e-10, 9.290304e-8, 8.3612736e-7, + 2.589988110336, 0.0040468564224], + custom: [] +}; + +let time = { + units: ['Microsecond', 'Millisecond', 'Second', 'Minute', 'Hour', 'Day', 'Week', + 'Fortnight', 'Siderial month', 'Lunar month', '30 Days', 'Month', 'Quarter', + 'Common year', 'Julian year', 'Year', 'Sidereal year', 'Leap Year', 'Decade', + 'Average human life', 'Century', 'Millenium'], + common: 'Day', + ctype: 'mul', + select: ['Year', 'Second'], + conversions: [1/86400000000, 1/86400000, 1/86400, 1/1440, 1/24, 1, 7, + 14, 27.321661, 29.530588, 30, 30.4166666667, 91.25, + 365, 365.25, 365.2425, 365.256363004, 366, 3652.425, + 25749.59625, 36524.25, 365242.5], + custom: [] +}; + +let volume = { + units: ['Microliter', 'Milliliter', 'Centiliter', 'Deciliter', 'Liter', + 'Decaliter', 'Hectoliter', 'Kiloliter', 'Cubic inch', 'Cubic foot', 'Cubic yard', 'Minim', 'Fluid dram', 'Teaspoon', 'Tablespoon', 'Fluid ounce', 'Shot', 'Cup', 'Pint', 'Quart', 'Gallon', 'Barrel', 'Hogshead', 'Cord'], + common: 'Milliliter', + ctype: 'mul', + select: ['Liter', 'Cup'], + conversions: [0.001, 1, 10, 100, 1000, 10000, 100000, 1000000, 16.387064, 28316.8, + 764555, 0.061611519921875, 3.6966911953125, 4.92892159375, 14.78676478125, 29.5735295625, 30, 44.36029434375, 236.5882365, 473.176473, 946.352946, 3785.411784,119240.471196, 238480.942392, 3624556.3648], + custom: [['Cubic foot', 'Cubic inch', 1728], ['Cubic yard', 'Cubic foot', 27], ['Tablespoon', 'Teaspoon', 3], ['Fluid ounce', 'Cubic inch', 1.8046875], ['Cup', 'Tablespoon', 16], ['Cup', 'Teaspoon', 48]] +}; + +let energy = { + units: ['Microjoule', 'Millijoule', 'Joule', 'Kilojoule', 'Megajoule', 'Gigajoule', 'Terajoule', 'Exajoule', 'Microwatt-hour', 'Milliwatt-hour', 'Watt-hour', 'Kilowatt-hour', 'Megawatt-hour', 'Gigawatt-hour', 'Terawatt-hour', 'Calorie', 'Kilocalorie', 'Foot-pound'], + common: 'Joule', + ctype: 'mul', + select: ['Kilowatt-hour', 'Joule'], + conversions: [1e-6, 0.001, 1, 1000, 1e6, 1e9, 1e12, 1e15, 0.0036, 3.6, 3600, 3.6e6, 3.6e9, 3.6e12, 3.6e15, 4.184, 4184, 1.35582], + custom: [] +} + +let computing = { + units: ['Bit', 'Kibibit', 'Kilobit', 'Mebibit', 'Megabit', 'Gibibit', 'Gigabit', 'Tebibit', 'Terabit', 'Pebibit', 'Petabit', 'Ebibit', 'Exabit', 'Zebibit', 'Zettabit', 'Yobibit', 'Yottabit', 'Nibble', 'Byte', 'Kibibyte', 'Kilobyte', 'Mebibyte', 'Megabyte', 'Gibibyte', 'Gigabyte', 'Tebibyte', 'Terabyte', 'Pebibyte', 'Petabyte', 'Ebibyte', 'Exabyte', 'Zebibyte', 'Zettabyte','Yobibyte', 'Yottabyte'], + common: 'Byte', + ctype: 'mul', + select: ['Gigabyte', 'Megabyte'], + conversions: [1/8, 2**7, 10**3/8, 2**17, 10**6/8, 2**27, 10**9/8, 2**37, 10**12/8, 2**47, 10**15/8, 2**57, 10**18/8, 2**67, 10**21/8, 2**77, 10**24/8, 1/2, 1, 2**10, 10**3, 2**20, 10**6, 2**30, 10**9, 2**40, 10**12, 2**50, 10**15, 2**60, 10**18, 2**70, 10*21, 2**80, 10**24], + custom: [] +} diff --git a/src/templates/projects/elementsgame/cookies.js b/src/templates/projects/elementsgame/cookies.js new file mode 100644 index 0000000..e8f8aec --- /dev/null +++ b/src/templates/projects/elementsgame/cookies.js @@ -0,0 +1,30 @@ +function loadCookie() { + let cookie = Cookies.getJSON('savedata'); + // If no cookie exists, don't try to load one + if(cookie != undefined) { + // Get found elements from cookie + let elems = cookie['list']; + if(elems != undefined) { + console.log('Loading'); + // Set found elements to cookie + found = elems; + } + numHints = cookie['hints']; + if(numHints == undefined) numHints = 1; + foundUpdated(true); + savedTime = cookie['time']; + if(savedTime == undefined) savedTime = 0; + if(savedTime > 0) nextHint = savedTime + 60000; + foundUpdated(true); + } +} + +function saveCookie() { + console.log('Saving'); + // Set the cookie + Cookies.set('savedata', { + 'list':found, + 'hints':numHints, + 'time':realMillis() + }, {expires: 30, path: ''}); +} diff --git a/src/templates/projects/elementsgame/data.js b/src/templates/projects/elementsgame/data.js new file mode 100644 index 0000000..6aa68fc --- /dev/null +++ b/src/templates/projects/elementsgame/data.js @@ -0,0 +1,317 @@ +// Classes and their color +let classes = [ + ['null', 0, 0, 0 ], + ['water', 5, 30, 140], + ['earth', 145, 90, 30 ], + ['fire', 160, 20, 5 ], + ['air', 60, 130, 200], + ['stone', 70, 70, 70 ], + ['energy', 240, 200, 20 ], + ['life', 80, 165, 40 ], + ['animal', 195, 65, 45 ], + ['human', 240, 100, 10 ], + ['death', 60, 90, 15 ], + ['space', 20, 20, 30 ], + ['wood', 70, 40, 0 ], + ['food', 110, 50, 130], + ['tools', 210, 200, 200], + ['computer',160, 160, 170] +] + +// Elements and their class +let elements = [ + ['Water', 'water'], + ['Earth', 'earth'], + ['Fire', 'fire'], + ['Air', 'air'], + ['Mud', 'earth'], + ['Lava', 'fire'], + ['Stone', 'stone'], + ['Cloud', 'air'], + ['Smoke', 'air'], + ['Steam', 'air'], + ['Sand', 'stone'], + ['Rain', 'water'], + ['Ocean', 'water'], + ['Salt', 'stone'], + ['Energy', 'energy'], + ['Earthquake', 'earth'], + ['Swamp', 'earth'], + ['Life', 'life'], + ['Algae', 'life'], + ['Bird', 'animal'], + ['Plant', 'life'], + ['Mammal', 'animal'], + ['Tree', 'life'], + ['Glass', 'stone'], + ['Brick', 'stone'], + ['Monkey', 'animal'], + ['Egg', 'life'], + ['Phoenix', 'fire'], + ['Human', 'human'], + ['Love', 'human'], + ['Clay', 'earth'], + ['Wall', 'stone'], + ['Family', 'human'], + ['House', 'human'], + ['Town', 'human'], + ['City', 'human'], + ['Metal', 'stone'], + ['Electricity', 'energy'], + ['Dust', 'earth'], + ['Lightning', 'energy'], + ['Atmosphere', 'air'], + ['Planet', 'space'], + ['Star', 'space'], + ['Ash', 'stone'], + ['Mountain', 'earth'], + ['Volcano', 'fire'], + ['Stick', 'wood'], + ['Axe', 'tools'], + ['Wood', 'wood'], + ['Campfire', 'fire'], + ['Wind', 'air'], + ['Cold', 'air'], + ['Seeds', 'life'], + ['Grass', 'life'], + ['Penguin', 'animal'], + ['Ostrich', 'animal'], + ['Chicken', 'animal'], + ['Roast Chicken', 'food'], + ['Pig', 'animal'], + ['Bacon', 'food'], + ['Ham', 'food'], + ['Cow', 'animal'], + ['Steak', 'food'], + ['Wheat', 'life'], + ['Flour', 'food'], + ['Dough', 'food'], + ['Bread', 'food'], + ['Toast', 'food'], + ['Blade', 'tools'], + ['Knife', 'tools'], + ['Shavings', 'wood'], + ['Wood Pulp', 'wood'], + ['Paper', 'tools'], + ['Ice', 'water'], + ['Snow', 'water'], + ['Fish', 'animal'], + ['Whale', 'animal'], + ['Sheep', 'animal'], + ['Worker', 'human'], + ['Blacksmith', 'human'], + ['Shepherd', 'human'], + ['Farmer', 'human'], + ['Wire', 'computer'], + ['Robot', 'computer'], + ['Computer', 'computer'], + ['Network', 'computer'], + ['Internet', 'computer'], + ['Pet', 'animal'], + ['Cat', 'animal'], + ['Dog', 'animal'], + ['Meme', 'computer'], + ['Corpse', 'death'], + ['Bone', 'death'], + ['Zombie', 'death'], + ['Alien', 'death'], + ['Rainbow', 'air'], + ['Unicorn', 'animal'], + ['Bonfire', 'fire'], + ['Storm', 'air'], + ['Hurricane', 'air'], + ['Tornado', 'air'], + ['Potato', 'food'], + ['Fruit', 'life'], + ['Apple', 'food'], + ['Watermelon', 'food'], + ['Eggplant', 'food'], + ['Crab', 'animal'], + ['Milk', 'food'], + ['Butter', 'food'], + ['Forest', 'life'], + ['Jungle', 'life'], + ['Banana', 'food'], + ['Skyscraper', 'human'], + ['Goldfish', 'animal'], + ['Wheel', 'wood'], + ['Car', 'computer'], + ['Book', 'tools'], + ['Children', 'human'], + ['School', 'human'] +] + +// Recipes: two inputs and some outputs +let recipes = [ + ['Water', 'Earth', ['Mud']], + ['Fire', 'Earth', ['Lava']], + ['Lava', 'Water', ['Stone']], + ['Air', 'Water', ['Cloud']], + ['Air', 'Fire', ['Smoke']], + ['Stone', 'Water', ['Sand']], + ['Water', 'Cloud', ['Rain']], + ['Water', 'Water', ['Ocean']], + ['Ocean', 'Fire', ['Salt']], + ['Water', 'Fire', ['Steam', 'Energy']], + ['Energy', 'Earth', ['Earthquake']], + ['Mud', 'Water', ['Swamp']], + ['Swamp', 'Energy', ['Life']], + ['Life', 'Water', ['Algae']], + ['Life', 'Air', ['Bird']], + ['Algae', 'Earth', ['Plant']], + ['Life', 'Earth', ['Mammal']], + ['Plant', 'Air', ['Tree']], + ['Sand', 'Fire', ['Glass']], + ['Clay', 'Fire', ['Brick']], + ['Tree', 'Mammal', ['Monkey']], + ['Monkey', 'Fire', ['Human']], + ['Bird', 'Stone', ['Egg']], + ['Bird', 'Fire', ['Phoenix']], + ['Monkey', 'Fire', ['Human']], + ['Human', 'Human', ['Love']], + ['Mud', 'Swamp', ['Clay']], + ['Brick', 'Brick', ['Wall']], + ['Human', 'Love', ['Family']], + ['Wall', 'Family', ['House']], + ['House', 'House', ['Town']], + ['Town', 'Town', ['City']], + ['Fire', 'Stone', ['Metal']], + ['Metal', 'Energy', ['Electricity']], + ['Air', 'Earth', ['Dust']], + ['Fire', 'Air', ['Smoke']], + ['Energy', 'Air', ['Lightning']], + ['Air', 'Air', ['Atmosphere']], + ['Atmosphere', 'Earth', ['Planet']], + ['Planet', 'Fire', ['Star']], + ['Tree', 'Fire', ['Ash']], + ['Plant', 'Fire', ['Ash']], + ['Earth', 'Earth', ['Mountain']], + ['Lava', 'Mountain', ['Volcano']], + ['Tree', 'Stone', ['Stick']], + ['Stick', 'Stone', ['Axe']], + ['Tree', 'Axe', ['Wood']], + ['Wood', 'Fire', ['Campfire', 'Smoke']], + ['Air', 'Atmosphere', ['Wind']], + ['Wind', 'Water', ['Cold']], + ['Life', 'Sand', ['Seeds']], + ['Seeds', 'Earth', ['Grass']], + ['Bird', 'Cold', ['Penguin']], + ['Bird', 'Sand', ['Ostrich']], + ['Earth', 'Bird', ['Chicken']], + ['Fire', 'Chicken',['Roast Chicken']], + ['Mammal', 'Mud', ['Pig']], + ['Pig', 'Fire', ['Ham']], + ['Pig', 'Smoke', ['Bacon']], + ['Mammal', 'Grass', ['Cow']], + ['Cow', 'Fire', ['Steak']], + ['Grass', 'Air', ['Wheat']], + ['Wheat', 'Stone', ['Flour']], + ['Flour', 'Water', ['Dough']], + ['Dough', 'Fire', ['Bread']], + ['Bread', 'Fire', ['Toast']], + ['Metal', 'Stone', ['Blade']], + ['Blade', 'Stick', ['Knife']], + ['Knife', 'Wood', ['Shavings']], + ['Water', 'Shavings', ['Wood Pulp']], + ['Fire', 'Wood Pulp', ['Paper']], + ['Cold', 'Water', ['Ice']], + ['Cold', 'Rain', ['Snow']], + ['Ocean', 'Life', ['Fish']], + ['Ocean', 'Mammal', ['Whale']], + ['Mammal', 'Cloud', ['Sheep']], + ['Human', 'Axe', ['Worker']], + ['Worker', 'Metal', ['Blacksmith']], + ['Worker', 'Sheep', ['Shepherd']], + ['Worker', 'Wheat', ['Farmer']], + ['Metal', 'Electricity', ['Wire']], + ['Wire', 'Wire', ['Computer']], + ['Human', 'Computer', ['Robot']], + ['Computer', 'Computer', ['Network']], + ['Network','Network',['Internet']], + ['Human', 'Mammal', ['Pet']], + ['Pet', 'Milk', ['Cat']], + ['Pet', 'Bone', ['Dog']], + ['Cat', 'Internet', ['Meme']], + ['Human', 'Fire', ['Corpse']], + ['Corpse', 'Fire', ['Bone', 'Ash']], + ['Corpse', 'Life', ['Zombie']], + ['Planet', 'Life', ['Alien']], + ['Star', 'Rain', ['Rainbow']], + ['Rainbow','Mammal', ['Unicorn']], + ['Fire', 'Fire', ['Bonfire']], + ['Rain', 'Rain', ['Storm']], + ['Storm', 'Wind', ['Hurricane']], + ['Hurricane','Wind', ['Tornado']], + ['Plant', 'Earth', ['Potato']], + ['Plant', 'Plant', ['Fruit']], + ['Fruit', 'Tree', ['Apple']], + ['Fruit', 'Water', ['Watermelon']], + ['Fruit', 'Egg', ['Eggplant']], + ['Fish', 'Earth', ['Crab']], + ['Cow', 'Water', ['Milk']], + ['Milk', 'Energy', ['Butter']], + ['Tree', 'Tree', ['Forest']], + ['Forest', 'Monkey', ['Jungle']], + ['Fruit', 'Monkey', ['Banana']], + ['Metal', 'City', ['Skyscraper']], + ['Fish', 'Pet', ['Goldfish']], + ['Energy', 'Wood', ['Wheel']] + ['Wheel', 'Metal', ['Car']], + ['Paper', 'Paper', ['Book']], + ['Family', 'Love', ['Children']], + ['House', 'Children', ['School']] +] + +// Get the outputs when two elements are combined +function getOutputs(e1, e2) { + for(let r = 0; r < recipes.length; r++) { + if((recipes[r][0] == e1 && recipes[r][1] == e2) || (recipes[r][0] == e2 && recipes[r][1] == e1)) { + return recipes[r][2]; + } + } + return null; +} + +// Get the color of a class +function getColor(clazz) { + for(let c = 0; c < classes.length; c++) { + if(classes[c][0] == clazz) { + return [classes[c][1], classes[c][2], classes[c][3]]; + } + } +} + +// Get the class of an element +function getClass(element) { + let clazz = classes[0][0]; + for(let e = 0; e < elements.length; e++) { + if(elements[e][0] == element) { + clazz = elements[e][1] + } + } + return clazz; +} + +// The help text shown when 'q' is pressed +let helpText = +'Click on an element to select it and then click' + +' on another one to combine them. Try to get all ' + +elements.length + '!' + +'\n \n' + +'A hint will select an element that you can combine' + +' with another element you have to create something' + +' you do not have.' + +'\n \n' + +'Sorting modes will sort your elements either by' + +' order added, alphabetically, by class, or randomly.' + +'\n \n' + +'Some elements can be combined with themselves. Some' + +' elements cannot be used in any combinations.' + +'\n' + +'\n Q - View this help message' + +'\n M - Change sorting mode' + +'\n T - Show/hide time' + +'\n H - Use a hint' + +'\n Enter - Recalculate' + +'\n Mouse Wheel - Scrolling' + +'\n X - Clear savedata'; diff --git a/src/templates/projects/elementsgame/index.html b/src/templates/projects/elementsgame/index.html new file mode 100644 index 0000000..239aa6c --- /dev/null +++ b/src/templates/projects/elementsgame/index.html @@ -0,0 +1,11 @@ +{% set meta={"title": "Elements Game", "desc": "Combine elements to create more elements (now with 20% more bugs!)"} %} +{% extends "/_base.html" %} +{% block head %} + + + + + + + +{% endblock %} diff --git a/src/templates/projects/elementsgame/inputs.js b/src/templates/projects/elementsgame/inputs.js new file mode 100644 index 0000000..5ccb4ea --- /dev/null +++ b/src/templates/projects/elementsgame/inputs.js @@ -0,0 +1,54 @@ +// When mouse is clicked +function mouseClicked() { + // Get index of element clicked + let i = getIndexOfCoords(mouseX, mouseY); + if(curIndex == -1 && i < found.length && i >= 0) { + // If no element is selected and an element was clicked on, select the element that was just clicked + curIndex = i; + } else if(i < found.length && i >= 0) { + // If an element is selected and an element was clicked on, combine them + combine(sortedFound[curIndex], sortedFound[i]); + curIndex = -1; + } else { + // If the empty backgound was clicked, clear the selected element + curIndex = -1; + } +} + +// Scroll the elements +function mouseWheel(event) { + if(event.delta > 0) + offset++; + if(event.delta < 0 && offset > 0) + offset--; + return false; +} + +function keyTyped() { + if(key == 'q') { + // Show help text + window.alert(helpText); + } else if(key == 'm') { + // Change mode + nextSortMode(); + foundUpdated(); + } else if(key == 't') { + // Show/hide stopwatch + showTime = !showTime; + } else if(key == 'h') { + // Try to give a hint + if(numHints > 0) { + getHint(); + numHints--; + saveCookie(); + } + } else if(key == 'x') { + Cookies.remove('savedata', {path: ''}); + clearText = true; + } else if(keyCode == ENTER) { + // Recalculate + foundUpdated(); + clearText = false; + } + return false; +} diff --git a/src/templates/projects/elementsgame/sketch.js b/src/templates/projects/elementsgame/sketch.js new file mode 100644 index 0000000..33db365 --- /dev/null +++ b/src/templates/projects/elementsgame/sketch.js @@ -0,0 +1,177 @@ +// Initial elements the user starts with +let found = ['Water', 'Earth', 'Fire', 'Air']; +// Sorted list of elements +let sortedFound = found; +// Number of hints available +let numHints = 1; +// Next number of milliseconds after start to give new hint at +let nextHint = 60000; +// Saved time for cookies +let savedTime = 0; + +// Index of selected element +let curIndex = -1; +// Scroll offset +let offset = 0; +// Whether or not to show the stopwatch +let showTime = true; +// +let clearText = false; + +function setup() { + createCanvas(600, 600); + loadCookie(); +} + +function draw() { + // Black background + background(0); + if(clearText) { + noStroke(); + fill(255, 0, 0) + textSize(22); + textFont('Calibri'); + textAlign(CENTER, CENTER); + text('Savedata cleared. Please reload the page.\nIf this was a mistake, press ENTER', width/2, height/2); + return; + } + if(frameCount == 0) { + foundUpdated(); + } + + noStroke(); + manageHints(); + drawFound(); + showText(); +} + +function manageHints() { + if(numHints < 5) { + if(realMillis() >= nextHint) { + numHints++; + nextHint = realMillis() + 60000; + saveCookie(); + } + } else { + nextHint = realMillis() + 60000; + } +} + +function showText() { + textSize(18); + textAlign(CENTER, CENTER); + // Show number of elements found + text('Found: ' + found.length + ' / ' + elements.length, 300, 15); + textAlign(LEFT, CENTER); + // Show current sorting mode + text('Sort Mode: ' + getSortModeName(), 3, 585); + textAlign(RIGHT, CENTER); + // Show help message + text('Press Q for Help', 597, 585); + // Show stopwatch if supposed to + if(showTime) { + textAlign(RIGHT, CENTER); + let min = ('0' + floor(realMillis()/60000)).slice(-2); + let sec = ('0' + floor((realMillis()/1000)%60)).slice(-2); + text('Time: ' + min + ':' + sec, 597, 15); + } + textAlign(CENTER, CENTER); + // Show number of hints and time until next hint + let timeText = (numHints >= 5) ? '' : ' (' + ceil((nextHint - realMillis())/1000) + ' sec)'; + text('Hints: ' + numHints + timeText, 300, 585); + if(clearText) { + background(0) + textAlign(CENTER, CENTER); + text('Savedata cleared. Please reload the page '); + } +} + +function drawFound() { + textSize(14); + textFont('Calibri'); + textAlign(CENTER, CENTER); + for(let i = 0; i < found.length; i++) { + // Calculate grid-y coordinate + let gridy = floor(i / 9) - offset + // Draw the element at the grid-x and grid-y positions if it's onscreen + if(gridy >= 0 && gridy < 9) + drawElement(i % 9, gridy, sortedFound[i]); + } +} + +// Size of elements +let es = 50; +function drawElement(x, y, elem) { + // Calculate real x and y coordinates from grid-x and grid-y + let realx = x*es*1.25 + es; + let realy = y*es*1.25 + es; + // Draw a white circle around the selected element + if(sortedFound[curIndex] == elem) { + fill(240); + ellipse(realx, realy, es*1.1); + } + // Draw the element as a colored circle + fill(getColor(getClass(elem))); + ellipse(realx, realy, es); + // Show the name of the element + fill(255); + text(elem, realx, realy); +} + +// Combine two elements and add the outcome to the found list +function combine(e1, e2) { + let e3 = getOutputs(e1, e2); + if(e3 != null) { + for(let i = 0; i < e3.length; i++) { + if(found.indexOf(e3[i]) < 0) { + found.push(e3[i]); + } + } + } + foundUpdated(); +} + +// Convert real-x and real-y to an index. Returns -1 if invalid +function getIndexOfCoords(x, y) { + let ex = round((x - es)/(es*1.25)); + let ey = round((y - es)/(es*1.25)); + if(ex < 0 || ey < 0 || ex > 8 || ey > 8) { + return -1; + } + return ex + (ey + offset)*9; +} + +// Selects an element that can be used right now +function getHint() { + // If all elements have been found + if(found.length >= elements.length) return false; + // Select random elements until one works + let e1 = random(found); + while(true) { + // Go through each of the elements + for(let i = 0; i < found.length; i++) { + let outputs = getOutputs(e1, found[i]); + let hasOutput = false; + for(let i = 0; outputs != null && i < outputs.length; i++) { + if(found.indexOf(outputs[i]) < 0) hasOutput = true; + } + // If the random element can be combined with another element to produce new + // results, select it and return + if(outputs != null && hasOutput) { + curIndex = found.indexOf(e1); + return true; + } + } + e1 = random(found); + } +} + +function realMillis() { + return millis() + savedTime; +} + +// When adding, removing, or changing found elements always call this immediately after +function foundUpdated() { + sortedFound = aSort(found); + saveCookie(); +} diff --git a/src/templates/projects/elementsgame/sorting.js b/src/templates/projects/elementsgame/sorting.js new file mode 100644 index 0000000..bbf911b --- /dev/null +++ b/src/templates/projects/elementsgame/sorting.js @@ -0,0 +1,83 @@ +// Current sort mode +let sortMode = 0; + +// Go to next sort mode +function nextSortMode() { + sortMode = (sortMode + 1) % 7; + +} + +// Sort array based on current sort mode +function aSort(arr) { + newArr = arr.slice(0); + switch(sortMode) { + case 0: + return creationSort(newArr); + case 1: + return creationSort(newArr).reverse(); + case 2: + return nameSort(newArr); + case 3: + return nameSort(newArr).reverse(); + case 4: + return classSort(newArr); + case 5: + return classSort(newArr).reverse(); + case 6: + return randomSort(newArr); + } +} + +// Get the name of the current sort mode +function getSortModeName() { + switch(sortMode) { + case 0: + return 'Creation Time'; + case 1: + return 'Creation Time (Reverse)'; + case 2: + return 'Name'; + case 3: + return 'Name (Reverse)'; + case 4: + return 'Class'; + case 5: + return 'Class (Reverse)'; + case 6: + return 'Random'; + } + return 'Mode ' + mode; +} + +// Sort in order of the list +function creationSort(arr) { + return arr; +} + +// Sort alphabetically +function nameSort(arr) { + arr.sort() + return arr; +} + +// Sort by class +function classSort(arr) { + arr.sort(); + arr.sort(function(a, b) { + let ac = getClass(a), bc = getClass(b); + if(ac > bc) { + return 1; + } else if(ac == bc) { + return 0; + } else return -1; + }) + return arr; +} + +// Sort randomly +function randomSort(arr) { + arr.sort(function(a, b) { + return random() - 0.5; + }) + return arr; +} diff --git a/src/templates/projects/flappy/assets.js b/src/templates/projects/flappy/assets.js new file mode 100644 index 0000000..2f1356b --- /dev/null +++ b/src/templates/projects/flappy/assets.js @@ -0,0 +1,23 @@ +function loadAssets() { + loadImage('/static/i/flappy/background1.png', function(img) { + bgImage1 = img; + console.log('Loaded image assets/background1.png') + }, function(evt) { + console.error('Failed to load image assets/background1.jpg: ', evt); + bgImage1 = createImage(160, 32); + }); + loadImage('/static/i/flappy/background2.png', function(img) { + bgImage2 = img; + console.log('Loaded image assets/background2.png') + }, function(evt) { + console.error('Failed to load image assets/background2.jpg: ', evt); + bgImage2 = createImage(160, 32); + }); + loadImage('/static/i/flappy/bird.png', function(img) { + birdImage = img; + console.log('Loaded image assets/bird.png') + }, function(evt) { + console.error('Failed to load image assets/bird.jpg: ', evt); + birdImage = createImage(32, 32); + }); +} diff --git a/src/templates/projects/flappy/bird.js b/src/templates/projects/flappy/bird.js new file mode 100644 index 0000000..adb2387 --- /dev/null +++ b/src/templates/projects/flappy/bird.js @@ -0,0 +1,30 @@ +function Bird() { + this.width = birdHitboxSize; + this.height = birdHitboxSize; + this.iconwidth = birdDrawSize; + this.iconheight = birdDrawSize; + this.pos = height/2-this.height/2; + this.vel = 0; + this.acc = initialAcceleration; + this.xpos = birdXPosition; + + this.show = function() { + image(birdImage, this.xpos, this.pos, this.iconwidth, this.iconheight); + } + + this.update = function() { + this.vel += this.acc; + this.vel = constrain(this.vel, -termVel, termVel); + this.pos += this.vel; + this.acc = 0; + } + + this.applyForce = function(force, type) { + if(type === 'flap' && cancelVelocity == 1) { + this.vel = 0; + this.acc = force; + } else { + this.acc += force; + } + } +} diff --git a/src/templates/projects/flappy/block.js b/src/templates/projects/flappy/block.js new file mode 100644 index 0000000..f36750c --- /dev/null +++ b/src/templates/projects/flappy/block.js @@ -0,0 +1,25 @@ + +function Block() { + this.x = width+capWidth; + this.y = height-(random(height-blockSize)+blockSize); + this.passed = false; + + this.show = function() { + stroke(0); + strokeWeight(3); + fill(100, 200, 100); + rect(this.x, this.y, blockSize, blockSize); + if(this.x + blockSize < 0) return true; + return false; + } + + this.intersects = function(b) { + if(b.xpos+b.width > this.x && b.xpos < this.x+blockSize) { + if(!this.passed) { + this.passed = true; + score++; + } + return (b.pos+b.width > this.y && b.pos < this.y+blockSize); + } + } +} diff --git a/src/templates/projects/flappy/data.js b/src/templates/projects/flappy/data.js new file mode 100644 index 0000000..13b9024 --- /dev/null +++ b/src/templates/projects/flappy/data.js @@ -0,0 +1,233 @@ +let gravity = 1.2; +let termVel = 25; +let flapForce = -22; +let birdDrawSize = 60; +let birdHitboxSize = 60; + +let pipeGap = 240; +let pipeCap = 120; +let pipeWidth = 130; +let capWidth = 200; +let blockSize = 360; + +let framesBetweenObstacle = 240; +let scrollSpeed = 1; +let blockChance = 0.33333; +let birdXPosition = 300 +let initialAcceleration = -3; + +let cancelVelOptions = ['No', 'Yes'] +let cancelVelocity = 0; + +let guiElems = []; +let activeElement = undefined; + +function toggleVelOptions(element, mouseButton) { + cancelVelocity = 1 - cancelVelocity + element.text = cancelVelOptions[cancelVelocity]; +} + +function flipGravity(element, mouseButton) { + guiElems[2].text = ''+-1*guiElems[2].text; + guiElems[6].text = ''+-1*guiElems[6].text; + guiElems[30].text = ''+-1*guiElems[30].text; +} + +function saveAndExit(element, mouseButton) { + gravity = 1*guiElems[2].text; + termVel = 1*guiElems[4].text; + flapForce = 1*guiElems[6].text; + birdDrawSize = 1*guiElems[8].text; + birdHitboxSize = 1*guiElems[10].text; + pipeGap = 1*guiElems[12].text; + pipeCap = 1*guiElems[14].text; + pipeWidth = 1*guiElems[16].text; + capWidth = 1*guiElems[18].text; + blockSize = 1*guiElems[20].text; + framesBetweenObstacle = 1*guiElems[22].text; + scrollSpeed = 1*guiElems[24].text; + blockChance = 1*guiElems[26].text; + birdXPosition = 1*guiElems[28].text; + initialAcceleration = 1*guiElems[30].text; + gamestate = 'start'; +} + +function initMenu() { + guiElems[0] = new Button(50, height-90, width-100, 40, 'Save & Exit', saveAndExit); + guiElems[1] = new Label (50, 50, 140, 40, 'Gravity: '); + guiElems[2] = new Textbox (250, 50, 200, 40, gravity); + guiElems[3] = new Label (50, 100, 140, 40, 'Terminal velocity: '); + guiElems[4] = new Textbox (250, 100, 200, 40, termVel); + guiElems[5] = new Label (50, 150, 140, 40, 'Flap force: '); + guiElems[6] = new Textbox (250, 150, 200, 40, flapForce); + guiElems[7] = new Label (50, 200, 140, 40, 'Bird icon size: '); + guiElems[8] = new Textbox (250, 200, 200, 40, birdDrawSize); + guiElems[9] = new Label (50, 250, 140, 40, 'Bird hitbox size: '); + guiElems[10] = new Textbox(250, 250, 200, 40, birdHitboxSize); + + guiElems[11] = new Label (50, 300, 140, 40, 'Pipe gap: '); + guiElems[12] = new Textbox(250, 300, 200, 40, pipeGap); + guiElems[13] = new Label (50, 350, 140, 40, 'Pipe cap size: '); + guiElems[14] = new Textbox(250, 350, 200, 40, pipeCap); + guiElems[15] = new Label (50, 400, 140, 40, 'Pipe width: '); + guiElems[16] = new Textbox(250, 400, 200, 40, pipeWidth); + guiElems[17] = new Label (50, 450, 140, 40, 'Cap width: '); + guiElems[18] = new Textbox(250, 450, 200, 40, capWidth); + guiElems[19] = new Label (50, 500, 140, 40, 'Block size: '); + guiElems[20] = new Textbox(250, 500, 200, 40, blockSize); + + guiElems[21] = new Label (550, 50, 140, 40, 'Frames between obstacle: '); + guiElems[22] = new Textbox(750, 50, 200, 40, framesBetweenObstacle); + guiElems[23] = new Label (550, 100, 140, 40, 'Scroll speed: '); + guiElems[24] = new Textbox(750, 100, 200, 40, scrollSpeed); + guiElems[25] = new Label (550, 150, 140, 40, 'Block chance: '); + guiElems[26] = new Textbox(750, 150, 200, 40, blockChance); + guiElems[27] = new Label (550, 200, 140, 40, 'Bird X position: '); + guiElems[28] = new Textbox(750, 200, 200, 40, birdXPosition); + guiElems[29] = new Label (550, 250, 140, 40, 'Initial acceleration: '); + guiElems[30] = new Textbox(750, 250, 200, 40, initialAcceleration); + + guiElems[31] = new Label (575, 300, 140, 40, 'Cancel velocity when flapping: '); + guiElems[32] = new Button(850, 300, 100, 40, cancelVelOptions[cancelVelocity], toggleVelOptions); + guiElems[33] = new Button(525, 450, 405, 40, 'Flip gravity', flipGravity); +} + +function drawMenu(width, height) { + background(25); + for(const elem of guiElems) { + elem.show(); + } +} + +function menuKey(key, keyCode) { + if(activeElement) { + activeElement.onKeyType(key, keyCode); + } +} + +function menuPress(mouseX, mouseY, button) { + for(const elem of guiElems) { + if(mouseX >= elem.x && mouseY >= elem.y + && mouseX < (elem.x + elem.w) && mouseY < (elem.y + elem.h)) { + elem.onPress(mouseX, mouseY, mouseX - elem.x, mouseY - elem.y, button); + return; + } + } +} +function menuRelease(mouseX, mouseY, button) { + for(const elem of guiElems) { + if(mouseX >= elem.x && mouseY >= elem.y + && mouseX < (elem.x + elem.w) && mouseY < (elem.y + elem.h)) { + elem.onRelease(mouseX, mouseY, mouseX - elem.x, mouseY - elem.y, button); + return; + } + } +} +function menuClick(mouseX, mouseY, button) { + for(const elem of guiElems) { + if(mouseX >= elem.x && mouseY >= elem.y + && mouseX < (elem.x + elem.w) && mouseY < (elem.y + elem.h)) { + elem.onClick(mouseX, mouseY, mouseX - elem.x, mouseY - elem.y, button); + return; + } + } + activeElement = undefined; +} + +class GUIElement { + constructor(x, y, w, h) { + this.x = x; + this.y = y; + this.w = w; + this.h = h; + this.enabled = true; + this.pressed = false; + } + onPress(absX, absY, relX, relY, mouseButton) { this.pressed = true; } + onRelease(absX, absY, relX, relY, mouseButton) { this.pressed = false; } + onClick(absX, absY, relX, relY, mouseButton) { activeElement = this; } + onKeyType(key, keyCode) { } + isActive() { return false; } + setEnabled(enabled) { this.enabled = enabled; } + show() { } +} + +class Button extends GUIElement{ + constructor(x, y, w, h, text, onClickFunc) { + super(x, y, w, h); + this.text = text; + this.onClickFunc = onClickFunc; + } + onClick(absX, absY, relX, relY, mouseButton) { + activeElement = this; + this.onClickFunc(this, mouseButton) + } + show() { + stroke(255); + strokeWeight(3); + fill(this.pressed ? 25 : 120); + rect(this.x, this.y, this.w, this.h); + textSize(18); + textAlign(CENTER, CENTER); + noStroke(); + fill(255); + text(this.text, this.x+this.w/2, this.y+this.h/2) + } +} + +class Label extends GUIElement{ + constructor(x, y, w, h, text,) { + super(x, y, w, h); + this.text = text; + } + show() { + textSize(18); + textAlign(CENTER, CENTER); + noStroke(); + fill(255); + text(this.text, this.x+this.w/2, this.y+this.h/2) + } +} + +class Textbox extends GUIElement{ + constructor(x, y, w, h, text) { + super(x, y, w, h); + this.text = '' + text + ''; + this.cursor = 0; + } + onKeyType(key, keyCode) { + if(keyCode == 8) { + if(cursor != 0) { + this.text = this.text.slice(0, this.cursor-1) + this.text.slice(this.cursor) + this.cursor = Math.min(this.text.length, this.cursor = Math.max(0, this.cursor)) + } + } else if(keyCode == 37) { + this.cursor = Math.max(0, this.cursor-1) + } else if(keyCode == 39) { + this.cursor = Math.min(this.text.length, this.cursor+1) + } else if(key.length == 1) { + this.text = this.text.slice(0, this.cursor) + key + this.text.slice(this.cursor) + this.cursor += 1; + } + } + onClick(absX, absY, relX, relY, mouseButton) { + activeElement = this; + } + show() { + stroke(255); + strokeWeight(3); + fill(25); + rect(this.x, this.y, this.w, this.h); + textSize(18); + textAlign(CENTER, CENTER); + noStroke(); + fill(255); + let displayText = this.text; + if(activeElement === this) { + displayText = this.text.slice(0, this.cursor) + + (millis()%1000 > 500 ? 'ā”‚' : ' ') + + this.text.slice(this.cursor); + } + text(displayText, this.x+this.w/2, this.y+this.h/2) + } +} \ No newline at end of file diff --git a/src/templates/projects/flappy/index.html b/src/templates/projects/flappy/index.html new file mode 100644 index 0000000..6ef7767 --- /dev/null +++ b/src/templates/projects/flappy/index.html @@ -0,0 +1,13 @@ +{% set meta={"title": "Flappy", "desc": "Flappy", "fullscreen": True} %} +{% extends "/_base.html" %} +{% block head %} + + + + + + + + + +{% endblock %} \ No newline at end of file diff --git a/src/templates/projects/flappy/input.js b/src/templates/projects/flappy/input.js new file mode 100644 index 0000000..e075468 --- /dev/null +++ b/src/templates/projects/flappy/input.js @@ -0,0 +1,38 @@ +// Prevent backspace key from going back in page history +$(document).unbind('keydown').bind('keydown', function (event) { + if (event.keyCode === 8) { + var doPrevent = true; + var types = ["text", "password", "file", "search", "email", "number", "date", "color", "datetime", "datetime-local", "month", "range", "search", "tel", "time", "url", "week"]; + var d = $(event.srcElement || event.target); + var disabled = d.prop("readonly") || d.prop("disabled"); + if (!disabled) { + if (d[0].isContentEditable) { + doPrevent = false; + } else if (d.is("input")) { + var type = d.attr("type"); + if (type) { + type = type.toLowerCase(); + } + if (types.indexOf(type) > -1) { + doPrevent = false; + } + } else if (d.is("textarea")) { + doPrevent = false; + } + } + return !doPrevent; + } +}); + +document.addEventListener('keydown', keyDown); + +function keyDown(e) { + if(gamestate == 'menu') { + menuKey(e.key, e.keyCode); + } + else if(e.key == ' ' && gamestate != 'dead' && gamestate != 'start') + bird.applyForce(flapForce, 'flap'); + else if(e.keyCode == 13 && (gamestate == 'dead' || gamestate == 'start')) { + newGame() + } +} \ No newline at end of file diff --git a/src/templates/projects/flappy/main.js b/src/templates/projects/flappy/main.js new file mode 100644 index 0000000..b8818a2 --- /dev/null +++ b/src/templates/projects/flappy/main.js @@ -0,0 +1,167 @@ +var bgImage1; +var bgImage2; +var birdImage; +var bird; +var pipes = []; +var blocks = []; + +var gamestate = 'ld'; +var bscroll1 = 0; +var bscroll2 = 0; +var score = 0; +var frame = 0; + +function setup() { + var canvas = createCanvas(windowWidth, windowHeight).elt; + var context = canvas.getContext('2d'); + context.mozImageSmoothingEnabled = false; + context.webkitImageSmoothingEnabled = false; + context.msImageSmoothingEnabled = false; + context.imageSmoothingEnabled = false; + textFont('Courier New'); + frameRate(30); + initMenu(); + loadAssets(); +} + +function draw() { + if(gamestate == 'ld') { + drawLoading(); + } else if(gamestate == 'game') { + background(25); + var imageWidth = bgImage1.width*(height/bgImage1.height); + drawBackground(imageWidth); + doBird(); + pipesAndBlocks(); + showScore(); + bscroll1 += 2*scrollSpeed; + bscroll1 %= imageWidth; + bscroll2 += 1*scrollSpeed; + bscroll2 %= imageWidth; + frame++; + } else if(gamestate == 'dead' || gamestate == 'start') { + background(25); + textAlign(CENTER, CENTER); + noStroke(); + fill(255); + textSize(100); + if(gamestate == 'dead') { + text('You died!', width/2, height/2-150); + textSize(50); + text('Score: ' + score, width/2, height/2); + text('Play', width/2-width/7, height/2+150); + text('Options', width/2+width/7, height/2+150); + } else if(gamestate == 'start') { + text('Flappy T', width/2, height/2-150); + textSize(50); + text('Play', width/2-width/7, height/2+150); + text('Options', width/2+width/7, height/2+150); + } + } else if(gamestate == 'menu') { + drawMenu(); + } +} + +function drawBackground(imageWidth) { + image(bgImage2, -bscroll2, 0, imageWidth, height); + image(bgImage2, -bscroll2+imageWidth, 0, imageWidth, height); + image(bgImage1, -bscroll1, 0, imageWidth, height); + image(bgImage1, -bscroll1+imageWidth, 0, imageWidth, height); +} + +function doBird() { + bird.applyForce(gravity, 'grav'); + bird.update(); + bird.show(); + if(bird.pos > height) gamestate = 'dead'; + if(bird.pos < -bird.height) gamestate = 'dead'; +} + +function pipesAndBlocks() { + if(frame % framesBetweenObstacle == 0) { + if(random(1) < blockChance) + blocks.push(new Block()); + else + pipes.push(new Pipe()); + } + for(var i = 0; i < pipes.length; i++) { + pipes[i].x -= 3*scrollSpeed; + var p = pipes[i].show(); + if(pipes[i].intersects(bird)) gamestate = 'dead'; + if(p) { + pipes.splice(i, 1); + i--; + } + } + for(var i = 0; i < blocks.length; i++) { + blocks[i].x -= 3*scrollSpeed; + var p = blocks[i].show(); + if(blocks[i].intersects(bird)) gamestate = 'dead'; + if(p) { + blocks.splice(i, 1); + i--; + } + } +} + +function showScore() { + textAlign(CENTER, CENTER); + stroke(0); + strokeWeight(3); + fill(255); + textSize(120); + text(score, width/2, 100); +} + +function drawLoading() { + background(25); + var total = 3; + var count = 0; + if(bgImage1 != undefined) count++; + if(bgImage2 != undefined) count++; + if(birdImage != undefined) count++; + if(count >= total) gamestate = 'start'; + var w = (count/total)*(width-50); + noStroke(); + fill(0, 255, 0); + rect(25, 25, w, 75); +} + +function windowResized() { + resizeCanvas(windowWidth, windowHeight); +} + +function newGame() { + bird = new Bird(); + blocks = []; + pipes = []; + frame = 0; + score = 0; + gamestate = 'game'; +} + +function mousePressed() { + if(gamestate == 'menu') { + menuPress(mouseX, mouseY, mouseButton); + } +} + +function mouseReleased() { + if(gamestate == 'menu') { + menuRelease(mouseX, mouseY, mouseButton); + } +} + +function mouseClicked() { + if(gamestate == 'menu') { + menuClick(mouseX, mouseY, mouseButton); + } else if(gamestate == 'game' ) { + bird.applyForce(flapForce, 'flap'); + } else if((gamestate == 'start' || gamestate == 'dead') && mouseY > height/2 + 75) { + if(mouseX < width/2) { + newGame() + } else { + gamestate = 'menu' + } + } +} diff --git a/src/templates/projects/flappy/pipe.js b/src/templates/projects/flappy/pipe.js new file mode 100644 index 0000000..bfa7df1 --- /dev/null +++ b/src/templates/projects/flappy/pipe.js @@ -0,0 +1,30 @@ +function Pipe() { + this.x = width+capWidth; + this.top = height-(random(height - pipeCap*2 - pipeGap)+pipeCap+pipeGap); + this.bottom = this.top+pipeGap; + this.passed = false; + + this.show = function() { + stroke(0); + strokeWeight(3); + fill(100, 200, 100); + rect(this.x, -10, pipeWidth, this.top); + rect(this.x, this.bottom, pipeWidth, height+10); + + rect(this.x-capWidth/2+pipeWidth/2, this.top-pipeCap, capWidth, pipeCap); + rect(this.x-capWidth/2+pipeWidth/2, this.bottom, capWidth, pipeCap); + + if(this.x + capWidth < 0) return true; + return false; + } + + this.intersects = function(b) { + if(b.xpos+b.width > this.x && b.xpos < this.x+pipeWidth) { + if(!this.passed) { + this.passed = true; + score++; + } + return (b.pos < this.top || b.pos+b.height > this.bottom); + } + } +} diff --git a/src/templates/projects/fracbase/index.html b/src/templates/projects/fracbase/index.html new file mode 100644 index 0000000..32191c1 --- /dev/null +++ b/src/templates/projects/fracbase/index.html @@ -0,0 +1,95 @@ +{% set meta={"title": "Fraction to base n", "desc": "Convert fractions to digit expansions in different bases"} %} +{% extends "/_base.html" %} +{% block head %} + +{% endblock%} +{% block content%} + +
        Numerator:
        +
        Denominator:
        +
        Base:
        +
        Digits:
        +
        Show block form
        +
        +
        Result: 
        +
        + +{% endblock %} diff --git a/src/templates/projects/griddraw/canvas.js b/src/templates/projects/griddraw/canvas.js new file mode 100644 index 0000000..bf9e6cc --- /dev/null +++ b/src/templates/projects/griddraw/canvas.js @@ -0,0 +1,167 @@ +function createCanvas(selector, width, height, spacing, mouseOver) { + const result = { + xsize: Math.ceil(width/spacing), + ysize: Math.ceil(height/spacing), + spacing: spacing, + undoStack: [], + redoStack: [], + undoFrame: null, + }; + + result.width = result.xsize*spacing; + result.height = result.ysize*spacing; + + const svg = d3.select(selector).append("svg") + .attr("id", "canvas") + .attr("width", result.width) + .attr("height", result.height) + .style("background", "white"); + const cells = svg.append("g").attr("id", "canvas-cells"); + const lines = svg.append("g").attr("id", "canvas-lines"); + for(let i = 0; i < result.ysize; i++) { + lines.append("line") + .style("stroke", "#888") + .attr("class", "line") + .attr("x1", 0) + .attr("x2", result.width) + .attr("y1", i*result.spacing) + .attr("y2", i*result.spacing); + } + for(let i = 0; i < result.xsize; i++) { + lines.append("line") + .style("stroke", "#888") + .attr("class", "line") + .attr("y1", 0) + .attr("y2", result.height) + .attr("x1", i*result.spacing) + .attr("x2", i*result.spacing); + } + svg.on("scroll", ()=>{}); + svg.on("contextmenu", (event, d)=>{event.preventDefault();}); + svg.on("mousedown", (event, d)=>{ + window.mouseButton = event.button; + result.beginUndoFrame("draw"); + mouseOver(d3.pointer(event)); + }); + svg.on("mousemove", (event, d)=>{ + if(window.mouseButton !== null) { + mouseOver(d3.pointer(event)); + } + }); + svg.on("mouseup", (event, d)=>{ + window.mouseButton = null; + result.endUndoFrame(); + }); + + result.svg = svg; + + result.beginUndoFrame = function(type) { + result.undoFrame = []; + } + + result.endUndoFrame = function() { + if(result.undoFrame.length > 0) { + result.undoStack.push(result.undoFrame); + } + result.undoFrame = null; + } + + result.undo = function() { + if(result.undoStack.length > 0) { + const frame = result.undoStack.pop(); + for(const change of frame.reverse()) { + result.setCell(change.x, change.y, change.before); + } + result.redoStack.push(frame); + } + } + + result.redo = function() { + if(result.redoStack.length > 0) { + const frame = result.redoStack.pop(); + for(const change of frame) { + result.setCell(change.x, change.y, change.after); + } + result.undoStack.push(frame); + } + } + + result.clear = function() { + result.beginUndoFrame(); + for(let x = 0; x < result.xsize; x++) { + for(let y = 0; y < result.xsize; y++) { + result.setCell(x, y, null); + } + } + result.endUndoFrame(); + } + + result.setCell = function(x, y, color) { + const cell = d3.select("#cell-"+x+"-"+y); + if(color === null) { + if(cell.size() != 0) { + if(result.undoFrame){ + result.undoFrame.push({ + x: x, + y: y, + before: cell.style("fill"), + after: null + }); + } + cell.remove(); + } + } else { + if(cell.size() == 0) { + if(result.undoFrame){ + result.undoFrame.push({ + x: x, + y: y, + before: null, + after: color + }); + } + d3.select("#canvas-cells").append("rect") + .style("stroke-width", 0) + .style("fill", color) + .attr("id", "cell-"+x+"-"+y) + .attr("x", x*result.spacing) + .attr("y", y*result.spacing) + .attr("width", result.spacing) + .attr("height", result.spacing); + } else { + if(cell.style("fill") == color) { + return; + } + if(result.undoFrame){ + result.undoFrame.push({ + x: x, + y: y, + before: cell.style("fill"), + after: color + }); + } + cell.style("fill", color); + } + } + } + + result.setbg = function(color) { + svg.style("background", color); + } + + result.setlinecol = function(color) { + const lines = d3.selectAll(".line"); + if(color !== null) { + lines.style("stroke", color); + } else { + const cur = lines.attr("visibility"); + if(cur == "hidden") { + lines.attr("visibility", null); + } else { + lines.attr("visibility", "hidden"); + } + } + } + + return result; +} diff --git a/src/templates/projects/griddraw/colorpicker.js b/src/templates/projects/griddraw/colorpicker.js new file mode 100644 index 0000000..20eb716 --- /dev/null +++ b/src/templates/projects/griddraw/colorpicker.js @@ -0,0 +1,91 @@ +function HSVtoRGB(c){var r,g,b,i,f,p,q,t,h=c.h,s=c.s,v=c.v;i=Math.floor(h*6);f=h*6-i;p=v*(1-s);q=v*(1-f*s);t=v*(1-(1-f)*s);switch(i%6){case 0:r=v,g=t,b=p;break;case 1:r=q,g=v,b=p;break;case 2:r=p,g=v,b=t;break;case 3:r=p,g=q,b=v;break;case 4:r=t,g=p,b=v;break;case 5:r=v,g=p,b=q;break}return "rgb("+Math.round(r*255)+", "+Math.round(g*255)+", "+Math.round(b*255)+")"} + +function RGBtoHEX(c){return "#"+c.split("(")[1].split(")")[0].split(",").map((x)=>{x=parseInt(x).toString(16);return(x.length==1)?"0"+x:x}).join("")} + +function HEXtoHSV(c){var r=parseInt(c[1]+c[2],16)/255,g=parseInt(c[3]+c[4],16)/255,b=parseInt(c[5]+c[6],16)/255,cmax,cmin,diff,h,s;cmax=Math.max(r,g,b);cmin=Math.min(r,g,b);diff=cmax-cmin;if(cmax==cmin){h=0}else if(cmax==r){h=(((g-b)/diff)/6+1)%1}else if(cmax==g){h=(((b-r)/diff)/6+1/3)%1}else if(cmax==b){h=(((r-g)/diff)/6+2/3)%1}if(cmax==0){s=0}else{s=diff/cmax}return{h:h,s:s,v:cmax}} + +function createColorpicker(selPickingArea, selPicker, selHuePickingArea, selHuePicker, selHexcode, selDisplay) { + const result = { + color: {h:0.6111,s:0.89,v:0.72} + }; + + const pickingArea = d3.select(selPickingArea); + const picker = d3.select(selPicker); + const huePickingArea = d3.select(selHuePickingArea); + const huePicker = d3.select(selHuePicker); + const hexcode = d3.select(selHexcode); + const display = d3.select(selDisplay); + + pickingArea.on("contextmenu", (event, d)=>{event.preventDefault();}); + pickingArea.on("mousedown", (event, d)=>{ + event.preventDefault(); + window.mouseButton = event.button; + colorChange(d3.pointer(event)); + }); + pickingArea.on("mousemove", (event, d)=>{ + event.preventDefault(); + if(window.mouseButton !== null) { + colorChange(d3.pointer(event)); + } + }); + pickingArea.on("mouseup", (event, d)=>{window.mouseButton = null;}); + + + huePickingArea.on("contextmenu", (event, d)=>{event.preventDefault();}); + huePickingArea.on("mousedown", (event, d)=>{ + event.preventDefault(); + window.mouseButton = event.button; + hueChange(d3.pointer(event)); + }); + huePickingArea.on("mousemove", (event, d)=>{ + event.preventDefault(); + if(window.mouseButton !== null) { + hueChange(d3.pointer(event)); + } + }); + huePickingArea.on("mouseup", (event, d)=>{window.mouseButton = null;}); + + + hexcode.on("input", hexChange); + hexcode.on("change", hexChange); + hexcode.on("keypress", hexChange); + hexcode.on("paste", hexChange); + + function hexChange(event, d) { + const val = event.target.value; + if(val.match(/#[0-9a-fA-F]{6}/)) { + result.color = HEXtoHSV(event.target.value); + result.updateColorOutput(); + } + } + + function colorChange(mouse) { + const xp = Math.min(Math.max(mouse[0],0),200); + const yp = Math.min(Math.max(mouse[1],0),200); + result.color.s = xp/200; + result.color.v = 1-yp/200; + result.updateColorOutput(); + } + + function hueChange(mouse) { + result.color.h = mouse[1]/200; + result.updateColorOutput(); + } + + result.updateColorOutput = function() { + const hsv = result.color; + const rgb = HSVtoRGB(hsv); + display.style("background", rgb); + hexcode.node().value = RGBtoHEX(rgb); + huePicker.style("top", hsv.h*200+"px"); + picker.style("top", ((1-hsv.v)*200-4)+"px").style("left", (hsv.s*200-4)+"px"); + pickingArea.style("background", + "-webkit-linear-gradient(top, #00000000, #000 100%),"+ + "-webkit-linear-gradient(left, #fff, #ffffff00 100%),"+ + HSVtoRGB({h:hsv.h,s:1,v:1}) + ); + } + + return result; + +} diff --git a/src/templates/projects/griddraw/index.html b/src/templates/projects/griddraw/index.html new file mode 100644 index 0000000..539d28f --- /dev/null +++ b/src/templates/projects/griddraw/index.html @@ -0,0 +1,48 @@ +{% set meta={"title": "Griddraw", "desc": "Draw on a grid", "pagewidth": "90%"}%} +{% extends "/_base.html"%} +{% block head %} + + + + + +{% endblock %} +{% block title %}{% endblock %} +{% block content %} +
        +
        +

        Griddraw

        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        + +
        +
        +
        Left click - paint
        +
        Right click - erase
        +
        Middle click - pick color
        +
        + + + +
        +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        +{% endblock %} diff --git a/src/templates/projects/griddraw/index.js b/src/templates/projects/griddraw/index.js new file mode 100644 index 0000000..574f767 --- /dev/null +++ b/src/templates/projects/griddraw/index.js @@ -0,0 +1,39 @@ +window.onload = () => { + window.mouseButton = null; + window.canvas = createCanvas("#canvas-wrapper", window.innerWidth, window.innerHeight, 30, mouseOver); + + window.colorpicker = createColorpicker( + ".picking-area", ".picker", + ".hue-picking-area", ".hue-picker", + "#hexcode", "#colordisplay" + ); + + d3.select("#undo").on("click", window.canvas.undo); + d3.select("#redo").on("click", window.canvas.redo); + d3.select("#clear").on("click", window.canvas.clear); + d3.select("#setbg").on("click", ()=>window.canvas.setbg(HSVtoRGB(window.colorpicker.color))); + d3.select("#setlines").on("click", ()=>window.canvas.setlinecol(HSVtoRGB(window.colorpicker.color))); + d3.select("#togglelines").on("click", ()=>window.canvas.setlinecol(null)); + + window.colorpicker.updateColorOutput(); +}; + +function mouseOver(mouse) { + const x = Math.floor(mouse[0]/window.canvas.spacing); + const y = Math.floor(mouse[1]/window.canvas.spacing); + if(window.mouseButton == 0) { + window.canvas.setCell(x, y, HSVtoRGB(window.colorpicker.color)); + } else if(window.mouseButton == 1) { + const cell = d3.select("#cell-"+x+"-"+y); + if(cell.size() > 0) { + const color = cell.style("fill"); + const hsvcol = HEXtoHSV(RGBtoHEX(color)); + window.colorpicker.color = hsvcol; + window.colorpicker.updateColorOutput(); + } + } else if(window.mouseButton == 2) { + window.canvas.setCell(x, y, null); + } +} + +window.addEventListener("scroll", ()=>{window.scrollTo(0, 0)}); diff --git a/src/templates/projects/griddraw/style.css b/src/templates/projects/griddraw/style.css new file mode 100644 index 0000000..3661499 --- /dev/null +++ b/src/templates/projects/griddraw/style.css @@ -0,0 +1,82 @@ +main { + max-width: 100%; + padding: 20px; + margin: 0; +} +main > * { + margin: 0; +} +.leftcol > * { + margin-bottom: 0px; + margin-top: 7px; +} +.scrollable { + overflow: scroll; +} +.flexcontainer { + display: flex; + flex-direction: row; +} +.leftcol { + flex: 400px; +} +.rightcol { + flex: 100%; + height: calc(100vh - 40px); +} + +#colorpicker { + display: flex; + flex-direction: row; +} + +.picking-area { + position: relative; + width: 200px; + height: 200px; + background: -webkit-linear-gradient(top, #00000000, #000 100%), + -webkit-linear-gradient(left, #fff, #ffffff00 100%), rgb(0, 85, 255); + margin-right: 20px; + border: 1px solid #888; +} + +.picker { + position: absolute; + width: 8px; + height: 8px; + border: 1px solid #fff; + border-radius: 50%; + top: 52px; + left: 174px; +} +.picker::before { + width: 6px; + height: 6px; + position: absolute; + border: 1px solid #000; +} + +.hue-picking-area { + position: relative; + width: 30px; + height: 200px; + background: -webkit-linear-gradient(top, #f00 0%, #ff0 16.67%, #0f0 33.33%, #0ff 50%, #00f 66.67%, #f0f 83.33%, #f00 100%); + border: 1px solid #888; +} + +.hue-picker { + position: absolute; + width: 30px; + height: 2px; + background: #fff; + border: 1px solid #888; + top: 122px; +} + +#colordisplay { + width: 100px; + margin-left: 40px; + height: 23px; + border: 1px solid #888; + background: rgb(20, 75, 184); +} diff --git a/src/templates/projects/markov/index.html b/src/templates/projects/markov/index.html new file mode 100644 index 0000000..aa0a399 --- /dev/null +++ b/src/templates/projects/markov/index.html @@ -0,0 +1,50 @@ +{% set meta={"title": "Markov Word Gen", "desc": "Generate semi-random semi-pronouncable words using Markov chains"} %} +{% extends "/_base.html"%} +{% block head %} + + + + +{% endblock %} +{% block content %} +

        Generates semi-random semi-pronouncable words using Markov chains. Press +"Run Markov Chain" to generate a word. Press "Analyze frequencies" to run the +chain many times and make a list of the output probabilities. Enter text in +the box to create a new Markov chain from the text +you entered.

        + +
        +Presets: + +
        +
        +
        + +

        + + + + +

        Results:

        +
        +{% endblock %} \ No newline at end of file diff --git a/src/templates/projects/markov/main.js b/src/templates/projects/markov/main.js new file mode 100644 index 0000000..fc26186 --- /dev/null +++ b/src/templates/projects/markov/main.js @@ -0,0 +1,111 @@ +const SAMPLES = 500000; +const TRIES = 50000; +const FAILTEXT = 'Input conditions may be impossible: tried ' + TRIES + ' times and failed.'; + +var minLength = 3; +var maxLength = 10; +var order = 1; + +window.onload = function() { + repopulate(); +} + +function repeatRun(times) { + document.getElementById('results').innerHTML = ''; + for(var i = 0; i < times; i++) { + var word = getGoodChainOutput(); + if(word == null) { + document.getElementById('results').innerHTML = FAILTEXT; + return; + } + var p = document.createElement("P"); + p.className = "nospace"; + p.innerHTML = word; + document.getElementById('results').appendChild(p); + } +} + +function repeatRunReturn(times) { + var ret = []; + for(var i = 0; i < times; i++) { + var ch = getGoodChainOutput(); + if(ch == null) return null; + ret.push(ch); + } + return ret; +} + +function getGoodChainOutput() { + var word = runChain(); + var i = 0; + while(word.length < minLength || word.length > maxLength) { + word = runChain(); + i++ + if(i > 5000) return null; + } + return word; +} + +function analyze() { + document.getElementById('results').innerHTML = 'Analyzing...'; + setTimeout(doAnalyze); +} + +function doAnalyze() { + var run = repeatRunReturn(SAMPLES); + if(run == null) { + document.getElementById('results').innerHTML = FAILTEXT; + } + var results = {}; + for(var i = 0; i < run.length; i++) { + var w = run[i]; + if(results[w] != undefined) results[w] += 1; + else results[w] = 1; + } + var sorted = Object.keys(results).sort(function(a, b) {return results[b]-results[a]}); + sorted.splice(50); + var final = ''; + for(var i = 0; i < sorted.length; i++) { + final += sorted[i]; + var ns = Math.ceil((maxLength+1)/2) - sorted[i].length + 1; + for(var i = 0; i < ns; i++) { final += ' '; } + final += '(' + format(Math.round(10000*results[sorted[i]]/SAMPLES)/100, 1, 2) + '%)'; + final += '
        '; + } + document.getElementById('results').innerHTML = final; +} + +function format(number, wholeDigits, decimalDigits) { + var nstr = String(number); + var parts = nstr.split('.'); + var whole = parts[0], decimal = parts[1]; + while(whole != null && whole.length < wholeDigits) { + whole = '0' + whole; + } + while(decimal != null && decimal.length < decimalDigits) { + decimal += '0'; + } + if(whole == undefined) whole = 0; + if(decimal == undefined) decimal = 0; + return whole + '.' + decimal; +} + +function repopulate() { + var corpus = document.getElementById('corpus').value; + populateChain(corpus); +} + +function minmax() { + minLength = document.getElementById('min_length').value; + maxLength = document.getElementById('max_length').value; +} + +function setOrder() { + order = document.getElementById('markov_order').value; + repopulate(); +} + +function preset() { + document.getElementById('corpus').value = presets[document.getElementById('preset').value]; + repopulate(); +} diff --git a/src/templates/projects/markov/markov.js b/src/templates/projects/markov/markov.js new file mode 100644 index 0000000..42abee7 --- /dev/null +++ b/src/templates/projects/markov/markov.js @@ -0,0 +1,40 @@ +var chain = { + '!':[] +} + +function runChain() { + var index = '!'; + var word = ''; + while(index != '') { + var exits = chain[index]; + var next = exits[Math.floor(Math.random() * exits.length)]; + if(next == '') break; + if(order == 1) + index = next; + else + index = index.slice(-order+1) + next; + word += next; + } + return word; +} + +function populateChain(corpus) { + chain = {'!':[]}; + corpus = corpus.replace(/[^A-Za-z\s]|_/g, '').replace(/\s+/g, ' ').trim().toLowerCase(); + corpus = ' ' + corpus + ' '; + for(var i = 1; i < corpus.length; i++) { + var cur = corpus[i]; + var prev = ''; + for(var j = 0; j < order; j++) { + if(corpus[i-1-j] == ' ') { + prev = '!' + prev; + break; + } + prev = corpus[i-1-j] + prev; + } + if(cur == ' ') cur = ''; + if(chain[prev] == undefined) chain[prev] = []; + chain[prev].push(cur); + } + console.log(chain); +} diff --git a/src/templates/projects/markov/presets.js b/src/templates/projects/markov/presets.js new file mode 100644 index 0000000..e3913e3 --- /dev/null +++ b/src/templates/projects/markov/presets.js @@ -0,0 +1,11 @@ +var presets = { + "lipsum": " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque eu tempor risus. Sed sodales arcu ut pellentesque vehicula. In sit amet eros fermentum, tincidunt enim a, posuere lorem. Nulla malesuada ipsum sit amet nisi commodo faucibus. Nullam porttitor commodo ultrices. In in cursus ex. Fusce eu posuere purus, ut convallis libero. Mauris tincidunt quis mauris at varius. Quisque sed suscipit lorem. Cras varius purus eget lorem hendrerit, eleifend tempor ligula varius. In eu tempus neque. Vestibulum aliquam neque sem, sit amet pellentesque nisl mollis vitae. Maecenas placerat neque metus, a consectetur nulla bibendum at. Donec nec nulla neque. Aliquam maximus dictum nulla, sed rutrum dolor iaculis non. Etiam in bibendum elit. Maecenas rutrum arcu eget finibus efficitur. Donec volutpat dictum nisl vitae sollicitudin. Aenean dictum eros in scelerisque finibus. Donec blandit accumsan nunc, in viverra risus tincidunt ut. Nulla felis odio, tempus non lectus nec, vestibulum euismod elit. Nulla id diam tempor, iaculis libero sed, elementum massa. Aliquam feugiat velit neque, blandit tempus ipsum varius non. Suspendisse potenti. Integer varius ipsum ac lacinia volutpat. Maecenas ultricies vestibulum tristique. Mauris sit amet est commodo, dictum arcu eu, lacinia lacus. Suspendisse feugiat sagittis eleifend. Aliquam tempor elementum massa. Curabitur elit enim, varius et maximus tincidunt, semper sit amet magna. Vestibulum facilisis dictum sapien nec commodo. Pellentesque pulvinar consectetur hendrerit. Nam blandit felis ut ante egestas dignissim. In urna purus, dapibus sodales sollicitudin quis, lobortis ac quam. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc quis diam suscipit, dictum erat et, vehicula mi. Nulla quis augue eu sapien placerat maximus. Nulla blandit id erat eu suscipit. Duis sagittis pulvinar diam quis placerat. Pellentesque eros ligula, commodo et facilisis nec, faucibus ac mi. Morbi tempus justo tortor, gravida tincidunt tellus rhoncus at. Mauris pellentesque mi nec ex suscipit, vitae iaculis nibh venenatis. Cras diam massa, tincidunt vel dolor consequat, mattis posuere massa. Sed cursus ipsum mi, nec dapibus lorem aliquam et. Donec eleifend, augue sit amet sagittis elementum, magna mauris lacinia urna, at finibus justo ipsum mattis metus. Donec pellentesque vel libero pretium ultrices. Etiam massa odio, pharetra in quam id, lacinia efficitur justo. Fusce pretium urna eu ipsum vulputate, non ornare ligula porttitor. Integer ac ante vitae lectus commodo tincidunt vel vitae urna. Aenean rutrum dignissim nisl pharetra egestas. Donec ac commodo mi. Suspendisse ac tempor eros. Etiam cursus turpis non tortor egestas venenatis. In ut ultrices nibh.", + + "wikipedia": "A Markov chain is a stochastic model describing a sequence of possible events in which the probability of each event depends only on the state attained in the previous event.[1][2] In probability theory and related fields, a Markov process, named after the Russian mathematician Andrey Markov, is a stochastic process that satisfies the Markov property[1][3][4] (sometimes characterized as \"memorylessness\"). Roughly speaking, a process satisfies the Markov property if one can make predictions for the future of the process based solely on its present state just as well as one could knowing the process's full history, hence independently from such history; i.e., conditional on the present state of the system, its future and past states are independent. A Markov chain is a type of Markov process that has either a discrete state space or a discrete index set (often representing time), but the precise definition of a Markov chain varies.[5] For example, it is common to define a Markov chain as a Markov process in either discrete or continuous time with a countable state space (thus regardless of the nature of time),[6][7][8][9] but it is also common to define a Markov chain as having discrete time in either countable or continuous state space (thus regardless of the state space).[5] Markov studied Markov processes in the early 20th century, publishing his first paper on the topic in 1906.[10][11][12][13] Random walks based on integers and the gambler's ruin problem are examples of Markov processes.[14][15] Some variations of these processes were studied hundreds of years earlier in the context of independent variables.[16][17][18] Two important examples of Markov processes are the Wiener process, also known as the Brownian motion process, and the Poisson process,[19] which are considered the most important and central stochastic processes in the theory of stochastic processes,[20][21][22] and were discovered repeatedly and independently, both before and after 1906, in various settings.[23][24] These two processes are Markov processes in continuous time, while random walks on the integers and the gambler's ruin problem are examples of Markov processes in discrete time.[14][15] Markov chains have many applications as statistical models of real-world processes,[1][25][26][27] such as studying cruise control systems in motor vehicles, queues or lines of customers arriving at an airport, exchange rates of currencies, storage systems such as dams, and population growths of certain animal species.[28] The algorithm known as PageRank, which was originally proposed for the internet search engine Google, is based on a Markov process.[1][29][30] Markov processes are the basis for general stochastic simulation methods known as Gibbs sampling and Markov chain Monte Carlo. Furthermore, they are used for simulating random objects with specific probability distributions, and have found extensive application in Bayesian statistics.[28][31][32] The adjective Markovian is used to describe something that is related to a Markov process.[1][33]", + + "names": "Emma Olivia Ava Isabella Sophia Mia Charlotte Amelia Evelyn Abigail Harper Emily Elizabeth Avery Sofia Ella Madison Scarlett Victoria Aria Grace Chloe Camila Penelope Riley Layla Lillian Nora Zoey Mila Aubrey Hannah Lily Addison Eleanor Natalie Luna Savannah Brooklyn Leah Zoe Stella Hazel Ellie Paisley Audrey Skylar Violet Claire Bella Aurora Lucy Anna Samantha Caroline Genesis Aaliyah Kennedy Kinsley Allison Maya Sarah Madelyn Adeline Alexa Ariana Elena Gabriella Naomi Alice Sadie Hailey Eva Emilia Autumn Quinn Nevaeh Piper Ruby Serenity Willow Everly Cora Kaylee Lydia Aubree Arianna Eliana Peyton Melanie Gianna Isabelle Julia Valentina Nova Clara Vivian Reagan Mackenzie Madeline Brielle Delilah Isla Rylee Katherine Sophie Josephine Ivy Liliana Jade Maria Taylor Hadley Kylie Emery Adalynn Natalia Annabelle Faith Alexandra Ximena Ashley Brianna Raelynn Bailey Mary Athena Andrea Leilani Jasmine Lyla Margaret Alyssa Adalyn Arya Norah Khloe Kayla Eden Eliza Rose Ariel Melody Alexis Isabel Sydney Juliana Lauren Iris Emerson London Morgan Lilly Charlie Aliyah Valeria Arabella Sara Finley Trinity Ryleigh Jordyn Jocelyn Kimberly Esther Molly Valerie Cecilia Anastasia Daisy Reese Laila Mya Amy Teagan Amaya Elise Harmony Paige Adaline Fiona Alaina Nicole Genevieve Lucia Alina Mckenzie Callie Payton Eloise Brooke Londyn Mariah Julianna Rachel Daniela Gracie Catherine Angelina Presley Josie Harley Adelyn Vanessa Makayla Parker Juliette Amara Marley Lila Ana Rowan Alana Michelle Malia Rebecca Brooklynn Brynlee Summer Sloane Leila Sienna Adriana Sawyer Kendall Juliet Destiny Alayna Elliana Diana Hayden Ayla Dakota Angela Noelle Rosalie Joanna Jayla Alivia Lola Emersyn Georgia Selena June Daleyza Tessa Maggie Jessica Remi Delaney Camille Vivienne Hope Mckenna Gemma Olive Alexandria Blakely Izabella Catalina Raegan Journee Gabrielle Lucille Ruth Amiyah Evangeline Blake Thea Amina Giselle Lilah Melissa River Kate Adelaide Charlee Vera Leia Gabriela Zara Jane Journey Elaina Miriam Briella Stephanie Cali Ember Lilliana Aniyah Logan Kamila Brynn Ariella Makenzie Annie Mariana Kali Haven Elsie Nyla Paris Lena Freya Adelynn Lyric Camilla Sage Jennifer Paislee Talia Alessandra Juniper Fatima Raelyn Amira Arielle Phoebe Kinley Ada Nina Ariah Samara Myla Brinley Cassidy Maci Aspen Allie Keira Kaia Makenna Amanda Heaven Joy Lia Madilyn Gracelyn Laura Evelynn Lexi Haley Miranda Kaitlyn Daniella Felicity Jacqueline Evie Angel Danielle Ainsley Dylan Kiara Millie Jordan Maddison Rylie Alicia Maeve Margot Kylee Phoenix Heidi Zuri Alondra Lana Madeleine Gracelynn Kenzie Miracle Shelby Elle Adrianna Bianca Addilyn Kira Veronica Gwendolyn Esmeralda Chelsea Alison Skyler Magnolia Daphne Jenna Everleigh Kyla Braelynn Harlow Annalise Mikayla Dahlia Maliyah Averie Scarlet Kayleigh Luciana Kelsey Nadia Liam Noah William James Logan Benjamin Mason Elijah Oliver Jacob Lucas Michael Alexander Ethan Daniel Matthew Aiden Henry Joseph Jackson Samuel Sebastian David Carter Wyatt Jayden John Owen Dylan Luke Gabriel Anthony Isaac Grayson Jack Julian Levi Christopher Joshua Andrew Lincoln Mateo Ryan Jaxon Nathan Aaron Isaiah Thomas Charles Caleb Josiah Christian Hunter Eli Jonathan Connor Landon Adrian Asher Cameron Leo Theodore Jeremiah Hudson Robert Easton Nolan Nicholas Ezra Colton Angel Brayden Jordan Dominic Austin Ian Adam Elias Jaxson Greyson Jose Ezekiel Carson Evan Maverick Bryson Jace Cooper Xavier Parker Roman Jason Santiago Chase Sawyer Gavin Leonardo Kayden Ayden Jameson Kevin Bentley Zachary Everett Axel Tyler Micah Vincent Weston Miles Wesley Nathaniel Harrison Brandon Cole Declan Luis Braxton Damian Silas Tristan Ryder Bennett George Emmett Justin Kai Max Diego Luca Ryker Carlos Maxwell Kingston Ivan Maddox Juan Ashton Jayce Rowan Kaiden Giovanni Eric Jesus Calvin Abel King Camden Amir Blake Alex Brody Malachi Emmanuel Jonah Beau Jude Antonio Alan Elliott Elliot Waylon Xander Timothy Victor Bryce Finn Brantley Edward Abraham Patrick Grant Karter Hayden Richard Miguel Joel Gael Tucker Rhett Avery Steven Graham Kaleb Jasper Jesse Matteo Dean Zayden Preston August Oscar Jeremy Alejandro Marcus Dawson Lorenzo Messiah Zion Maximus River Zane Mark Brooks Nicolas Paxton Judah Emiliano Kaden Bryan Kyle Myles Peter Charlie Kyrie Thiago Brian Kenneth Andres Lukas Aidan Jax Caden Milo Paul Beckett Brady Colin Omar Bradley Javier Knox Jaden Barrett Israel Matias Jorge Zander Derek Josue Cayden Holden Griffin Arthur Leon Felix Remington Jake Killian Clayton Sean Adriel Riley Archer Legend Erick Enzo Corbin Francisco Dallas Emilio Gunner Simon Andre Walter Damien Chance Phoenix Colt Tanner Stephen Kameron Tobias Manuel Amari Emerson Louis Cody Finley Iker Martin Rafael Nash Beckham Cash Karson Rylan Reid Theo Ace Eduardo Spencer Raymond Maximiliano Anderson Ronan Lane Cristian Titus Travis Jett Ricardo Bodhi Gideon Jaiden Fernando Mario Conor Keegan Ali Cesar Ellis Jayceon Walker Cohen Arlo Hector Dante Kyler Garrett Donovan Seth Jeffrey Tyson Jase Desmond Caiden Gage Atlas Major Devin Edwin Angelo Orion Conner Julius Marco Jensen Daxton Peyton Zayn Collin Jaylen Dakota Prince Johnny Kayson Cruz Hendrix Atticus Troy Kane Edgar Sergio Kash Marshall Johnathan Romeo Shane Warren Joaquin Wade Leonel Trevor Dominick Muhammad Erik Odin Quinn Jaxton Dalton Nehemiah Frank Grady Gregory Andy Solomon Malik Rory Clark Reed Harvey Zayne Jay Jared Noel Shawn Fabian Ibrahim Adonis Ismael Pedro Leland Malakai Malcolm Alexis Kason Porter Sullivan Raiden", + + "beemovie": "according to all known laws of aviation there is no way a bee should be able to fly its wings are too small to get its fat little body off the ground the bee of course flies anyway because bees dont care what humans think is impossible yellow black yellow black yellow black yellow black ooh black and yellow lets shake it up a little barry breakfast is ready ooming hang on a second hello barry adam oan you believe this is happening i cant ill pick you up looking sharp use the stairs your father paid good money for those sorry im excited heres the graduate were very proud of you son a perfect report card all bs very proud ma i got a thing going here you got lint on your fuzz ow thats me wave to us well be in row 118 000 bye barry i told you stop flying in the house hey adam hey barry is that fuzz gel a little special day graduation never thought id make it three days grade school three days high school those were awkward three days college im glad i took a day and hitchhiked around the hive you did come back different hi barry artie growing a mustache looks good hear about frankie yeah you going to the funeral no im not going everybody knows sting someone you die dont waste it on a squirrel such a hothead i guess he could have just gotten out of the way i love this incorporating an amusement park into our day thats why we dont need vacations boy quite a bit of pomp under the circumstances well adam today we are men we are beemen amen hallelujah students faculty distinguished bees please welcome dean buzzwell welcome new hive oity graduating class of 915 that concludes our ceremonies and begins your career at honex industries will we pick ourjob today i heard its just orientation heads up here we go keep your hands and antennas inside the tram at all times wonder what itll be like a little scary welcome to honex a division of honesco and a part of the hexagon group this is it wow wow we know that you as a bee have worked your whole life to get to the point where you can work for your whole life honey begins when our valiant pollen jocks bring the nectar to the hive our topsecret formula is automatically colorcorrected scentadjusted and bubblecontoured into this soothing sweet syrup with its distinctive golden glow you know as honey that girl was hot shes my cousin she is yes were all cousins right youre right at honex we constantly strive to improve every aspect of bee existence these bees are stresstesting a new helmet technology what do you think he makes not enough here we have our latest advancement the krelman what does that do oatches that little strand of honey that hangs after you pour it saves us millions oan anyone work on the krelman of course most bee jobs are small ones but bees know that every small job if its done well means a lot but choose carefully because youll stay in the job you pick for the rest of your life the same job the rest of your life i didnt know that whats the difference youll be happy to know that bees as a species havent had one day off in 27 million years so youll just work us to death well sure try wow that blew my mind whats the difference how can you say that one job forever thats an insane choice to have to make im relieved now we only have to make one decision in life but adam how could they never have told us that why would you question anything were bees were the most perfectly functioning society on earth you ever think maybe things work a little too well here like what give me one example i dont know but you know what im talking about please clear the gate royal nectar force on approach wait a second oheck it out hey those are pollen jocks wow ive never seen them this close they know what its like outside the hive yeah but some dont come back hey jocks hi jocks you guys did great youre monsters youre sky freaks i love it i love it i wonder where they were i dont know their days not planned outside the hive flying who knows where doing who knows what you cantjust decide to be a pollen jock you have to be bred for that right look thats more pollen than you and i will see in a lifetime its just a status symbol bees make too much of it perhaps unless youre wearing it and the ladies see you wearing it those ladies arent they our cousins too distant distant look at these two oouple of hive harrys lets have fun with them it must be dangerous being a pollen jock yeah once a bear pinned me against a mushroom he had a paw on my throat and with the other he was slapping me oh my i never thought id knock him out what were you doing during this trying to alert the authorities i can autograph that a little gusty out there today wasnt it comrades yeah gusty were hitting a sunflower patch six miles from here tomorrow six miles huh barry a puddle jump for us but maybe youre not up for it maybe i am you are not were going 0900 at jgate what do you think buzzyboy are you bee enough i might be it all depends on what 0900 means hey honex dad you surprised me you decide what youre interested in well theres a lot of choices but you only get one do you ever get bored doing the same job every day son let me tell you about stirring you grab that stick and you just move it around and you stir it around you get yourself into a rhythm its a beautiful thing you know dad the more i think about it maybe the honey field just isnt right for me you were thinking of what making balloon animals thats a bad job for a guy with a stinger janet your sons not sure he wants to go into honey barry you are so funny sometimes im not trying to be funny youre not funny youre going into honey our son the stirrer youre gonna be a stirrer no ones listening to me wait till you see the sticks i have i could say anything right now im gonna get an ant tattoo lets open some honey and celebrate maybe ill pierce my thorax shave my antennae shack up with a grasshopper get a gold tooth and call everybody dawg im so proud were starting work today todays the day oome on all the good jobs will be gone yeah right pollen counting stunt bee pouring stirrer front desk hair removal is it still available hang on two left one of thems yours oongratulations step to the side whatd you get picking crud out stellar wow oouple of newbies yes sir our first day we are ready make your choice you want to go first no you go oh my whats available restroom attendants open not for the reason you think any chance of getting the krelman sure youre on im sorry the krelman just closed out wax monkeys always open the krelman opened up again what happened a bee died makes an opening see hes dead another dead one deady deadified two more dead dead from the neck up dead from the neck down thats life oh this is so hard heating cooling stunt bee pourer stirrer humming inspector number seven lint coordinator stripe supervisor mite wrangler barry what do you think i should barry barry all right weve got the sunflower patch in quadrant nine what happened to you where are you im going out out out where out there oh no i have to before i go to work for the rest of my life youre gonna die youre crazy hello another call coming in if anyones feeling brave theres a korean deli on 83rd that gets their roses today hey guys look at that isnt that the kid we saw yesterday hold it son flight decks restricted its ok lou were gonna take him up really feeling lucky are you sign here here just initial that thank you ok you got a rain advisory today and as you all know bees cannot fly in rain so be careful as always watch your brooms hockey sticks dogs birds bears and bats also i got a couple of reports of root beer being poured on us murphys in a home because of it babbling like a cicada thats awful and a reminder for you rookies bee law number one absolutely no talking to humans all right launch positions buzz buzz buzz buzz buzz buzz buzz buzz buzz buzz buzz buzz black and yellow hello you ready for this hot shot yeah yeah bring it on wind check antennae check nectar pack check wings check stinger check scared out of my shorts check ok ladies lets move it out pound those petunias you striped stemsuckers all of you drain those flowers wow im out i cant believe im out so blue i feel so fast and free box kite wow flowers this is blue leader we have roses visual bring it around 30 degrees and hold roses 30 degrees roger bringing it around stand to the side kid its got a bit of a kick that is one nectar collector ever see pollination up close no sir i pick up some pollen here sprinkle it over here maybe a dash over there a pinch on that one see that its a little bit of magic thats amazing why do we do that thats pollen power more pollen more flowers more nectar more honey for us oool im picking up a lot of bright yellow oould be daisies dont we need those oopy that visual wait one of these flowers seems to be on the move say again youre reporting a moving flower affirmative that was on the line this is the coolest what is it i dont know but im loving this color it smells good not like a flower but i like it yeah fuzzy ohemicaly oareful guys its a little grabby my sweet lord of bees oandybrain get off there problem guys this could be bad affirmative very close gonna hurt mamas little boy you are way out of position rookie ooming in at you like a missile help me i dont think these are flowers should we tell him i think he knows what is this match point you can start packing up honey because youre about to eat it yowser gross theres a bee in the car do something im driving hi bee hes back here hes going to sting me nobody move if you dont move he wont sting you freeze he blinked spray him granny what are you doing wow the tension level out here is unbelievable i gotta get home oant fly in rain oant fly in rain oant fly in rain mayday mayday bee going down ken could you close the window please ken could you close the window please oheck out my new resume i made it into a foldout brochure you see folds out oh no more humans i dont need this what was that maybe this time this time this time this time this time this drapes that is diabolical its fantastic its got all my special skills even my topten favorite movies whats number one star wars nah i dont go for that kind of stuff no wonder we shouldnt talk to them theyre out of their minds when i leave a job interview theyre flabbergasted cant believe what i say theres the sun maybe thats a way out i dont remember the sun having a big 75 on it i predicted global warming i could feel it getting hotter at first i thought it was just me wait stop bee stand back these are winter boots wait dont kill him you know im allergic to them this thing could kill me why does his life have less value than yours why does his life have any less value than mine is that your statement im just saying all life has value you dont know what hes capable of feeling my brochure there you go little guy im not scared of him its an allergic thing put that on your resume brochure my whole face could puff up make it one of your special skills knocking someone out is also a special skill right bye vanessa thanks vanessa next week yogurt night sure ken you know whatever you could put carob chips on there bye supposed to be less calories bye i gotta say something she saved my life i gotta say something all right here it goes nah what would i say i could really get in trouble its a bee law youre not supposed to talk to a human i cant believe im doing this ive got to oh i cant do it oome on no yes no do it i cant how should i start it you like jazz no thats no good here she comes speak you fool hi im sorry youre talking yes i know youre talking im so sorry no its ok its fine i know im dreaming but i dont recall going to bed well im sure this is very disconcerting this is a bit of a surprise to me i mean youre a bee i am and im not supposed to be doing this but they were all trying to kill me and if it wasnt for you i had to thank you its just how i was raised that was a little weird im talking with a bee yeah im talking to a bee and the bee is talking to me i just want to say im grateful ill leave now wait how did you learn to do that what the talking thing same way you did i guess mama dada honey you pick it up thats very funny yeah bees are funny if we didnt laugh wed cry with what we have to deal with anyway oan i get you something like what i dont know i mean i dont know ooffee i dont want to put you out its no trouble it takes two minutes its just coffee i hate to impose dont be ridiculous actually i would love a cup hey you want rum cake i shouldnt have some no i cant oome on im trying to lose a couple micrograms where these stripes dont help you look great i dont know if you know anything about fashion are you all right no hes making the tie in the cab as theyre flying up madison he finally gets there he runs up the steps into the church the wedding is on and he says watermelon i thought you said guatemalan why would i marry a watermelon is that a bee joke thats the kind of stuff we do yeah different so what are you gonna do barry about work i dont know i want to do my part for the hive but i cant do it the way they want i know how you feel you do sure my parents wanted me to be a lawyer or a doctor but i wanted to be a florist really my only interest is flowers our new queen was just elected with that same campaign slogan anyway if you look theres my hive right there see it youre in sheep meadow yes im right off the turtle pond no way i know that area i lost a toe ring there once why do girls put rings on their toes why not its like putting a hat on your knee maybe ill try that you all right maam oh yeah fine just having two cups of coffee anyway this has been great thanks for the coffee yeah its no trouble sorry i couldnt finish it if i did id be up the rest of my life are you oan i take a piece of this with me sure here have a crumb thanks yeah all right well then i guess ill see you around or not ok barry and thank you so much again for before oh that that was nothing well not nothing but anyway this cant possibly work hes all set to go we may as well try it ok dave pull the chute sounds amazing it was amazing it was the scariest happiest moment of my life humans i cant believe you were with humans giant scary humans what were they like huge and crazy they talk crazy they eat crazy giant things they drive crazy do they try and kill you like on tv some of them but some of them dont howd you get back poodle you did it and im glad you saw whatever you wanted to see you had your experience now you can pick out yourjob and be normal well well well i met someone you did was she beeish a wasp your parents will kill you no no no not a wasp spider im not attracted to spiders i know its the hottest thing with the eight legs and all i cant get by that face so who is she shes human no no thats a bee law you wouldnt break a bee law her names vanessa oh boy shes so nice and shes a florist oh no youre dating a human florist were not dating youre flying outside the hive talking to humans that attack our homes with power washers and m80s oneeighth a stick of dynamite she saved my life and she understands me this is over eat this this is not over what was that they call it a crumb it was so stingin stripey and thats not what they eat thats what falls off what they eat you know what a oinnabon is no its bread and cinnamon and frosting they heat it up sit down really hot listen to me we are not them were us theres us and theres them yes but who can deny the heart that is yearning theres no yearning stop yearning listen to me you have got to start thinking bee my friend thinking bee thinking bee thinking bee thinking bee thinking bee thinking bee thinking bee there he is hes in the pool you know what your problem is barry i gotta start thinking bee how much longer will this go on its been three days why arent you working ive got a lot of big life decisions to think about what life you have no life you have no job youre barely a bee would it kill you to make a little honey barry come out your fathers talking to you martin would you talk to him barry im talking to you you coming got everything all set go ahead ill catch up dont be too long watch this vanessa were still here i told you not to yell at him he doesnt respond to yelling then why yell at me because you dont listen im not listening to this sorry ive gotta go where are you going im meeting a friend a girl is this why you cant decide bye i just hope shes beeish they have a huge parade of flowers every year in pasadena to be in the tournament of roses thats every florists dream up on a float surrounded by flowers crowds cheering a tournament do the roses compete in athletic events no all right ive got one how come you dont fly everywhere its exhausting why dont you run everywhere its faster yeah ok i see i see all right your turn tivo you can just freeze live tv thats insane you dont have that we have hivo but its a disease its a horrible horrible disease oh my dumb bees you must want to sting all those jerks we try not to sting its usually fatal for us so you have to watch your temper very carefully you kick a wall take a walk write an angry letter and throw it out work through it like any emotion anger jealousy lust oh my goodness are you ok yeah what is wrong with you its a bug hes not bothering anybody get out of here you creep what was that a pic n save circular yeah it was how did you know it felt like about 10 pages seventyfive is pretty much our limit youve really got that down to a science i lost a cousin to italian vogue ill bet what in the name of mighty hercules is this how did this get here oute bee golden blossom ray liotta private select is he that actor i never heard of him why is this here for people we eat it you dont have enough food of your own well yes how do you get it bees make it i know who makes it and its hard to make it theres heating cooling stirring you need a whole krelman thing its organic its ourganic its just honey barry just what bees dont know about this this is stealing a lot of stealing youve taken our homes schools hospitals this is all we have and its on sale im getting to the bottom of this im getting to the bottom of all of this hey hector you almost done almost he is here i sense it well i guess ill go home now and just leave this nice honey out with no one around youre busted box boy i knew i heard something so you can talk i can talk and now youll start talking where you getting the sweet stuff whos your supplier i dont understand i thought we were friends the last thing we want to do is upset bees youre too late its ours now you sir have crossed the wrong sword you sir will be lunch for my iguana ignacio where is the honey coming from tell me where honey farms it comes from honey farms orazy person what horrible thing has happened here these faces they never knew what hit them and now theyre on the road to nowhere just keep still what youre not dead do i look dead they will wipe anything that moves where you headed to honey farms i am onto something huge here im going to alaska moose blood crazy stuff blows your head off im going to tacoma and you he really is dead all right uhoh what is that oh no a wiper triple blade triple blade jump on its your only chance bee why does everything have to be so doggone clean how much do you people need to see open your eyes stick your head out the window from npr news in washington im oarl kasell but dont kill no more bugs bee moose blood guy you hear something like what like tiny screaming turn off the radio whassup bee boy hey blood just a row of honey jars as far as the eye could see wow i assume wherever this truck goes is where theyre getting it i mean that honeys ours bees hang tight were all jammed in its a close community not us man we on our own every mosquito on his own what if you get in trouble you a mosquito you in trouble nobody likes us they just smack see a mosquito smack smack at least youre out in the world you must meet girls mosquito girls try to trade up get with a moth dragonfly mosquito girl dont want no mosquito you got to be kidding me moosebloods about to leave the building so long bee hey guys mooseblood i knew id catch yall down here did you bring your crazy straw we throw it in jars slap a label on it and its pretty much pure profit what is this place a bees got a brain the size of a pinhead they are pinheads pinhead oheck out the new smoker oh sweet thats the one you want the thomas 3000 smoker ninety puffs a minute semiautomatic twice the nicotine all the tar a couple breaths of this knocks them right out they make the honey and we make the money they make the honey and we make the money oh my whats going on are you ok yeah it doesnt last too long do you know youre in a fake hive with fake walls our queen was moved here we had no choice this is your queen thats a man in womens clothes thats a drag queen what is this oh no theres hundreds of them bee honey our honey is being brazenly stolen on a massive scale this is worse than anything bears have done i intend to do something oh barry stop who told you humans are taking our honey thats a rumor do these look like rumors thats a conspiracy theory these are obviously doctored photos how did you get mixed up in this hes been talking to humans what talking to humans he has a human girlfriend and they make out make out barry we do not you wish you could whose side are you on the bees i dated a cricket once in san antonio those crazy legs kept me up all night barry this is what you want to do with your life i want to do it for all our lives nobody works harder than bees dad i remember you coming home so overworked your hands were still stirring you couldnt stop i remember that what right do they have to our honey we live on two cups a year they put it in lip balm for no reason whatsoever even if its true what can one bee do sting them where it really hurts in the face the eye that would hurt no up the nose thats a killer theres only one place you can sting the humans one place where it matters hive at five the hives only fullhour action news source no more bee beards with bob bumble at the anchor desk weather with storm stinger sports with buzz larvi and jeanette ohung good evening im bob bumble and im jeanette ohung a tricounty bee barry benson intends to sue the human race for stealing our honey packaging it and profiting from it illegally tomorrow night on bee larry king well have three former queens here in our studio discussing their new book olassy ladies out this week on hexagon tonight were talking to barry benson did you ever think im a kid from the hive i cant do this bees have never been afraid to change the world what about bee oolumbus bee gandhi bejesus where im from wed never sue humans we were thinking of stickball or candy stores how old are you the bee community is supporting you in this case which will be the trial of the bee century you know they have a larry king in the human world too its a common name next week he looks like you and has a show and suspenders and colored dots next week glasses quotes on the bottom from the guest even though you just heard em bear week next week theyre scary hairy and here live always leans forward pointy shoulders squinty eyes very jewish in tennis you attack at the point of weakness it was my grandmother ken shes 81 honey her backhands a joke im not gonna take advantage of that quiet please actual work going on here is that that same bee yes it is im helping him sue the human race hello hello bee this is ken yeah i remember you timberland size ten and a half vibram sole i believe why does he talk again listen you better go cause were really busy working but its our yogurt night byebye why is yogurt night so difficult you poor thing you two have been at this for hours yes and adam here has been a huge help frosting how many sugars just one i try not to use the competition so why are you helping me bees have good qualities and it takes my mind off the shop instead of flowers people are giving balloon bouquets now those are great if youre three and artificial flowers oh those just get me psychotic yeah me too bent stingers pointless pollination bees must hate those fake things nothing worse than a daffodil thats had work done maybe this could make up for it a little bit this lawsuits a pretty big deal i guess you sure you want to go through with it am i sure when im done with the humans they wont be able to say honey im home without paying a royalty its an incredible scene here in downtown manhattan where the world anxiously waits because for the first time in history we will hear for ourselves if a honeybee can actually speak what have we gotten into here barry its pretty big isnt it i cant believe how many humans dont work during the day you think billiondollar multinational food companies have good lawyers everybody needs to stay behind the barricade whats the matter i dont know i just got a chill well if it isnt the bee team you boys work on this all rise the honorable judge bumbleton presiding all right oase number 4475 superior oourt of new york barry bee benson v the honey industry is now in session mr montgomery youre representing the five food companies collectively a privilege mr benson youre representing all the bees of the world im kidding yes your honor were ready to proceed mr montgomery your opening statement please ladies and gentlemen of the jury my grandmother was a simple woman born on a farm she believed it was mans divine right to benefit from the bounty of nature god put before us if we lived in the topsyturvy world mr benson imagines just think of what would it mean i would have to negotiate with the silkworm for the elastic in my britches talking bee how do we know this isnt some sort of holographic motionpicturecapture hollywood wizardry they could be using laser beams robotics ventriloquism oloning for all we know he could be on steroids mr benson ladies and gentlemen theres no trickery here im just an ordinary bee honeys pretty important to me its important to all bees we invented it we make it and we protect it with our lives unfortunately there are some people in this room who think they can take it from us cause were the little guys im hoping that after this is all over youll see how by taking our honey you not only take everything we have but everything we are i wish hed dress like that all the time so nice oall your first witness so mr klauss vanderhayden of honey farms big company you have i suppose so i see you also own honeyburton and honron yes they provide beekeepers for our farms beekeeper i find that to be a very disturbing term i dont imagine you employ any beefreeers do you no i couldnt hear you no no because you dont free bees you keep bees not only that it seems you thought a bear would be an appropriate image for a jar of honey theyre very lovable creatures yogi bear fozzie bear buildabear you mean like this bears kill bees howd you like his head crashing through your living room biting into your couch spitting out your throw pillows ok thats enough take him away so mr sting thank you for being here your name intrigues me where have i heard it before i was with a band called the police but youve never been a police officer have you no i havent no you havent and so here we have yet another example of bee culture casually stolen by a human for nothing more than a pranceabout stage name oh please have you ever been stung mr sting because im feeling a little stung sting or should i say mr gordon m sumner thats not his real name you idiots mr liotta first belated congratulations on your emmy win for a guest spot on er in 2005 thank you thank you i see from your resume that youre devilishly handsome with a churning inner turmoil thats ready to blow i enjoy what i do is that a crime not yet it isnt but is this what its come to for you exploiting tiny helpless bees so you dont have to rehearse your part and learn your lines sir watch it benson i could blow right now this isnt a goodfella this is a badfella why doesnt someone just step on this creep and we can all go home order in this court youre all thinking it order order i say say it mr liotta please sit down i think it was awfully nice of that bear to pitch in like that i think the jurys on our side are we doing everything right legally im a florist right well heres to a great team to a great team well hello ken hello i didnt think you were coming no i was just late i tried to call but the battery i didnt want all this to go to waste so i called barry luckily he was free oh that was lucky theres a little left i could heat it up yeah heat it up sure whatever so i hear youre quite a tennis player im not much for the game myself the balls a little grabby thats where i usually sit right there ken barry was looking at your resume and he agreed with me that eating with chopsticks isnt really a special skill you think i dont see what youre doing i know how hard it is to find the rightjob we have that in common do we bees have 100 percent employment but we do jobs like taking the crud out thats just what i was thinking about doing ken i let barry borrow your razor for his fuzz i hope that was all right im going to drain the old stinger yeah you do that look at that you know ive just about had it with your little mind games whats that italian vogue mamma mia thats a lot of pages a lot of ads remember what van said why is your life more valuable than mine funny i just cant seem to recall that i think something stinks in here i love the smell of flowers how do you like the smell of flames not as much water bug not taking sides ken im wearing a ohapstick hat this is pathetic ive got issues well well well a royal flush youre bluffing am i surfs up dude poo water that bowl is gnarly except for those dirty yellow rings kenneth what are you doing you know i dont even like honey i dont eat it we need to talk hes just a little bee and he happens to be the nicest bee ive met in a long time long time what are you talking about are there other bugs in your life no but there are other things bugging me in life and youre one of them fine talking bees no yogurt night my nerves are fried from riding on this emotional roller coaster goodbye ken and for your information i prefer sugarfree artificial sweeteners made by man im sorry about all that i know its got an aftertaste i like it i always felt there was some kind of barrier between ken and me i couldnt overcome it oh well are you ok for the trial i believe mr montgomery is about out of ideas we would like to call mr barry benson bee to the stand good idea you can really see why hes considered one of the best lawyers yeah layton youve gotta weave some magic with this jury or its gonna be all over dont worry the only thing i have to do to turn this jury around is to remind them of what they dont like about bees you got the tweezers are you allergic only to losing son only to losing mr benson bee ill ask you what i think wed all like to know what exactly is your relationship to that woman were friends good friends yes how good do you live together wait a minute are you her little bedbug ive seen a bee documentary or two from what i understand doesnt your queen give birth to all the bee children yeah but so those arent your real parents oh barry yes they are hold me back youre an illegitimate bee arent you benson hes denouncing bees dont yall date your cousins objection im going to pincushion this guy adam dont its what he wants oh im hit oh lordy i am hit order order the venom the venom is coursing through my veins i have been felled by a winged beast of destruction you see you cant treat them like equals theyre striped savages stingings the only thing they know its their way adam stay with me i cant feel my legs what angel of mercy will come forward to suck the poison from my heaving buttocks i will have order in this court order order please the case of the honeybees versus the human race took a pointed turn against the bees yesterday when one of their legal team stung layton t montgomery hey buddy hey is there much pain yeah i i blew the whole case didnt i it doesnt matter what matters is youre alive you could have died id be better off dead look at me they got it from the cafeteria downstairs in a tuna sandwich look theres a little celery still on it what was it like to sting someone i cant explain it it was all all adrenaline and then and then ecstasy all right you think it was all a trap of course im sorry i flew us right into this what were we thinking look at us were just a couple of bugs in this world what will the humans do to us if they win i dont know i hear they put the roaches in motels that doesnt sound so bad adam they check in but they dont check out oh my oould you get a nurse to close that window why the smoke bees dont smoke right bees dont smoke bees dont smoke but some bees are smoking thats it thats our case it is its not over get dressed ive gotta go somewhere get back to the court and stall stall any way you can and assuming youve done step correctly youre ready for the tub mr flayman yes yes your honor where is the rest of your team well your honor its interesting bees are trained to fly haphazardly and as a result we dont make very good time i actually heard a funny story about your honor havent these ridiculous bugs taken up enough of this courts valuable time how much longer will we allow these absurd shenanigans to go on they have presented no compelling evidence to support their charges against my clients who run legitimate businesses i move for a complete dismissal of this entire case mr flayman im afraid im going to have to consider mr montgomerys motion but you cant we have a terrific case where is your proof where is the evidence show me the smoking gun hold it your honor you want a smoking gun here is your smoking gun what is that its a bee smoker what this this harmless little contraption this couldnt hurt a fly let alone a bee look at what has happened to bees who have never been asked smoking or non is this what nature intended for us to be forcibly addicted to smoke machines and manmade wooden slat work camps living out our lives as honey slaves to the white man what are we gonna do hes playing the species card ladies and gentlemen please free these bees free the bees free the bees free the bees free the bees free the bees the court finds in favor of the bees vanessa we won i knew you could do it highfive sorry im ok you know what this means all the honey will finally belong to the bees now we wont have to work so hard all the time this is an unholy perversion of the balance of nature benson youll regret this barry how much honey is out there all right one at a time barry who are you wearing my sweater is ralph lauren and i have no pants what if montgomerys right what do you mean weve been living the bee way a long time 27 million years oongratulations on your victory what will you demand as a settlement first well demand a complete shutdown of all bee work camps then we want back the honey that was ours to begin with every last drop we demand an end to the glorification of the bear as anything more than a filthy smelly badbreath stink machine were all aware of what they do in the woods wait for my signal take him out hell have nauseous for a few hours then hell be fine and we will no longer tolerate beenegative nicknames but its just a pranceabout stage name unnecessary inclusion of honey in bogus health products and ladeeda human teatime snack garnishments oant breathe bring it in boys hold it right there good tap it mr buzzwell we just passed three cups and theres gallons more coming i think we need to shut down shut down weve never shut down shut down honey production stop making honey turn your key sir what do we do now oannonball were shutting honey production mission abort aborting pollination and nectar detail returning to base adam you wouldnt believe how much honey was out there oh yeah whats going on where is everybody are they out celebrating theyre home they dont know what to do laying out sleeping in i heard your uncle oarl was on his way to san antonio with a cricket at least we got our honey back sometimes i think so what if humans liked our honey who wouldnt its the greatest thing in the world i was excited to be part of making it this was my new desk this was my new job i wanted to do it really well and now now i cant i dont understand why theyre not happy i thought their lives would be better theyre doing nothing its amazing honey really changes people you dont have any idea whats going on do you what did you want to show me this what happened here that is not the half of it oh no oh my theyre all wilting doesnt look very good does it no and whose fault do you think that is you know im gonna guess bees bees specifically me i didnt think bees not needing to make honey would affect all these things its notjust flowers fruits vegetables they all need bees thats our whole sat test right there take away produce that affects the entire animal kingdom and then of course the human species so if theres no more pollination it could all just go south here couldnt it i know this is also partly my fault how about a suicide pact how do we do it ill sting you you step on me thatjust kills you twice right right listen barry sorry but i gotta get going i had to open my mouth and talk vanessa vanessa why are you leaving where are you going to the final tournament of roses parade in pasadena theyve moved it to this weekend because all the flowers are dying its the last chance ill ever have to see it vanessa i just wanna say im sorry i never meant it to turn out like this i know me neither tournament of roses roses cant do sports wait a minute roses roses roses vanessa roses barry roses are flowers yes they are flowers bees pollen i know thats why this is the last parade maybe not oould you ask him to slow down oould you slow down barry ok i made a huge mistake this is a total disaster all my fault yes it kind of is ive ruined the planet i wanted to help you with the flower shop ive made it worse actually its completely closed down i thought maybe you were remodeling but i have another idea and its greater than my previous ideas combined i dont want to hear it all right they have the roses the roses have the pollen i know every bee plant and flower bud in this park all we gotta do is get what theyve got back here with what weve got bees park pollen flowers repollination across the nation tournament of roses pasadena oalifornia theyve got nothing but flowers floats and cotton candy security will be tight i have an idea vanessa bloome ftd official floral business its real sorry maam nice brooch thank you it was a gift once inside we just pick the right float how about the princess and the pea i could be the princess and you could be the pea yes i got it where should i sit what are you i believe im the pea the pea it goes under the mattresses not in this fairy tale sweetheart im getting the marshal you do that this whole parade is a fiasco lets see what this babyll do hey what are you doing then all we do is blend in with traffic without arousing suspicion once at the airport theres no stopping us stop security you and your insect pack your float yes has it been in your possession the entire time would you remove your shoes remove your stinger its part of me i know just having some fun enjoy your flight then if were lucky well have just enough pollen to do the job oan you believe how lucky we are we have just enough pollen to do the job i think this is gonna work its got to work attention passengers this is oaptain scott we have a bit of bad weather in new york it looks like well experience a couple hours delay barry these are cut flowers with no water theyll never make it i gotta get up there and talk to them be careful oan i get help with the sky mall magazine id like to order the talking inflatable nose and ear hair trimmer oaptain im in a real situation whatd you say hal nothing bee dont freak out my entire species what are you doing wait a minute im an attorney whos an attorney dont move oh barry good afternoon passengers this is your captain would a miss vanessa bloome in 24b please report to the cockpit and please hurry what happened here there was a dustbuster a toupee a life raft exploded ones bald ones in a boat theyre both unconscious is that another bee joke no no ones flying the plane this is jfk control tower flight 356 whats your status this is vanessa bloome im a florist from new york wheres the pilot hes unconscious and so is the copilot not good does anyone onboard have flight experience as a matter of fact there is whos that barry benson from the honey trial oh great vanessa this is nothing more than a big metal bee its got giant wings huge engines i cant fly a plane why not isnt john travolta a pilot yes how hard could it be wait barry were headed into some lightning this is bob bumble we have some latebreaking news from jfk airport where a suspenseful scene is developing barry benson fresh from his legal victory thats barry is attempting to land a plane loaded with people flowers and an incapacitated flight crew flowers we have a storm in the area and two individuals at the controls with absolutely no flight experience just a minute theres a bee on that plane im quite familiar with mr benson and his noaccount compadres theyve done enough damage but isnt he your only hope technically a bee shouldnt be able to fly at all their wings are too small havent we heard this a million times the surface area of the wings and body mass make no sense get this on the air got it stand by were going live the way we work may be a mystery to you making honey takes a lot of bees doing a lot of small jobs but let me tell you about a small job if you do it well it makes a big difference more than we realized to us to everyone thats why i want to get bees back to working together thats the bee way were not made of jello we get behind a fellow black and yellow hello left right down hover hover forget hover this isnt so hard beepbeep beepbeep barry what happened wait i think we were on autopilot the whole time that may have been helping me and now were not so it turns out i cannot fly a plane all of you lets get behind this fellow move it out move out our only chance is if i do what id do you copy me with the wings of the plane dont have to yell im not yelling were in a lot of trouble its very hard to concentrate with that panicky tone in your voice its not a tone im panicking i cant do this vanessa pull yourself together you have to snap out of it you snap out of it you snap out of it you snap out of it you snap out of it you snap out of it you snap out of it you snap out of it you snap out of it hold it why oome on its my turn how is the plane flying i dont know hello benson got any flowers for a happy occasion in there the pollen jocks they do get behind a fellow black and yellow hello all right lets drop this tin can on the blacktop where i cant see anything oan you no nothing its all cloudy oome on you got to think bee barry thinking bee thinking bee thinking bee thinking bee thinking bee wait a minute i think im feeling something what i dont know its strong pulling me like a 27millionyearold instinct bring the nose down thinking bee thinking bee thinking bee what in the world is on the tarmac get some lights on that thinking bee thinking bee thinking bee vanessa aim for the flower ok out the engines were going in on bee power ready boys affirmative good good easy now thats it land on that flower ready full reverse spin it around not that flower the other one which one that flower im aiming at the flower thats a fat guy in a flowered shirt i mean the giant pulsating flower made of millions of bees pull forward nose down tail up rotate around it this is insane barry thiss the only way i know how to fly am i kookookachoo or is this plane flying in an insectlike pattern get your nose in there dont be afraid smell it full reverse just drop it be a part of it aim for the center now drop it in drop it in woman oome on already barry we did it you taught me how to fly yes no highfive right barry it worked did you see the giant flower what giant flower where of course i saw the flower that was genius thank you but were not done yet listen everyone this runway is covered with the last pollen from the last flowers available anywhere on earth that means this is our last chance were the only ones who make honey pollinate flowers and dress like this if were gonna survive as a species this is our moment what do you say are we going to be bees orjust museum of natural history keychains were bees keychain then follow me except keychain hold on barry here youve earned this yeah im a pollen jock and its a perfect fit all i gotta do are the sleeves oh yeah thats our barry mom the bees are back if anybody needs to make a call nows the time i got a feeling well be working late tonight heres your change have a great afternoon oan i help whos next would you like some honey with that it is beeapproved dont forget these milk cream cheese its all me and i dont see a nickel sometimes i just feel like a piece of meat i had no idea barry im sorry have you got a moment would you excuse me my mosquito associate will help you sorry im late hes a lawyer too i was already a bloodsucking parasite all i needed was a briefcase have a great afternoon barry i just got this huge tulip order and i cant get them anywhere no problem vannie just leave it to me youre a lifesaver barry oan i help whos next all right scramble jocks its time to fly thank you barry that bee is living my life let it go kenny when will this nightmare end let it all go beautiful day to fly sure is between you and me i was dying to get out of that office you have got to start thinking bee my friend thinking bee me hold it lets just stop for a second hold it im sorry im sorry everyone oan we stop here im not making a major life decision during a production number all right take ten everybody wrap it up guys i had virtually no rehearsal for that", + + "astronomy": "Sun Mercury Venus Earth Mars Jupter Saturn Uranus Nepture Moon Ganymede Callisto Io Europa Titan Iapetus Rhea Dione Tethys Titania Oberon Enceladus Mimas Triton Hyperion Umbriel Ariel Phobos Deimos Amalthea Phoebe Himalia Elara Pasiphae Sinope Carme Lysithea Miranda Nereid Ananke Janus Leda Themisto Charon Thebe Metis Adrastea Epimetheus Atlas Telesto Calypso Helene Prometheus Pandora Larissa Puck Ophelia Cordelia Portia Juliet Belinda Cressida Rosalind Desdemona Bianca Perdita Thalassa Naiad Proteus Galatea Despina Pan Sycorax Caliban Prospero Setebos Stephano Albiorix Siarnaq Tarvos Ijiraq Erriapus Skathi Thrymr Suttungr Mundilfari Paaliaq Ymir Kiviuq Praxidike Megaclite Kalyke Iocaste Taygete Harpalyke Isonoe Chaldene Erinome Callirrhoe Francisco Ferdinand Trinculo Dia Thyone Hermippe Autonoe Eurydome Euanthe Aitne Sponde Pasithee Orthosie Kale Euporie Halimede Neso Sao Laomedeia Arche Mab Cupid Margaret Narvi Psamathe Thelxinoe Helike Eukelade Aoede Hegemone Kallichore Kore Cyllene Carpo Herse Mneme Hati Fornjot Bergelmir Bebhionn Aegir Bestla Fenrir Farbauti Methone Polydeuces Pallene Daphnis Hydra Nix HiŹ»iaka Namaka Dysnomia Hyrrokkin Surtur Skoll Loge Jarnsaxa Greip Kari Tarqeq Anthe Aegaeon Kerberos Styx Valetudo Acamar Achernar Achird Acrab Acrux Acubens Adhafera Adhara Adhil Ain Ainalrami Aladfar AlamakAlathfarAlbaldah Albali Albireo Alchiba Alcor Alcyone Aldebaran Alderamin Aldhanab Aldhibah Aldulfin Alfirk Algedi Algenib Algieba AlgolAlgorab Alhena Alioth Aljanah Alkaid Al Kalb al RaiAlkalurops Alkaphrah Alkarab Alkes Almaaz Almach Al Minliar al AsadAlnair Alnasl Alnilam Alnitak Alniyat Alphard Alphecca Alpheratz Alpherg Alrakis Alrescha Alruba Alsafi Alsciaukat Alsephina Alshain Alshat Altair Altais Alterf Aludra Alula Australis Alula Borealis Alya Alzirr Ancha Angetenar Ankaa Anser Antares Arcturus Arkab Posterior Arkab Prior Arneb Ascella Asellus Australis Asellus Borealis Ashlesha Asellus PrimusAsellus SecundusAsellus TertiusAsmidiskeAspidiske Asterope Athebyne Atik Atlas Atria Avior Azelfafage Azha Azmidi Barnard's Star Baten Kaitos Beemim Beid Bellatrix Betelgeuse Bharani Biham Botein Brachium Bunda Canopus Capella Caph Castor Castula Cebalrai Celaeno Cervantes Chalawan Chamukuy Chara Chertan Copernicus Cor Caroli Cujam Cursa Dabih Dalim Deneb Deneb Algedi Denebola Diadem Diphda Dschubba Dubhe Dziban Edasich Electra Elgafar Elkurud Elnath Eltanin Enif Errai Fafnir Fang Fawaris Felis Fomalhaut Fulu Fumalsamakah Furud Fuyue Gacrux Garnet StarGiausar Gienah Ginan Gomeisa GraffiasGrumium Gudja Guniibuu Hadar Haedus Hamal Hassaleh Hatysa Helvetios Heze Homam Iklil Imai Intercrus Izar Jabbah Jishui Kaffaljidhma Kang Kaus Australis Kaus Borealis Kaus Media Keid Khambalia Kitalpha Kochab Kornephoros Kraz KumaKurhah La Superba Larawag Lesath Libertas Lich Lilii Borea Maasym Mahasim Maia MarfarkMarfik Markab Markeb Marsic Matar Mebsuta Megrez Meissa Mekbuda Meleph Menkalinan Menkar Menkent Menkib Merak Merga Meridiana Merope Mesarthim Miaplacidus Mimosa Minchir Minelauva Mintaka Mira Mirach Miram Mirfak Mirzam Misam Mizar Mothallah Muliphein Muphrid Muscida Musica Nahn Naos Nashira NaviNekkar Nembus Nihal Nunki Nusakan Ogma Okab Paikauhale Peacock Phact Phecda Pherkad Piautos Pipirima Pleione Polaris Polaris Australis Polis Pollux Porrima Praecipua Prima Hyadum Procyon Propus Proxima Centauri Ran RanaRasalas Rasalgethi Rasalhague Rastaban Regor [citation needed] Regulus Revati Rigel Rigil Kentaurus Rotanev Ruchbah Rukbat Sabik Saclateni Sadachbia Sadalbari Sadalmelik Sadalsuud Sadr Saiph Salm Sargas Sarin SarirSceptrum Scheat Schedar Secunda Hyadum Segin Seginus Sham Shaula Sheliak Sheratan Sirius Situla Skat Spica Sualocin Subra Suhail Sulafat Syrma Tabit Taiyangshou Taiyi Talitha Tania Australis Tania Borealis Tarazed Tarf Taygeta Tegmine Tejat Terebellum ThabitTheemin Thuban Tiaki Tianguan Tianyi Titawin Toliman Tonatiuh Torcular Tureis Ukdah Unukalhai Unurgunite Vega Veritate Vindemiatrix Wasat Wazn Wezen Wurren Xamidimura Xuange Yed Posterior Yed Prior Yildun Zaniah Zaurak Zavijava Zhang Zibal Zosma Zubenelgenubi Zubenelhakrabi Zubeneschamali Andromeda Antlia Apus Aquarius Aquila Ara Aries Auriga Bootes Caelum Camelopardalis Cancer Canes Venatici Canis Major Canis Minor Capricornus Carina Cassiopeia Centaurus Cepheus Cetus Chamaeleon Circinus Columba Coma Berenices Corona Australis Corona Borealis Corvus Crater Crux Cygnus Delphinus Dorado Draco Equuleus Eridanus Fornax Gemini Grus Hercules Horologium Hydra Hydrus Indus Lacerta Leo Leo Minor Lepus Libra Lupus Lynx Lyra Mensa Microscopium Monoceros Musca Norma Octans Ophiuchus Orion Pavo Pegasus Perseus Phoenix Pictor Pisces Piscis Austrinus Puppis Pyxis Reticulum Sagitta Sagittarius Scorpius Sculptor Scutum Serpens Caput Serpens Cauda Sextans Taurus Telescopium Triangulum Triangulum Australe Tucana Ursa Major Ursa Minor Vela Virgo Volans Vulpecula" +} diff --git a/src/templates/projects/mazemaker/bool-x-64.js b/src/templates/projects/mazemaker/bool-x-64.js new file mode 100644 index 0000000..d32d3b4 --- /dev/null +++ b/src/templates/projects/mazemaker/bool-x-64.js @@ -0,0 +1,69 @@ +function compressMaze(maze) { + if(maze == undefined) return undefined; + if(maze.length == 0) return [0, 0]; + var a = []; + var x, y, i; + for(x = 0; x < maze.length; x++) { + for(y = 0; y < maze[x].length; y++) { + a.push(maze[x][y][0]); + a.push(maze[x][y][1]); + a.push(maze[x][y][2]); + a.push(maze[x][y][3]); + } + } + return a; +} + +function expandMaze(maze, w, h) { + if(maze == undefined) return undefined; + if(w == 0 || h == 0) return []; + var a = []; + for(x = 0; x < w; x++) { + a.push([]); + for(y = 0; y < h; y++) { + a[x][y] = []; + var index = 4*(y + x*h) + a[x][y].push(maze[index+0]); + a[x][y].push(maze[index+1]); + a[x][y].push(maze[index+2]); + a[x][y].push(maze[index+3]); + } + } + return a; +} + +var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'; +function arrToB64(arr) { + while(arr.length%6 != 0) { + arr.push(false); + } + var str = ''; + while(arr.length > 0) { + var n = arr.shift()*32+arr.shift()*16+arr.shift()*8+arr.shift()*4+arr.shift()*2+arr.shift(); + str += b64[n]; + } + return str; +} + +function b64ToArr(str64) { + var arr = []; + for(var i = 0; i < str64.length; i++) { + var index = b64.indexOf(str64[i]); + if(index<0) continue; + arr.push((index>>5)%2 != 0); + arr.push((index>>4)%2 != 0); + arr.push((index>>3)%2 != 0); + arr.push((index>>2)%2 != 0); + arr.push((index>>1)%2 != 0); + arr.push((index>>0)%2 != 0); + } + return arr; +} + +function encode(maze) { + return arrToB64(compressMaze(maze)); +} + +function decode(code, w, h) { + return expandMaze(b64ToArr(code), w, h); +} diff --git a/src/templates/projects/mazemaker/dom.js b/src/templates/projects/mazemaker/dom.js new file mode 100644 index 0000000..7ce3f58 --- /dev/null +++ b/src/templates/projects/mazemaker/dom.js @@ -0,0 +1,101 @@ +function elem(id) {return document.getElementById(id);} + +function updateFG() { + var select = elem('selectfg'); + elem('colorfg').value = select.options[select.selectedIndex].value; + var evt = new Event('change'); + elem('colorfg').dispatchEvent(evt) +} + +function updateBG() { + var select = elem('selectbg'); + elem('colorbg').value = select.options[select.selectedIndex].value; + var evt = new Event('change'); + elem('colorbg').dispatchEvent(evt) +} + +var options = [ + ['Black', '0, 0, 0'], + ['White', '255, 255, 255'], + ['Light Gray', '200, 200, 208'], + ['Gray', '150, 150, 158'], + ['Dark Gray', '100, 100, 108'], + ['Pink', '240, 100, 200'], + ['Red', '200, 20, 10'], + ['Orange', '250, 100, 10'], + ['Yellow', '250, 255, 30'], + ['Light Green', '140, 255, 90'], + ['Green', '0, 180, 10'], + ['Cyan', '30, 240, 250'], + ['Light Blue', '140, 160, 255'], + ['Blue', '20, 20, 240'], + ['Purple', '100, 10, 130'], + ['Brown', '90, 45, 20'], +] +function setupSelects() { + var sfg = elem('selectfg'); + var sbg = elem('selectbg'); + for(var i = 0; i < options.length; i++) { + var option = document.createElement('option'); + option.text = options[i][0]; + option.value = options[i][1]; + sfg.add(option); + option = document.createElement('option'); + option.text = options[i][0]; + option.value = options[i][1]; + sbg.add(option); + } + sfg.options[0].selected = 'selected'; + sbg.options[1].selected = 'selected'; +} + +function newMaze() { + canvasWidth = elem('width').value; + canvasHeight = elem('height').value; + resizeCanvas(canvasWidth, canvasHeight); + mazeWidth = elem('maze-width').value; + mazeHeight = elem('maze-height').value; + shiftpop = elem('shiftpop').value/100; + var selectBias = elem('bias'); + bias = selectBias.options[selectBias.selectedIndex].value; + frameRate(int(elem('speed').value)); + resetMaze(); + loop(); +} + +function getPermalinkURL() { + var url = location.href; + if(url.endsWith('index.html')) url = url.substring(0, url.length-'index.html'.length); + url += 'v/?'; + var w = canvasWidth, h = canvasHeight, mw = mazeWidth, mh = mazeHeight; + var fg = red(colorfg)+'_'+green(colorfg)+'_'+blue(colorfg); + var bg = red(colorbg)+'_'+green(colorbg)+'_'+blue(colorbg); + var wte = borderWeight; + var code = encode(cells); + url += 'w='+w+'&h='+h+'&mw='+mw+'&mh='+mh+'&fg='+fg+'&bg='+bg+'&wte='+wte+'&code='+code; + return url; +} + +function prop(from) { + if(elem('proportional').checked) { + var setW = elem('width').value, + setH = elem('height').value, + setMW = elem('maze-width').value, + setMH = elem('maze-height').value; + console.log(setW, setH, setMW, setMH, from); + switch(from) { + case 'w': + elem('height').value = round(setMH/setMW*setW); + break; + case 'h': + elem('width').value = round(setMW/setMH*setH); + break; + case 'mw': + elem('width').value = round(setMW/setMH*setH); + break; + case 'mh': + elem('height').value = round(setMH/setMW*setW); + break; + } + } +} diff --git a/src/templates/projects/mazemaker/index.html b/src/templates/projects/mazemaker/index.html new file mode 100644 index 0000000..a51387b --- /dev/null +++ b/src/templates/projects/mazemaker/index.html @@ -0,0 +1,50 @@ +{% set meta={"title": "Maze maker", "desc": "Generate mazes", "pagewidth": "1400px"} %} +{% extends "/_base.html"%} +{% block head %} + + + + + +{% endblock %} +{% block content %} +
        +
        + Maze width (pixels):
        + Maze height (pixels):
        + Cells wide:
        + Cells high:
        + Proportional:
        + Chance to shift instead of pop: %
        + Bias:
        +

        + + Foreground color: +
        + Background color: +
        + Border weight:

        + + Speed (fps): +
        + Show current cell:
        + Show colored overlay:

        + +

        + +
        Generating...
        +
        +{% endblock %} \ No newline at end of file diff --git a/src/templates/projects/mazemaker/main.js b/src/templates/projects/mazemaker/main.js new file mode 100644 index 0000000..f654e01 --- /dev/null +++ b/src/templates/projects/mazemaker/main.js @@ -0,0 +1,157 @@ +p5.disableFriendlyErrors = true; + +var canvasWidth = 720; +var canvasHeight = 720; +var mazeWidth = 18, mazeHeight = 18; +var shiftpop = 0; +var colorfg, colorbg, borderWeight; +var showOverlay = true; +var showCurrent = true; + +var canvas; + // 3d array, cells[x][y] = [top wall, right wall, bottom wall, left wall, available, in stack] +var cells; +var stack; +var cx, cy; +var done; +var bias = 0; + +function setup() { + canvas = createCanvas(canvasWidth+0.5, canvasHeight+0.5); + canvas.parent('canvas-wrapper'); + canvas.id('maze-canvas'); + setupSelects(); + colorfg = color(0); + colorbg = color(255); + borderWeight = 2; + resetMaze(); + frameRate(30); +} + +function resetMaze() { + background(colorbg); + cells = []; stack = []; done = false; + for(var x = 0; x < mazeWidth; x++) { + cells.push([]); + for(var y = 0; y < mazeHeight; y++) { + cells[x][y] = [true, true, true, true, true, false]; + } + } + cx = floor(random(mazeWidth)); + cy = floor(random(mazeHeight)); + cells[cx][cy][4] = false; + elem('status').innerHTML = 'Generating...'; +} + + +function draw() { + background(colorbg); + drawCells(); + chooseNextCell(); +} + +function drawCells() { + stroke(colorfg); + strokeWeight(borderWeight); + var cw = canvasWidth/mazeWidth; + var ch = canvasHeight/mazeHeight; + var x, y, c + // Show overlay + if(!done && showOverlay) { + noStroke(); + for(x = 0; x < mazeWidth; x++) { + for(y = 0; y < mazeHeight; y++) { + c = cells[x][y]; + // Fill with blue if visited & on stack + if(!c[4] && c[5]) + {fill( 99, 99, 255); rect(x*cw, y*ch, cw, ch);} + // Fill with light blue if visited but not on stack + if(!c[4] && !c[5]) + {fill(150, 180, 255); rect(x*cw, y*ch, cw, ch);} + } + } + stroke(colorfg); + } + if(!done && showCurrent) { + noStroke(); + var d = false; + var x, y; + for(x = 0; x < mazeWidth; x++) { + for(y = 0; y < mazeHeight; y++) { + // Fill with green if current cell + if(cx == x && cy == y) + {fill(0, 230, 50); rect(x*cw, y*ch, cw, ch); d=true; break; } + } + if(d) break; + } + stroke(colorfg); + } + for(x = 0; x < mazeWidth; x++) { + for(y = 0; y < mazeHeight; y++) { + c = cells[x][y]; + if(c[0]) line(x*cw, y*ch, x*cw+cw, y*ch); + if(c[1]) line(x*cw+cw, y*ch, x*cw+cw, y*ch+ch); + if(c[2]) line(x*cw, y*ch+ch, x*cw+cw, y*ch+ch); + if(c[3]) line(x*cw, y*ch, x*cw, y*ch+ch); + } + } + if(done) noLoop(); +} + +function chooseNextCell() { + var choices = []; + // Check left, right, up, and down + if(cells[cx-1] && cells[cx-1][cy] && cells[cx-1][cy][4]) { + choices.push([cx-1, cy, 3]); + if(bias > 0) {choices.push([cx-1, cy, 3]); choices.push([cx-1, cy, 3]);} + } + if(cells[cx+1] && cells[cx+1][cy] && cells[cx+1][cy][4]) { + choices.push([cx+1, cy, 1]); + if(bias > 0) {choices.push([cx+1, cy, 1]); choices.push([cx+1, cy, 1]);} + } + if(cells[cx] && cells[cx][cy-1] && cells[cx][cy-1][4]) { + choices.push([cx, cy-1, 0]); + if(bias < 0) {choices.push([cx, cy-1, 0]); choices.push([cx, cy-1, 0]);} + } + if(cells[cx] && cells[cx][cy+1] && cells[cx][cy+1][4]) { + choices.push([cx, cy+1, 2]); + if(bias < 0) {choices.push([cx, cy+1, 2]); choices.push([cx, cy+1, 2]);} + } + if(choices.length > 0){ + // Push current cell to stack + stack.push([cx, cy]); + cells[cx][cy][5] = true; + // Choose randomly if choices + var choice = random(choices); + // Remove wall + cells[cx][cy][choice[2]] = false; + // Move to new cell + cx = choice[0]; + cy = choice[1]; + // Remove wall + cells[cx][cy][(choice[2]+2)%4] = false; + // Mark cell as visited + cells[cx][cy][4] = false; + } else if(stack.length > 0) { + // Otherwise, pop the stack + var n; + if(shiftpop == 0) + n = stack.pop(); + else if(shiftpop == 1) + n = stack.shift(); + else { + var rand = random(); + if(rand > shiftpop) + n = stack.pop(); + else + n = stack.shift(); + } + cx = n[0]; + cy = n[1]; + cells[cx][cy][5] = false; + } else { + // If stack is empty, we're done + done = true; + elem('status').innerHTML = 'Done!'; + } +} diff --git a/src/templates/projects/mazemaker/v/index.html b/src/templates/projects/mazemaker/v/index.html new file mode 100644 index 0000000..82541d5 --- /dev/null +++ b/src/templates/projects/mazemaker/v/index.html @@ -0,0 +1,12 @@ +{% set meta={"title": "Maze Permalink", "desc": "", "hidden": True} %} +{% extends "/_base.html" %} +{% block head %} + + + +{% endblock %} +{% block content %} +
        +
        +
        +{% endblock %} \ No newline at end of file diff --git a/src/templates/projects/mazemaker/v/main.js b/src/templates/projects/mazemaker/v/main.js new file mode 100644 index 0000000..2dac3b7 --- /dev/null +++ b/src/templates/projects/mazemaker/v/main.js @@ -0,0 +1,46 @@ +//p5.disableFriendlyErrors = true; + +var w, h, mw, mh, cells, fg, bg, wte; + +function setup() { + getData(); + canvas = createCanvas(w+0.5, h+0.5); + canvas.parent('canvas-wrapper'); + canvas.id('maze-canvas'); + noLoop(); + redraw(); +} + +function draw() { + var cw = w/mw, ch = h/mh; + background(bg); + stroke(fg); + strokeWeight(wte); + for(x = 0; x < cells.length; x++) { + for(y = 0; y < cells[x].length; y++) { + c = cells[x][y]; + if(c[0]) line(x*cw, y*ch, x*cw+cw, y*ch); + if(c[1]) line(x*cw+cw, y*ch, x*cw+cw, y*ch+ch); + if(c[2]) line(x*cw, y*ch+ch, x*cw+cw, y*ch+ch); + if(c[3]) line(x*cw, y*ch, x*cw, y*ch+ch); + } + } +} + +function getData() { + w = int(query('w')); + h = int(query('h')); + mw = int(query('mw')); + mh = int(query('mh')); + fg = color('rgb('+query('fg').replace(/_/g, ', ')+')'); + bg = color('rgb('+query('bg').replace(/_/g, ', ')+')'); + wte = int(query('wte')); + cells = decode(query('code'), mw, mh); +} + + +function query(key) { + key = key.replace(/[*+?^$.\[\]{}()|\\\/]/g, "\\$&"); // escape RegEx meta chars + var match = location.search.match(new RegExp("[?&]"+key+"=([^&]+)(&|$)")); + return match && decodeURIComponent(match[1].replace(/\+/g, " ")); +} diff --git a/src/templates/projects/number/index.html b/src/templates/projects/number/index.html new file mode 100644 index 0000000..e63285a --- /dev/null +++ b/src/templates/projects/number/index.html @@ -0,0 +1,32 @@ +{% set meta={"title": "Number", "desc": "make go up"} %} +{% extends "/_base.html"%} +{% block head%} + +{% endblock %} +{% block content%} +
        ?
        +
        + +
        +{% endblock %} diff --git a/src/templates/projects/pixelcircle/index.html b/src/templates/projects/pixelcircle/index.html new file mode 100644 index 0000000..76611d8 --- /dev/null +++ b/src/templates/projects/pixelcircle/index.html @@ -0,0 +1,32 @@ +{% set meta={"title": "Pixel Circle", "desc": "Generate circles for games like Minecraft"} %} +{% extends "/_base.html" %} +{% block head %} + + +{% endblock %} +{% block content %} +
        +Radius: + + +
        +
        + Even center? +
        +
        +Accuracy (increase for large circles): + +
        +
        +
        + +
        + +{% endblock %} diff --git a/src/templates/projects/pixelcircle/main.js b/src/templates/projects/pixelcircle/main.js new file mode 100644 index 0000000..ffbed0a --- /dev/null +++ b/src/templates/projects/pixelcircle/main.js @@ -0,0 +1,210 @@ +// Cell size; the width/height of each pixel +var cs = 30; +// The zoom level +var zoom = 0; +// The list of pixels to shade +var pix = []; +// The x and y offsets +var xoff, yoff; +// If the canvas or circle need updating +var updateCanvas = true; +var updateCircle = true; +// The circle's radius +var rad = 5.1; +// The accuracy of the circle +var steps = 8000; +// The cell size below which the grid is not drawn +var gridShow = 10; +// Whether or not the center is even +var evenCenter = false; + +// Theme colors +var BACKGR, FOREGR, COLOR; + +//Create the canvas, initialize the input fields, and set the theme colors. +function setup() { + var canvas = createCanvas(900, 675); + canvas.parent('canvas-wrapper'); + document.getElementById('radius-slider').value = rad; + document.getElementById('radius-text').value = rad; + document.getElementById('even-center').value = evenCenter; + document.getElementById('accuracy').value = steps; + xoff = width / 2 - cs / 2; + yoff = height / 2 - cs / 2; + resetPix(); + BACKGR = color(220); + FOREGR = color(100); + COLOR = color(30, 160, 60); + document.getElementById("defaultCanvas0").onwheel = function (event) { + event.preventDefault(); + }; + document.getElementById("defaultCanvas0").onmousewheel = function (event) { + event.preventDefault(); + }; +} + +//Delete the old circle and create the highlighted center +function resetPix() { + pix = []; + pix.push({ x: 0, y: 0, c: COLOR }); + if (evenCenter) { + pix.push({ x: 0, y: 1, c: COLOR }); + pix.push({ x: 1, y: 0, c: COLOR }); + pix.push({ x: 1, y: 1, c: COLOR }); + } +} + +//When an update occurs, redraw the canvas on the next frame. +function draw() { + if (updateCanvas || updateCircle) { + background(BACKGR); + // If only the canvas is updated, the circle doesn't need to be retraced. + if (updateCircle) { + resetPix(); + // Slightly decrease the radius in certian cases to prevent glitches. + var r = rad; + if (!evenCenter && abs(round(r) - r) == 0.5) + r -= 0.00000001; + else if (evenCenter && round(r) - r == 0) + r -= 0.00000001; + // Trace the circle to find which pixels are inside it. + traceCircle(r); + } + // Draw the colored pixels to the screen. + drawPix(); + stroke(0); + strokeWeight(1); + // If not zoomed out too far, draw the grid. + if (cs > gridShow) + drawGrid(xoff, yoff, cs); + // Draw the highlighted circle path. + drawCirclePath() + // Do not update again immediately after this. + updateCircle = false; + updateCanvas = false; + } +} + +//Draw the grid of horsizontal and veritcal lines. +function drawGrid(xoff, yoff, gap) { + for (var x = xoff % gap; x < width; x += gap) { + line(x, 0, x, height); + } + for (var y = yoff % gap; y < height; y += gap) { + line(0, y, width, y); + } +} + +var lastX, lastY; +//Start the drag. +function mousePressed() { + lastX = mouseX; + lastY = mouseY; +} + +//Move the image around when dragged. +function mouseDragged() { + if (mouseX > 0 && mouseY > 0) { + xoff += mouseX - lastX; + yoff += mouseY - lastY; + lastX = mouseX; + lastY = mouseY; + updateCanvas = true; + } +} + +//Zoom in and out by scrolling. +function mouseWheel(event) { + if(mouseX >= 0 && mouseX < width && mouseY >= 0 && mouseY < height) { + var c = event.delta; + var f = (c > 0) ? 8 / 9 : (c < 0) ? 9 / 8 : 1; + cs *= f; + xoff = (xoff - mouseX) * f + mouseX; + yoff = (yoff - mouseY) * f + mouseY; + updateCanvas = true; + } +} + +//Find which pixels are in the path of the circle by tracing it. +function traceCircle(r) { + var lx, ly; + var cx = 0, cy = 0; + if (evenCenter) { cx = 0.5; cy = 0.5; } + // Go around the circle in number of steps + for (var ang = 0; ang < 1; ang += 1 / steps) { + var x = round(r * cos(ang * TAU) + cx); + var y = round(r * sin(ang * TAU) + cy); + // If the location is different from the previous one... + if (x != lx || y != ly) { + // ...create a shaded pixel at the location + var obj = { x: x, y: y, c: color(FOREGR) }; + pix.push(obj); + lx = x; + ly = y; + } + } +} + +// Draw the colored pixels to the screen +function drawPix() { + noStroke() + for (var i = 0; i < pix.length; i++) { + fill(pix[i].c); + rect(pix[i].x * cs + xoff, pix[i].y * cs + yoff, cs, cs); + } +} + +// Draw the colored circle path +function drawCirclePath() { + noFill(); + // Choose stroke weight based on zoom level + if (cs > 20) strokeWeight(2.5); + else if (cs > gridShow) strokeWeight(1.5); + else strokeWeight(1); + var cx = 0, cy = 0; + if (evenCenter) { cx = 0.5; cy = 0.5; } + stroke(COLOR); + ellipse(xoff + cx * cs + cs / 2, yoff + cy * cs + cs / 2, 2 * rad * cs, 2 * rad * cs); +} + +// Change the radius of the circle +function updateRadius(value) { + // Make sure the slider and text field match. + document.getElementById('radius-slider').value = value; + document.getElementById('radius-text').value = value; + rad = value; + updateCircle = true; +} + + +// Change the accuracy. +function updateAccuracy(value) { + if (value != 0) { + steps = +value; + updateCircle = true; + } +} + +// Change the center between odd (one pixel) and even (four pixels). +function updateCenter(value) { + old = evenCenter + if (old == true && value == false) { + xoff += 0.5 * cs; + yoff += 0.5 * cs; + } else if (old == false && value == true) { + xoff -= 0.5 * cs; + yoff -= 0.5 * cs; + } + evenCenter = value; + + updateCircle = true; +} + +// Reset drag and zoom. +function resetMotion() { + zoom = 0; + cs = 60; + xoff = width / 2 - cs / 2; + yoff = height / 2 - cs / 2; + updateCircle = true; +} diff --git a/src/templates/projects/rpsha/index.html b/src/templates/projects/rpsha/index.html new file mode 100644 index 0000000..3296fa7 --- /dev/null +++ b/src/templates/projects/rpsha/index.html @@ -0,0 +1,163 @@ +{% set meta={"title": "Rock Paper SHAssors", "desc": "Rock paper scissors with arbitrary strings"} %} +{% extends "/_base.html"%} +{% block head%} + + +{% endblock %} +{% block content %} +
        +

        Free yourself from the confines of the ternary.

        +
        +
        +
        + + +
        +{% endblock %} + diff --git a/src/templates/projects/stars/index.html b/src/templates/projects/stars/index.html new file mode 100644 index 0000000..4f05a45 --- /dev/null +++ b/src/templates/projects/stars/index.html @@ -0,0 +1,21 @@ +{% set meta={"title": "Star maker", "desc": "Generate stars"} %} +{% extends "/_base.html"%} +{% block head %} + + + +{% endblock %} +{% block content %} +
        + Points: + + Jump: + + Use colors: + +
        +
        +{% endblock %} \ No newline at end of file diff --git a/src/templates/projects/stars/main.js b/src/templates/projects/stars/main.js new file mode 100644 index 0000000..a00f2d4 --- /dev/null +++ b/src/templates/projects/stars/main.js @@ -0,0 +1,59 @@ +var p = 8, q = 3, useCols = false; + +var colors; + +function setup() { + var canvas = createCanvas(600, 600); + canvas.parent("canvas-wrapper"); + frameRate(5); + colors = [color(0), color(220, 20, 0), color(10, 200, 30), color(20, 40, 240), color(30, 180, 240), color(230, 210, 50), color(150, 50, 150), color(240, 120, 20), color(150, 150, 150), color(150, 100, 50)]; +} + +function draw() { + push(); + background(240); + translate(width/2, height/2); + rotate(-TAU/4); + + noFill(0, 10) + strokeWeight(2); + drawStar(); + + pop(); +} + +function drawStar() { + var iterations = gcd(p, q); + for(var i = 0; i < iterations; i++) { + if(useCols) + stroke(colors[i%colors.length]); + beginShape(); + for(var j = 0; j < p/iterations; j++) { + var point = getPoint(p, j*q+i, width/2-20); + vertex(point.x, point.y); + } + endShape(CLOSE); + } +} + +function getPoint(count, index, r) { + var x = r * Math.cos((TAU*index)/count); + var y = r * Math.sin((TAU*index)/count); + return createVector(x, y); +} + +$(()=>{ + $("#points").change(update); + $("#jump").change(update); + $("#colors").change(update); + update(); +}) + +function update() { + p = +$("#points").val(); + q = +$("#jump").val(); + useCols = $("#colors").prop("checked"); + draw(); +} + +function gcd(a,b) {return (!b)?a:gcd(b,a%b);} diff --git a/src/templates/projects/tagpost/index.html b/src/templates/projects/tagpost/index.html new file mode 100644 index 0000000..fb53ab1 --- /dev/null +++ b/src/templates/projects/tagpost/index.html @@ -0,0 +1,103 @@ +{% set meta={"title": "Tagpost", "desc": "The next great social media platform"} %} +{% extends "/_base.html" %} +{% block head%} + +{% endblock %} +{% block content %} + + +

        Enter any lowercase four-letter word (or not word) above and click "Go".

        + +{% endblock %} \ No newline at end of file diff --git a/src/templates/projects/whoami/index.html b/src/templates/projects/whoami/index.html new file mode 100644 index 0000000..32d05a3 --- /dev/null +++ b/src/templates/projects/whoami/index.html @@ -0,0 +1,17 @@ +--- +layout: default +title: Whoami +description: List information that websites you visit can know about you +--- + +

        Whoami?

        +You are:
        +

        +

        +Whoami uses UAParser to parse user-agent strings + + + diff --git a/src/templates/projects/whoami/main.js b/src/templates/projects/whoami/main.js new file mode 100644 index 0000000..a9e3108 --- /dev/null +++ b/src/templates/projects/whoami/main.js @@ -0,0 +1,60 @@ +$(load); + +let results = ''; +function load() { + + addEntry('User Agent', navigator.userAgent); + results += '
        '; + let ua = UAParser(); + console.log(ua); + addEntry('Name', ua.browser.name); + addEntry('Version', ua.browser.version); + addEntry('CPU', ua.cpu.architecture); + addEntry('Engine Name', ua.engine.name); + addEntry('Engine Version', ua.engine.version); + addEntry('OS Name', ua.os.name); + addEntry('OS Version', ua.os.version); + results += '
        '; + addEntry('App Name', navigator.appName); + addEntry('Codename', navigator.appCodeName); + addEntry('Java Enabled', navigator.javaEnabled()); + addEntry('Language', navigator.language); + addEntry('Languages', navigator.languages); + addEntry('Vendor', navigator.vendor); + addEntry('Cookies Enabled', navigator.cookieEnabled); + addEntry('Platform', navigator.platform); + addEntry('Query', (window.location.search.split('?')[1] || 'none').split('&')); + if(navigator.connection != null) + addEntry('Connection', navigator.connection.effectiveType); + results += '
        '; + if(navigator.getBattery) + navigator.getBattery().then(function(battery) { + addEntry('Battery Charge', battery.level*100+'%'); + addEntry('Charging', battery.charging); + results += '
        '; + finalize(); + }); + finalize(); +} + +function addEntry(name, value) { + let z = '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'; + value = (z+value).substring(name.length); + value = value.replace(/\n/g, ' '); + results += '
        ' + name + ':' + value; +} +function finalize() { $('#results').html(results); } + +function requestLocation() { + navigator.geolocation.getCurrentPosition(function(location) { + console.log(location); + addEntry('Latitude', location.coords.latitude); + addEntry('Longitude', location.coords.longitude); + finalize(); + }, function(err) { + addEntry('Location', 'Error - ' + err.message); + finalize(); + }); + $('#location').remove(); + $('#lbr').remove(); +} diff --git a/src/templates/projects/whoami/ua-parser.js b/src/templates/projects/whoami/ua-parser.js new file mode 100644 index 0000000..8d7feb4 --- /dev/null +++ b/src/templates/projects/whoami/ua-parser.js @@ -0,0 +1,9 @@ +/** + * UAParser.js v0.7.17 + * Lightweight JavaScript-based User-Agent string parser + * https://github.com/faisalman/ua-parser-js + * + * Copyright Ā© 2012-2016 Faisal Salman + * Dual licensed under GPLv2 or MIT + */ +(function(window,undefined){"use strict";var LIBVERSION="0.7.17",EMPTY="",UNKNOWN="?",FUNC_TYPE="function",UNDEF_TYPE="undefined",OBJ_TYPE="object",STR_TYPE="string",MAJOR="major",MODEL="model",NAME="name",TYPE="type",VENDOR="vendor",VERSION="version",ARCHITECTURE="architecture",CONSOLE="console",MOBILE="mobile",TABLET="tablet",SMARTTV="smarttv",WEARABLE="wearable",EMBEDDED="embedded";var util={extend:function(regexes,extensions){var margedRegexes={};for(var i in regexes){if(extensions[i]&&extensions[i].length%2===0){margedRegexes[i]=extensions[i].concat(regexes[i])}else{margedRegexes[i]=regexes[i]}}return margedRegexes},has:function(str1,str2){if(typeof str1==="string"){return str2.toLowerCase().indexOf(str1.toLowerCase())!==-1}else{return false}},lowerize:function(str){return str.toLowerCase()},major:function(version){return typeof version===STR_TYPE?version.replace(/[^\d\.]/g,"").split(".")[0]:undefined},trim:function(str){return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}};var mapper={rgx:function(ua,arrays){var i=0,j,k,p,q,matches,match;while(i0){if(q.length==2){if(typeof q[1]==FUNC_TYPE){this[q[0]]=q[1].call(this,match)}else{this[q[0]]=q[1]}}else if(q.length==3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){this[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{this[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length==4){this[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{this[q]=match?match:undefined}}}}i+=2}},str:function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j + h1 { + color: var(--fg); + } + .option, .option:hover, .option:active { + color: var(--fg); + text-decoration: underline; + } + .option:visited{ + color: var(--fg-faded); + } + .cyan { + color: #0ff; + } + +{% endblock %} +{% block content %} +
        +

        + each node represents one zzcxz page. clicking on a node will load all of the pages it links to. +

        +

        + two nodes are connected with an arrow if one of them links to the other. nodes and arrows colored blue represent redirects. after a node has been clicked it will turn more gray to indicate that all of its outgoing links have been loaded. +

        +

        + you may click and drag on nodes to move them around, or on the page itself to pan. use the scroll wheel to zoom. +

        +

        + the root node (by default, the zzcxz page itself) is colored green. +

        +

        + click the double chevron link at the top-left corner to expand and collapse the user interface. this allows you to load pages from their id, or to reset the graph completely. if you select a node by right-clicking it, information about it will also show up here. deselect by pressing esc. +

        +

        + if you append ?skip to the URL of the main page, it will bypass the spoiler warning. +

        + +
        +{% endblock %} \ No newline at end of file diff --git a/src/templates/projects/zzcxz_vis/index.html b/src/templates/projects/zzcxz_vis/index.html new file mode 100644 index 0000000..bcbe813 --- /dev/null +++ b/src/templates/projects/zzcxz_vis/index.html @@ -0,0 +1,79 @@ +{% set meta={"title": "zzcxz visualizer", "desc": "Visualize the structure of zzcxz"} %} +{% extends "/_base.html" %} +{% block head %} + + + + +{% endblock %} +{% block content %} +
        +

        + you are about to view a force directed graph of zzcxz, a collaborative interactive fiction website by citrons. this will contain spoilers for zzcxz, so i strongly recommend you try it out before continuing. common side effects of continuing without using zzcxz first include intense guilt, deep regret, immediate apification, and feelings of worthlessness. +

        +

        + note: at time of writing (2022-06-23), zzcxz and all other citrons-created content is offline. zzcxz visualizer will not work until it is no longer offline. +

        + +
        + +
        + + + +{% endblock %} + diff --git a/src/templates/projects/zzcxz_vis/index.js b/src/templates/projects/zzcxz_vis/index.js new file mode 100644 index 0000000..8dad0ae --- /dev/null +++ b/src/templates/projects/zzcxz_vis/index.js @@ -0,0 +1,336 @@ +const TAU = 6.283185307179586; + +const radius = 25; +const radiusRedirect = 15; +const colorBackground = "var(--bg-intense)"; +const colorNormal = "var(--fg)"; +const colorRedirect = "#8af"; +const colorDone = "var(--fg-faded)"; +const colorRedirectDone = "#679"; +const colorRoot = "#4a5"; +const colorRootDone = "#484"; + +const alphaInit = 0.5; +const alphaTarget = 0.1; +const linkDistance = 150; +const linkStrength = 0.1; + +let nodes = []; +let links = []; +let refresh; +let transform = {x: 0, y: 0, k: 1}; +let selectedNode = null; +let showLabels = true; + +function getColorFor(elem) { + if(elem.root) { + if(elem.done) { return colorRootDone; } + return colorRoot; + } else if(elem.type === "normal") { + if(elem.done) { return colorDone; } + return colorNormal; + } else if(elem.type === "redirect") { + if(elem.done) { return colorRedirectDone; } + return colorRedirect; + } +} + +function getRadiusFor(elem) { + if(elem.type === "normal") { + return radius; + } else if(elem.type === "redirect") { + return radiusRedirect; + } +} + +// Fetch and parse a zzcxz page +async function loadPage(id) { + const url = "https://zzcxz.citrons.xyz/g/" + id + "/raw"; + console.log("fetching id " + id); + return fetch(url).then(x => x.text()).then(text => { + let pageType = "normal"; + const directive = text.match(/^\t#([A-Za-z]+)\s*(.*)\n?$/m); + const title = text.match(/^.+\n/m)[0]; + const links = (text.match(/^[a-z]{5}:.*\n/gm) || []) + .map(line => { + return {"to": line.trim().split(":")[0], "type": "normal"}; + }); + if(directive) { + const kind = directive[1]; + const arg = directive[2]; + if(kind.toLowerCase() === "redirect") { + pageType= "redirect"; + links.push({"to":arg,"type":"redirect"}); + } else { + throw "Unsupported directive: #" + kind + } + } + return { + "id": id, + "type": pageType, + "title": title, + "links": links, + }; + }); +} + +// Add a page to the network (nodes and links lists (not linked lists (at least i think not (i do not know how js lists are implemented)))) +function addPage(id, x, y, root) { + loadPage(id).then(page => { + if(nodes.map(node => node.id).includes(page.id)) { + return; + } + let newLinks = []; + for(node of nodes) { + for(link of node.links) { + if(link.to === page.id) { + newLinks.push({ + "source": node.id, + "target": page.id, + "type": link.type, + }); + } + } + for(link of page.links) { + if(link.to === node.id) { + newLinks.push({ + "source": page.id, + "target": node.id, + "type": link.type, + }); + } + } + } + nodes.push({ + "id": page.id, + "x": x, + "y": y, + "title": page.title, + "links": page.links, + "type": page.type, + "done": false, + "root": root, + }); + for(link of newLinks) { + links.push(link); + } + refresh(); + }); +} + +function addAll(node, x, y) { + const doneIds = nodes.map(n => n.id); + for(link of node.links) { + if(!doneIds.includes(link.to)) { + const theta = Math.random() * TAU; + const dx = 2 * radius * Math.cos(theta); + const dy = 2 * radius * Math.sin(theta); + addPage(link.to, x + dx, y + dy, false); + } + } + node.done = true; + d3.select(".node-" + node.id) + .style("fill", getColorFor); +} + +function selectNode(node) { + if(selectedNode !== null) { + d3.select(".node-" + selectedNode.id) + .style("stroke", "#0000"); + } + selectedNode = node; + if(selectedNode !== null) { + d3.select(".node-" + selectedNode.id) + .style("stroke", "#fff"); + d3.select("#selected-node").attr("hidden", null); + d3.select("#selected-node-title").html(selectedNode.title); + d3.select("#selected-node-id").html(selectedNode.id); + d3.select("#selected-node-link").attr("href", "https://zzcxz.citrons.xyz/g/" + selectedNode.id); + } else { + d3.select("#selected-node").attr("hidden", true); + } +} + +function visualize() { + const zoom = d3.zoom(); + zoom.on("zoom", event => { + const elems = d3.select("#elems") + .attr("transform", event.transform); + transform = event.transform; + }); + + const svg = d3.select("#graph") + .append("svg") + .attr("id", "graph-svg") + .attr("width", "100%") + .attr("height", "100%") + .style("background-color", colorBackground) + .call(zoom); + + const clientWidth = document.querySelector("#graph").clientWidth; + const clientHeight = document.querySelector("#graph").clientHeight; + + d3.select("#spoiler").remove(); + d3.select("#ui").attr("hidden", null); + + d3.select("#expand-link").on("click", () => { + d3.select("#uiexpand").attr("hidden", true); + d3.select("#ui").attr("hidden", null); + }); + + d3.select("#contract-link").on("click", () => { + d3.select("#uiexpand").attr("hidden", null); + d3.select("#ui").attr("hidden", true); + }); + + d3.select("#load-page").on("keypress", (event) => { + if(event.keyCode == 13) { + addPage(event.target.value, (clientWidth/2-transform.x)/transform.k, (clientHeight/2-transform.y)/transform.k, true); + event.target.value = ""; + } + }); + + d3.select("#clear-nodes").on("click", (event) => { + selectNode(null); + links.length = 0; + nodes.length = 0; + refresh(); + }); + + d3.select("#toggle-labels").on("click", (event) => { + showLabels = !showLabels; + if(showLabels) { + d3.selectAll(".label").attr("visibility", "visible"); + } else { + d3.selectAll(".label").attr("visibility", "hidden"); + } + }); + + d3.select("body") + .on("keydown", event => { + if(event.keyCode == 27) { + selectNode(null); + } + }) + .on("click", event => selectNode(null)); + + const marker = svg.append("svg:defs") + .selectAll(".triangle-marker") + .data([["normal", colorNormal], ["redirect", colorRedirect]]) + .enter() + .append("svg:marker") + .attr("id", d => `triangle-${d[0]}`) + .attr("refX", radius+10) + .attr("refY", 5) + .attr("orient", "auto") + .attr("markerUnits", "strokeWidth") + .attr("markerWidth", 15) + .attr("markerHeight", 10) + .append("svg:polygon") + .attr("points", "0 0, 15 5, 0 10") + .attr("fill", d => d[1]); + + const simulation = d3.forceSimulation().nodes(nodes); + const forceLinks = d3.forceLink(links) + .distance(linkDistance) + .strength(linkStrength) + .id((d, i) => d.id); + + simulation.force("link", forceLinks) + .force("charge", d3.forceManyBody().distanceMax(256).distanceMin(1).strength(-50)) + .force("collide", d3.forceCollide().radius(radius*1.4)); + + const elems = svg.append("g").attr("id", "elems"); + const gLinks = elems.append("g").attr("id", "links"); + const gNodes = elems.append("g").attr("id", "nodes"); + const gLabels = elems.append("g").attr("id", "labels"); + + let node, link, label; + + const dragDrop = d3.drag().on("start", (event, node) => { + node.fx = node.x; + node.fy = node.y; + }).on("drag", (event, node) => { + simulation.alpha(alphaInit).alphaTarget(alphaTarget).restart(); + node.fx = event.x; + node.fy = event.y; + }).on("end", (event, node) => { + if (!event.active) { + simulation.alphaTarget(alphaTarget); + } + node.fx = null; + node.fy = null; + }) + + function tick() { + gNodes.selectAll(".node") + .attr("cx", d => d.x) + .attr("cy", d => d.y); + gLabels.selectAll(".label") + .attr("x", d => d.x) + .attr("y", d => d.y); + gLinks.selectAll(".link") + .attr("x1", d => d.source.x) + .attr("y1", d => d.source.y) + .attr("x2", d => d.target.x) + .attr("y2", d => d.target.y); + } + + refresh = () => { + node = gNodes.selectAll(".node").data(nodes, d => d.id); + + node.exit().remove(); + + node.enter() + .append("circle") + .attr("class", d => `node node-${d.id}`) + .attr("r", getRadiusFor) + .style("fill", getColorFor) + .style("stroke", "#0000") + .style("stroke-width", 2.5) + .call(dragDrop) + .on("click", (event, target) => addAll(target, target.x, target.y)) + .on("contextmenu", (event, target) => { event.preventDefault(); selectNode(target); }); + + label = gLabels.selectAll(".label"); + + label = gLabels.selectAll(".label").data(nodes, d => d.id); + + label.exit().remove(); + + label.enter() + .append("text") + .attr("class", "label") + .attr("text-anchor", "middle") + .attr("dominant-baseline", "middle") + .style("fill", colorBackground) + .style("stroke", colorNormal) + .style("stroke-width", 2.5) + .style("paint-order", "stroke") + .style("font-size", "15px") + .text(d => d.title) + .attr("pointer-events", "none") + .attr("visibility", showLabels ? "visible" : "hidden"); + + link = gLinks.selectAll(".link").data(links); + + link.exit().remove(); + + link.enter() + .append("line") + .attr("class", "link") + .style("stroke", getColorFor) + .attr("marker-end", d => `url(#triangle-${d.type})`); + + simulation.nodes(nodes).on("tick", tick); + simulation.force("link").initialize(links); + simulation.alpha(alphaInit).alphaTarget(alphaTarget).restart(); + }; + addPage("zzcxz", clientWidth/2, clientHeight/2, true); +} + +window.onload = () => { + if(new URLSearchParams(window.location.search).has("skip")) { + visualize(); + } +} diff --git a/src/templates/rss.xml b/src/templates/rss.xml new file mode 100644 index 0000000..6aae616 --- /dev/null +++ b/src/templates/rss.xml @@ -0,0 +1,20 @@ + + + + Blogā„¢ + https://trimill.xyz/blog/ + Blogā„¢ + en + {{ data.blogposts[0].timestamp.strftime("%a, %d %b %Y %H:%M:%S %z") }} + + {% for post in data.blogposts %} + + {{ post.title }} + https://trimill.xyz/{{ post.url }} + {{ post.desc }} + {{ post.timestamp.strftime("%a, %d %b %Y %H:%M:%S %z") }} + https://trimill.xyz/{{ post.url }} + + {% endfor %} + + \ No newline at end of file diff --git a/test.sh b/test.sh new file mode 100755 index 0000000..8b6cf66 --- /dev/null +++ b/test.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +. venv/bin/activate +export FLASK_APP=src/main +export FLASK_ENV=development +flask run \ No newline at end of file