Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2012-05-10 23:33:57 (GMT)
committer Walter Bender <walter.bender@gmail.com>2012-05-10 23:33:57 (GMT)
commit3e9aa44c87024b6a30a3ed78999bd8c59fc6d215 (patch)
tree472bd74f2ef91aeda446a2749de161c82404eefe
new project
-rw-r--r--COPYING675
-rw-r--r--CREDITS57
-rw-r--r--NEWS3
-rw-r--r--RecallActivity.py289
-rw-r--r--activity/activity-recall.svg25
-rw-r--r--activity/activity.info8
-rw-r--r--game.py410
-rw-r--r--images/japanese-bridge.svg32
-rw-r--r--images/noun_project_1071.svg20
-rw-r--r--images/noun_project_1103.svg3
-rw-r--r--images/noun_project_1164.svg20
-rw-r--r--images/noun_project_1209.svg20
-rw-r--r--images/noun_project_1223.svg3
-rw-r--r--images/noun_project_1253.svg5
-rw-r--r--images/noun_project_128.svg11
-rw-r--r--images/noun_project_1294.svg10
-rw-r--r--images/noun_project_1320.svg25
-rw-r--r--images/noun_project_1381.svg13
-rw-r--r--images/noun_project_1383.svg3
-rw-r--r--images/noun_project_1385.svg3
-rw-r--r--images/noun_project_1439.svg3
-rw-r--r--images/noun_project_1573.svg3
-rw-r--r--images/noun_project_162.svg12
-rw-r--r--images/noun_project_1627.svg48
-rw-r--r--images/noun_project_1751.svg11
-rw-r--r--images/noun_project_180.svg16
-rw-r--r--images/noun_project_1836.svg8
-rw-r--r--images/noun_project_190.svg13
-rw-r--r--images/noun_project_196.svg15
-rw-r--r--images/noun_project_1987.svg5
-rw-r--r--images/noun_project_1993.svg4
-rw-r--r--images/noun_project_2034.svg3
-rw-r--r--images/noun_project_2036.svg9
-rw-r--r--images/noun_project_2141.svg345
-rw-r--r--images/noun_project_2218.svg3
-rw-r--r--images/noun_project_2264.svg3
-rw-r--r--images/noun_project_2288.svg9
-rw-r--r--images/noun_project_2372.svg17
-rw-r--r--images/noun_project_2417.svg15
-rw-r--r--images/noun_project_2418.svg15
-rw-r--r--images/noun_project_298.svg8
-rw-r--r--images/noun_project_329.svg17
-rw-r--r--images/noun_project_331.svg12
-rw-r--r--images/noun_project_34.svg8
-rw-r--r--images/noun_project_364.svg22
-rw-r--r--images/noun_project_421.svg18
-rw-r--r--images/noun_project_454.svg23
-rw-r--r--images/noun_project_47.svg16
-rw-r--r--images/noun_project_486.svg10
-rw-r--r--images/noun_project_504.svg9
-rw-r--r--images/noun_project_516.svg15
-rw-r--r--images/noun_project_572.svg12
-rw-r--r--images/noun_project_627.svg14
-rw-r--r--images/noun_project_638.svg14
-rw-r--r--images/noun_project_640.svg9
-rw-r--r--images/noun_project_714.svg12
-rw-r--r--images/noun_project_795.svg3
-rw-r--r--images/noun_project_865.svg5
-rw-r--r--images/noun_project_921.svg6
-rw-r--r--images/noun_project_95.svg10
-rw-r--r--images/noun_project_99.svg8
-rw-r--r--po/Recall.pot34
-rwxr-xr-xsetup.py32
-rw-r--r--sprites.py459
-rw-r--r--toolbar_utils.py164
-rw-r--r--utils.py53
66 files changed, 3185 insertions, 0 deletions
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..10926e8
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,675 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ 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.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ 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 <http://www.gnu.org/licenses/>.
+
+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:
+
+ <program> Copyright (C) <year> <name of author>
+ 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
+<http://www.gnu.org/licenses/>.
+
+ 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
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+
diff --git a/CREDITS b/CREDITS
new file mode 100644
index 0000000..d3f21ae
--- /dev/null
+++ b/CREDITS
@@ -0,0 +1,57 @@
+"Baby" symbol by Roger Cook, Don Shanosky, from thenounproject.com collection.
+"Horseback Trail" symbol by National Park Service, from thenounproject.com collection.
+"Wrench" symbol by John Caserta, from thenounproject.com collection.
+"Umbrella" symbol by Paul te Kortschot, from thenounproject.com collection.
+"Dog" symbol, from thenounproject.com collection.
+"Crow" symbol, from thenounproject.com collection.
+"Tipi" symbol by Taras Kuba, from thenounproject.com collection.
+"Soccer Ball" symbol by Laurent Patain, from thenounproject.com collection.
+"Cat" symbol, from thenounproject.com collection.
+"Bicycle" symbol by Saman Bemel-Benrud, from thenounproject.com collection.
+"Theatre" symbol by Saman Bemel-Benrud, from thenounproject.com collection.
+“Magic Wand” symbol by John O'Shea, from thenounproject.com collection.
+"Parachute" symbol by Okan Benn, from thenounproject.com collection.
+"Ladybug" symbol by Paolo Fausone, from thenounproject.com collection.
+"Magnet" symbol, from thenounproject.com collection.
+"Apple" symbol, from thenounproject.com collection.
+"Pyramid" symbol by Jonathan Keating, from thenounproject.com collection.
+"Cane" symbol, from thenounproject.com collection.
+"Book" symbol by National Park Service, from thenounproject.com collection.
+"Flower" symbol, from thenounproject.com collection.
+"Clock" symbol by Brandon Hopkins, from thenounproject.com collection.
+"Castle" symbol by Jonah Bethlehem, from thenounproject.com collection.
+"Arrow" symbol by Roger Cook, Don Shanosky, from thenounproject.com collection.
+"Moon" symbol, from thenounproject.com collection.
+"Keyhole" symbol, from thenounproject.com collection.
+"Dice" symbol, from thenounproject.com collection.
+"House" symbol by Maurizio Pedrazzoli, from thenounproject.com collection.
+"Lock" symbol, from thenounproject.com collection.
+"Earth" symbol by Francesco Paleari, from thenounproject.com collection.
+"Campfire" symbol by National Park Service, from thenounproject.com collection.
+"Building" symbol by Benoit Champy, from thenounproject.com collection.
+"Scale" symbol, from thenounproject.com collection.
+"Bridge" symbol by Chad Wimberly, from thenounproject.com collection.
+"Compass Rose" symbol, from http://en.wikipedia.org/wiki/Compass_rose
+"Airplane" sysmbol, from thenounproject.com collection.
+"Letter" symbol by Tom Schott, from thenounproject.com collection.
+"Lightning" symbol by Matthew Hock, from thenounproject.com collection.
+"Bee" symbol by Paolo Fausone, from thenounproject.com collection.
+"Carnival Mask" symbol by Federica Gatta, from thenounproject.com collection.
+"Magnifying Glass" symbol, from thenounproject.com collection.
+"Speech" symbol by Alex Bakker, from thenounproject.com collection.
+"Question" symbol by Henry Ryder, from thenounproject.com collection.
+"Happy" symbol by Brad Goodwin, from thenounproject.com collection.
+"Eye" symbol, from thenounproject.com collection.
+"Cell Phone" symbol by Marwa Boukarim, from thenounproject.com collection.
+"Fish" symbol, from thenounproject.com collection.
+"Hand" symbol by Jakob Vogel, from thenounproject.com collection.
+"Light Bulb" symbol by Mitsu Overstreet, from thenounproject.com collection.
+"Key" symbol by William J. Salvador, from thenounproject.com collection.
+"Flashlight" symbol, from thenounproject.com collection.
+"Tree" symbol by Hernan D. Schlosman, from thenounproject.com collection.
+"Alien" symbol by Saneef Ansari, from thenounproject.com collection.
+"Kettle" symbol, from thenounproject.com collection.
+"Heart" symbol by Luis Martins, from thenounproject.com collection.
+"Tooth" symbol by Jack Biesek, Gladys Brenner, Margaret Faye, Healther Merrifield, Kate Keating, Wendy Olmstead, Todd Pierce, Jamie Cowgill, Jim Bolek, from thenounproject.com collection.
+
+
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..79000cc
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,3 @@
+1
+
+* New game insprired by Claudia Urrea
diff --git a/RecallActivity.py b/RecallActivity.py
new file mode 100644
index 0000000..9b1e843
--- /dev/null
+++ b/RecallActivity.py
@@ -0,0 +1,289 @@
+#Copyright (c) 2012 Walter Bender
+
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this library; if not, write to the Free Software
+# Foundation, 51 Franklin Street, Suite 500 Boston, MA 02110-1335 USA
+
+
+import gtk
+
+from sugar.activity import activity
+from sugar import profile
+try:
+ from sugar.graphics.toolbarbox import ToolbarBox
+ _have_toolbox = True
+except ImportError:
+ _have_toolbox = False
+
+if _have_toolbox:
+ from sugar.activity.widgets import ActivityToolbarButton
+ from sugar.activity.widgets import StopButton
+
+from toolbar_utils import button_factory, label_factory, separator_factory
+from utils import json_load, json_dump
+
+import telepathy
+import dbus
+from dbus.service import signal
+from dbus.gobject_service import ExportedGObject
+from sugar.presence import presenceservice
+from sugar.presence.tubeconn import TubeConnection
+
+from gettext import gettext as _
+
+from game import Game
+
+import logging
+_logger = logging.getLogger('recall-activity')
+
+
+SERVICE = 'org.sugarlabs.RecallActivity'
+IFACE = SERVICE
+
+
+class RecallActivity(activity.Activity):
+ """ A memory game """
+
+ def __init__(self, handle):
+ """ Initialize the toolbars and the game board """
+ try:
+ super(RecallActivity, self).__init__(handle)
+ except dbus.exceptions.DBusException, e:
+ _logger.error(str(e))
+
+ self.path = activity.get_bundle_path()
+
+ self.nick = profile.get_nick_name()
+ if profile.get_color() is not None:
+ self.colors = profile.get_color().to_string().split(',')
+ else:
+ self.colors = ['#A0FFA0', '#FF8080']
+
+ self._setup_toolbars(_have_toolbox)
+ self._setup_dispatch_table()
+
+ # Create a canvas
+ canvas = gtk.DrawingArea()
+ canvas.set_size_request(gtk.gdk.screen_width(), \
+ gtk.gdk.screen_height())
+ self.set_canvas(canvas)
+ canvas.show()
+ self.show_all()
+
+ self._game = Game(canvas, parent=self, path=self.path,
+ colors=self.colors)
+ self._setup_presence_service()
+
+ if 'dotlist' in self.metadata:
+ self._restore()
+ else:
+ self._game.new_game()
+
+ def _setup_toolbars(self, have_toolbox):
+ """ Setup the toolbars. """
+
+ self.max_participants = 4
+
+ if have_toolbox:
+ toolbox = ToolbarBox()
+
+ # Activity toolbar
+ activity_button = ActivityToolbarButton(self)
+
+ toolbox.toolbar.insert(activity_button, 0)
+ activity_button.show()
+
+ self.set_toolbar_box(toolbox)
+ toolbox.show()
+ self.toolbar = toolbox.toolbar
+
+ else:
+ # Use pre-0.86 toolbar design
+ games_toolbar = gtk.Toolbar()
+ toolbox = activity.ActivityToolbox(self)
+ self.set_toolbox(toolbox)
+ toolbox.add_toolbar(_('Game'), games_toolbar)
+ toolbox.show()
+ toolbox.set_current_toolbar(1)
+ self.toolbar = games_toolbar
+
+ self._new_game_button_h = button_factory(
+ 'view-refresh', self.toolbar, self._new_game_cb,
+ tooltip=_('Load new images.'))
+
+ self.status = label_factory(self.toolbar, '')
+
+ if _have_toolbox:
+ separator_factory(toolbox.toolbar, True, False)
+
+ if _have_toolbox:
+ stop_button = StopButton(self)
+ stop_button.props.accelerator = '<Ctrl>q'
+ toolbox.toolbar.insert(stop_button, -1)
+ stop_button.show()
+
+ def _new_game_cb(self, button=None):
+ ''' Start a new game. '''
+ self._game.new_game()
+
+ def write_file(self, file_path):
+ """ Write the grid status to the Journal """
+ dot_list = self._game.save_game()
+ self.metadata['dotlist'] = ''
+ for dot in dot_list:
+ self.metadata['dotlist'] += str(dot)
+ if dot_list.index(dot) < len(dot_list) - 1:
+ self.metadata['dotlist'] += ' '
+
+ def _restore(self):
+ """ Restore the game state from metadata """
+ dot_list = []
+ dots = self.metadata['dotlist'].split()
+ for dot in dots:
+ dot_list.append(int(dot))
+ self._game.restore_game(dot_list)
+
+ # Collaboration-related methods
+
+ def _setup_presence_service(self):
+ """ Setup the Presence Service. """
+ self.pservice = presenceservice.get_instance()
+ self.initiating = None # sharing (True) or joining (False)
+
+ owner = self.pservice.get_owner()
+ self.owner = owner
+ self._share = ""
+ self.connect('shared', self._shared_cb)
+ self.connect('joined', self._joined_cb)
+
+ def _shared_cb(self, activity):
+ """ Either set up initial share..."""
+ self._new_tube_common(True)
+
+ def _joined_cb(self, activity):
+ """ ...or join an exisiting share. """
+ self._new_tube_common(False)
+
+ def _new_tube_common(self, sharer):
+ """ Joining and sharing are mostly the same... """
+ if self._shared_activity is None:
+ _logger.debug("Error: Failed to share or join activity ... \
+ _shared_activity is null in _shared_cb()")
+ return
+
+ self.initiating = sharer
+ self.waiting_for_hand = not sharer
+
+ self.conn = self._shared_activity.telepathy_conn
+ self.tubes_chan = self._shared_activity.telepathy_tubes_chan
+ self.text_chan = self._shared_activity.telepathy_text_chan
+
+ self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].connect_to_signal(
+ 'NewTube', self._new_tube_cb)
+
+ if sharer:
+ _logger.debug('This is my activity: making a tube...')
+ id = self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].OfferDBusTube(
+ SERVICE, {})
+ else:
+ _logger.debug('I am joining an activity: waiting for a tube...')
+ self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].ListTubes(
+ reply_handler=self._list_tubes_reply_cb,
+ error_handler=self._list_tubes_error_cb)
+ self._game.set_sharing(True)
+
+ def _list_tubes_reply_cb(self, tubes):
+ """ Reply to a list request. """
+ for tube_info in tubes:
+ self._new_tube_cb(*tube_info)
+
+ def _list_tubes_error_cb(self, e):
+ """ Log errors. """
+ _logger.debug('Error: ListTubes() failed: %s' % (e))
+
+ def _new_tube_cb(self, id, initiator, type, service, params, state):
+ """ Create a new tube. """
+ _logger.debug('New tube: ID=%d initator=%d type=%d service=%s \
+params=%r state=%d' % (id, initiator, type, service, params, state))
+
+ if (type == telepathy.TUBE_TYPE_DBUS and service == SERVICE):
+ if state == telepathy.TUBE_STATE_LOCAL_PENDING:
+ self.tubes_chan[ \
+ telepathy.CHANNEL_TYPE_TUBES].AcceptDBusTube(id)
+
+ tube_conn = TubeConnection(self.conn,
+ self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES], id, \
+ group_iface=self.text_chan[telepathy.CHANNEL_INTERFACE_GROUP])
+
+ self.chattube = ChatTube(tube_conn, self.initiating, \
+ self.event_received_cb)
+
+ def _setup_dispatch_table(self):
+ ''' Associate tokens with commands. '''
+ self._processing_methods = {
+ 'n': [self._receive_new_game, 'get a new game grid'],
+ 'p': [self._receive_dot_click, 'get a dot click'],
+ }
+
+ def event_received_cb(self, event_message):
+ ''' Data from a tube has arrived. '''
+ if len(event_message) == 0:
+ return
+ try:
+ command, payload = event_message.split('|', 2)
+ except ValueError:
+ _logger.debug('Could not split event message %s' % (event_message))
+ return
+ self._processing_methods[command][0](payload)
+
+ def send_new_game(self):
+ ''' Send a new grid to all players '''
+ self.send_event('n|%s' % (json_dump(self._game.save_game())))
+
+ def _receive_new_game(self, payload):
+ ''' Sharer can start a new game. '''
+ dot_list = json_load(payload)
+ self._game.restore_game(dot_list)
+
+ def send_dot_click(self, dot, color):
+ ''' Send a dot click to all the players '''
+ self.send_event('p|%s' % (json_dump([dot, color])))
+
+ def _receive_dot_click(self, payload):
+ ''' When a dot is clicked, everyone should change its color. '''
+ (dot, color) = json_load(payload)
+ self._game.remote_button_press(dot, color)
+
+ def send_event(self, entry):
+ """ Send event through the tube. """
+ if hasattr(self, 'chattube') and self.chattube is not None:
+ self.chattube.SendText(entry)
+
+
+class ChatTube(ExportedGObject):
+ """ Class for setting up tube for sharing """
+
+ def __init__(self, tube, is_initiator, stack_received_cb):
+ super(ChatTube, self).__init__(tube, PATH)
+ self.tube = tube
+ self.is_initiator = is_initiator # Are we sharing or joining activity?
+ self.stack_received_cb = stack_received_cb
+ self.stack = ''
+
+ self.tube.add_signal_receiver(self.send_stack_cb, 'SendText', IFACE,
+ path=PATH, sender_keyword='sender')
+
+ def send_stack_cb(self, text, sender=None):
+ if sender == self.tube.get_unique_name():
+ return
+ self.stack = text
+ self.stack_received_cb(text)
+
+ @signal(dbus_interface=IFACE, signature='s')
+ def SendText(self, text):
+ self.stack = text
diff --git a/activity/activity-recall.svg b/activity/activity-recall.svg
new file mode 100644
index 0000000..2588f97
--- /dev/null
+++ b/activity/activity-recall.svg
@@ -0,0 +1,25 @@
+<?xml version="1.0" ?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd' [
+ <!ENTITY stroke_color "#000">
+ <!ENTITY fill_color "#aaa">
+]>
+<svg height="100px" viewBox="0 0 100 100" width="100px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.5" stroke="&stroke_color;" fill="&fill_color;">
+ <path
+ d="m 27.244106,89.262617 c 0,0 -7.017272,0.778025 -10.256605,-0.320519 -2.428841,-0.823684 -5.502117,-2.034058 -6.250118,-4.487264 -0.714813,-2.344362 0.926132,-4.225902 2.164151,-6.341156 0.575464,-0.983225 -0.571555,-1.444017 -1.19493,-2.164151 C 11.45019,75.653313 7.9191641,75.400968 11.057902,71.473819 10.330296,70.77052 8.8633092,71.582823 8.4937506,68.749408 8.3158082,67.385119 9.7164474,67.139013 9.7758261,66.185257 9.8356669,65.224079 10.090014,64.642891 9.4642695,63.910847 8.0043824,62.202958 3.9408345,62.86163 3.03467,60.805658 2.5905119,59.79792 3.2095049,58.043342 3.6859672,57.050469 5.8631447,52.513573 11.66244,49.928135 12.820756,45.03101 c 0.400332,-1.692522 -1.254103,-1.59493 -0.961557,-5.128302 0.553581,-6.686149 3.897973,-15.42045 6.891156,-18.910614 5.730863,-6.682403 16.073443,-8.814921 24.840214,-9.615567 9.941246,-0.907909 22.497161,0.783036 28.786441,4.556486 5.225846,3.13541 8.368285,6.056785 10.797642,10.668161 2.895643,5.496474 4.190816,12.173259 3.285967,18.319577 -0.62656,4.255998 -3.434782,7.664991 -5.689859,11.328421 -1.608169,2.612511 -4.425275,4.588359 -5.288562,7.532193 -1.083276,3.694003 0.480779,11.538681 0.480779,11.538681"
+ id="path3058"
+ style="fill:none;stroke:&stroke_color;;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 67.889791,48.869614 c 0.672525,-0.364284 3.279585,0.776458 4.82898,1.420288 1.54569,0.642291 2.745891,2.651206 4.402895,2.414491 1.325603,-0.189372 2.272461,-2.272462 2.840577,-2.840577 0.568115,-0.568116 2.198384,-8.228133 1.704346,-12.35651 -0.598563,-5.001834 -2.137887,-10.344917 -5.539125,-14.060856 -4.14561,-4.529185 -10.499599,-6.826991 -16.475347,-8.237674 -6.911472,-1.631577 -20.594183,0 -21.304327,0 -0.710145,0 -11.518071,3.26431 -15.481145,7.3855 -3.821984,3.974471 -6.903588,9.695552 -6.533327,15.197087 0.185369,2.754314 1.90616,5.66062 4.260865,7.101443 4.16903,2.550991 10.490495,-1.606062 14.628972,0.994202 2.028651,1.27463 1.708543,4.717444 3.550721,6.249269 2.00311,1.665645 4.783397,2.430495 7.3855,2.55652 4.037203,0.19553 7.830539,-2.020449 11.788395,-2.840577 2.164484,-0.448514 4.445238,-0.410946 6.533327,-1.136231 1.220672,-0.423993 3.408693,-1.846375 3.408693,-1.846375 z"
+ id="path3830"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&fill_color;;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <text
+ x="41.89851"
+ y="44.608749"
+ id="text3833"
+ xml:space="preserve"
+ style="font-size:11px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:&stroke_color;;fill-opacity:1;stroke:none;font-family:Sans"><tspan
+ x="41.89851"
+ y="44.608749"
+ id="tspan3835"
+ style="font-size:32px;font-weight:bold;fill:&stroke_color;;fill-opacity:1;-inkscape-font-specification:Sans Bold">?</tspan></text>
+</svg>
diff --git a/activity/activity.info b/activity/activity.info
new file mode 100644
index 0000000..0cc8dd2
--- /dev/null
+++ b/activity/activity.info
@@ -0,0 +1,8 @@
+[Activity]
+name = Recall
+activity_version = 1
+license = GPLv3
+bundle_id = org.sugarlabs.RecallActivity
+exec = sugar-activity RecallActivity.RecallActivity
+icon = activity-recall
+show_launcher = yes
diff --git a/game.py b/game.py
new file mode 100644
index 0000000..9e07227
--- /dev/null
+++ b/game.py
@@ -0,0 +1,410 @@
+# -*- coding: utf-8 -*-
+#Copyright (c) 2012 Walter Bender
+
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this library; if not, write to the Free Software
+# Foundation, 51 Franklin Street, Suite 500 Boston, MA 02110-1335 USA
+
+
+import gtk
+import gobject
+import cairo
+import os
+import glob
+from random import uniform
+
+from gettext import gettext as _
+
+import logging
+_logger = logging.getLogger('search-activity')
+
+try:
+ from sugar.graphics import style
+ GRID_CELL_SIZE = style.GRID_CELL_SIZE
+except ImportError:
+ GRID_CELL_SIZE = 0
+
+DOT_SIZE = 40
+
+
+from sprites import Sprites, Sprite
+
+
+class Game():
+
+ def __init__(self, canvas, parent=None, path=None,
+ colors=['#A0FFA0', '#FF8080']):
+ self._canvas = canvas
+ self._parent = parent
+ self._parent.show_all()
+ self._path = path
+
+ self._colors = ['#FFFFFF']
+ self._colors.append(colors[0])
+ self._colors.append(colors[1])
+
+ self._canvas.set_flags(gtk.CAN_FOCUS)
+ self._canvas.connect("expose-event", self._expose_cb)
+ self._canvas.add_events(gtk.gdk.BUTTON_PRESS_MASK)
+ self._canvas.connect("button-press-event", self._button_press_cb)
+
+ self._width = gtk.gdk.screen_width()
+ self._height = gtk.gdk.screen_height() - (GRID_CELL_SIZE * 1.5)
+ self._scale = self._height / (4 * DOT_SIZE * 1.2)
+ self._dot_size = int(DOT_SIZE * self._scale)
+ self._space = int(self._dot_size / 5.)
+ self.we_are_sharing = False
+
+ self._start_time = 0
+ self._timeout_id = None
+
+ self._level = 3
+ self._game = 0
+ self._correct = 0
+
+ # Find the image files
+ self._PATHS = glob.glob(os.path.join(self._path, 'images', '*.svg'))
+
+ # Generate the sprites we'll need...
+ self._sprites = Sprites(self._canvas)
+ self._dots = []
+ self._opts = []
+ yoffset = int(self._space / 2.)
+ for y in range(3):
+ for x in range(6):
+ xoffset = int((self._width - 6 * self._dot_size - \
+ 5 * self._space) / 2.)
+ self._dots.append(
+ Sprite(self._sprites,
+ xoffset + x * (self._dot_size + self._space),
+ y * (self._dot_size + self._space) + yoffset,
+ self._new_dot_surface(color=self._colors[0])))
+ self._dots[-1].type = -1 # No image
+ self._dots[-1].set_label_attributes(72)
+
+ y = 3
+ for x in range(3):
+ self._opts.append(
+ Sprite(self._sprites,
+ xoffset + x * (self._dot_size + self._space),
+ y * (self._dot_size + self._space) + yoffset,
+ self._new_dot_surface(color=self._colors[0])))
+ self._opts[-1].type = -1 # No image
+ self._opts[-1].set_label_attributes(72)
+ self._opts[-1].hide()
+
+ self._line = Sprite(
+ self._sprites, 0,
+ int(3 * (self._dot_size + self._space) + yoffset / 2.),
+ self._line(vertical=False))
+
+ def _all_clear(self):
+ ''' Things to reinitialize when starting up a new game. '''
+ if self._timeout_id is not None:
+ gobject.source_remove(self._timeout_id)
+
+ # Auto advance levels
+ if self._correct > 3 and self._level < len(self._dots):
+ self._level += 3
+ self._correct = 0
+
+ self._set_label('')
+ for i in range(3):
+ self._opts[i].hide()
+ self._opts[i].set_label('')
+
+ for dot in self._dots:
+ dot.type = -1
+ if self._dots.index(dot) < self._level:
+ dot.set_shape(self._new_dot_surface(
+ self._colors[abs(dot.type)]))
+ dot.set_label('?')
+ dot.set_layer(100)
+ else:
+ dot.hide()
+
+ # self._stop_timer()
+ self._dance_counter = 0
+ self._dance_step()
+
+ def _dance_step(self):
+ ''' Short animation before loading new game '''
+ for i in range(self._level):
+ self._dots[i].set_shape(self._new_dot_surface(
+ self._colors[int(uniform(0, 3))]))
+ self._dance_counter += 1
+ if self._dance_counter < 10:
+ self._timeout_id = gobject.timeout_add(500, self._dance_step)
+ else:
+ self._new_game()
+
+ def new_game(self):
+ ''' Start a new game. '''
+ self._all_clear()
+
+ def _image_in_dots(self, n):
+ for i in range(self._level):
+ if self._dots[i].type == n:
+ return True
+ return False
+
+ def _new_game(self):
+ ''' Select pictures at random '''
+ # Choose images at random
+ for i in range(self._level):
+ if self._dots[i].type == -1:
+ n = int(uniform(0, len(self._PATHS)))
+ while self._image_in_dots(n):
+ n = int(uniform(0, len(self._PATHS)))
+ self._dots[i].type = n
+ _logger.debug(self._dots[i].type)
+ self._dots[i].set_shape(self._new_dot_surface(
+ image=self._dots[i].type))
+ self._dots[i].set_label('')
+
+ if self._game == 0:
+ # Repeat at least one of the images
+ self._repeat = int(uniform(0, self._level))
+ n = (self._repeat + int(uniform(1, self._level))) % self._level
+ _logger.debug('repeat=%d, n=%d' % (self._repeat, n))
+ self._dots[self._repeat].set_shape(self._new_dot_surface(
+ image=self._dots[n].type))
+ self._dots[self._repeat].type = self._dots[n].type
+
+ if self.we_are_sharing:
+ _logger.debug('sending a new game')
+ self._parent.send_new_game()
+
+ self._timeout_id = gobject.timeout_add(3000, self._ask_the_question)
+ # self._start_timer()
+
+ def _ask_the_question(self):
+
+ self._timeout_id = None
+ # Hide the dots
+ for i in range(self._level):
+ self._dots[i].hide()
+
+ if self._game == 0:
+ self._set_label(_('Which image was repeated?'))
+
+ # Show the possible solutions
+ for i in range(3):
+ n = int(uniform(0, len(self._PATHS)))
+ if self._level == 3:
+ while(n == self._dots[self._repeat].type):
+ n = int(uniform(0, len(self._PATHS)))
+ else:
+ while(n == self._dots[self._repeat].type or \
+ not self._image_in_dots(n)):
+ n = int(uniform(0, len(self._PATHS)))
+ self._opts[i].type = n
+ self._answer = int(uniform(0, 3))
+ self._opts[self._answer].type = self._dots[self._repeat].type
+ for i in range(3):
+ self._opts[i].set_shape(self._new_dot_surface(
+ image=self._opts[i].type))
+ self._opts[i].set_layer(100)
+
+ def restore_game(self, dot_list):
+ ''' Restore a game from the Journal or share '''
+ for i, dot in enumerate(dot_list):
+ self._dots[i].type = dot
+ if i < self._level:
+ self._dots[i].set_shape(self._new_dot_surface(
+ image=self._dots[i].type))
+ else:
+ self._dots[i].hide()
+
+ def save_game(self):
+ ''' Return dot list for saving to Journal or
+ sharing '''
+ dot_list = []
+ for dot in self._dots:
+ dot_list.append(dot.type)
+ return dot_list
+
+ def _set_label(self, string):
+ ''' Set the label in the toolbar or the window frame. '''
+ self._parent.status.set_label(string)
+
+ def _count(self, count_type, spr):
+ ''' Count the number of surrounding dots of type count_type '''
+ counter = 0
+ for dot in self._neighbors(spr):
+ if dot.type in count_type:
+ counter += 1
+ return counter
+
+ def _button_press_cb(self, win, event):
+ if self._timeout_id is not None:
+ _logger.debug('still in timeout... ignoring click')
+ return
+
+ win.grab_focus()
+ x, y = map(int, event.get_coords())
+
+ spr = self._sprites.find_sprite((x, y), inverse=True)
+ if spr == None:
+ return
+
+ if self._game == 0:
+ for i in range(3):
+ if self._opts[i] == spr:
+ break
+ self._opts[i].set_shape(self._new_dot_surface(
+ color=self._colors[0]))
+ if i == self._answer:
+ self._opts[i].set_label('☻')
+ self._correct += 1
+ else:
+ self._opts[i].set_label('☹')
+ self._correct = 0
+
+ for i in range(self._level):
+ self._dots[i].set_layer(100)
+
+ if self._correct == 0:
+ self._timeout_id = gobject.timeout_add(5000, self.new_game)
+ else:
+ self._timeout_id = gobject.timeout_add(3000, self.new_game)
+ return True
+
+ def remote_button_press(self, dot, color):
+ ''' Receive a button press from a sharer '''
+ self._dots[dot].type = color
+ self._dots[dot].set_shape(self._new_dot_surface(
+ color=self._colors[color]))
+
+ def set_sharing(self, share=True):
+ _logger.debug('enabling sharing')
+ self.we_are_sharing = share
+
+ def _counter(self):
+ ''' Display of seconds since start_time. '''
+ self._set_label(str(
+ int(gobject.get_current_time() - self._start_time)))
+ self._timeout_id = gobject.timeout_add(1000, self._counter)
+
+ def _start_timer(self):
+ ''' Start/reset the timer '''
+ self._start_time = gobject.get_current_time()
+ self._timeout_id = None
+ self._counter()
+
+ def _stop_timer(self):
+ if self._timeout_id is not None:
+ gobject.source_remove(self._timeout_id)
+
+ def _grid_to_dot(self, pos):
+ ''' calculate the dot index from a column and row in the grid '''
+ return pos[0] + pos[1] * 3
+
+ def _dot_to_grid(self, dot):
+ ''' calculate the grid column and row for a dot '''
+ return [dot % 3, int(dot / 3)]
+
+ def _expose_cb(self, win, event):
+ self.do_expose_event(event)
+
+ def do_expose_event(self, event):
+ ''' Handle the expose-event by drawing '''
+ # Restrict Cairo to the exposed area
+ cr = self._canvas.window.cairo_create()
+ cr.rectangle(event.area.x, event.area.y,
+ event.area.width, event.area.height)
+ cr.clip()
+ # Refresh sprite list
+ self._sprites.redraw_sprites(cr=cr)
+
+ def _destroy_cb(self, win, event):
+ gtk.main_quit()
+
+ def _new_dot_surface(self, color='#000000', image=None):
+ ''' generate a dot of a color color '''
+ self._dot_cache = {}
+ if image is not None:
+ pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(
+ os.path.join(self._path, self._PATHS[image]),
+ self._svg_width, self._svg_height)
+ else:
+ if color in self._dot_cache:
+ return self._dot_cache[color]
+ self._stroke = color
+ self._fill = color
+ self._svg_width = self._dot_size
+ self._svg_height = self._dot_size
+
+ i = self._colors.index(color)
+ pixbuf = svg_str_to_pixbuf(
+ self._header() + \
+ self._circle(self._dot_size / 2., self._dot_size / 2.,
+ self._dot_size / 2.) + \
+ self._footer())
+ surface = cairo.ImageSurface(cairo.FORMAT_ARGB32,
+ self._svg_width, self._svg_height)
+ context = cairo.Context(surface)
+ context = gtk.gdk.CairoContext(context)
+ context.set_source_pixbuf(pixbuf, 0, 0)
+ context.rectangle(0, 0, self._svg_width, self._svg_height)
+ context.fill()
+ if image is None:
+ self._dot_cache[color] = surface
+ return surface
+
+ def _line(self, vertical=True):
+ ''' Generate a center line '''
+ if vertical:
+ self._svg_width = 3
+ self._svg_height = self._height
+ return svg_str_to_pixbuf(
+ self._header() + \
+ self._rect(3, self._height, 0, 0) + \
+ self._footer())
+ else:
+ self._svg_width = self._width
+ self._svg_height = 3
+ return svg_str_to_pixbuf(
+ self._header() + \
+ self._rect(self._width, 3, 0, 0) + \
+ self._footer())
+
+ def _header(self):
+ return '<svg\n' + 'xmlns:svg="http://www.w3.org/2000/svg"\n' + \
+ 'xmlns="http://www.w3.org/2000/svg"\n' + \
+ 'xmlns:xlink="http://www.w3.org/1999/xlink"\n' + \
+ 'version="1.1"\n' + 'width="' + str(self._svg_width) + '"\n' + \
+ 'height="' + str(self._svg_height) + '">\n'
+
+ def _rect(self, w, h, x, y):
+ svg_string = ' <rect\n'
+ svg_string += ' width="%f"\n' % (w)
+ svg_string += ' height="%f"\n' % (h)
+ svg_string += ' rx="%f"\n' % (0)
+ svg_string += ' ry="%f"\n' % (0)
+ svg_string += ' x="%f"\n' % (x)
+ svg_string += ' y="%f"\n' % (y)
+ svg_string += 'style="fill:#000000;stroke:#000000;"/>\n'
+ return svg_string
+
+ def _circle(self, r, cx, cy):
+ return '<circle style="fill:' + str(self._fill) + ';stroke:' + \
+ str(self._stroke) + ';" r="' + str(r - 0.5) + '" cx="' + \
+ str(cx) + '" cy="' + str(cy) + '" />\n'
+
+ def _footer(self):
+ return '</svg>\n'
+
+
+def svg_str_to_pixbuf(svg_string):
+ """ Load pixbuf from SVG string """
+ pl = gtk.gdk.PixbufLoader('svg')
+ pl.write(svg_string)
+ pl.close()
+ pixbuf = pl.get_pixbuf()
+ return pixbuf
diff --git a/images/japanese-bridge.svg b/images/japanese-bridge.svg
new file mode 100644
index 0000000..87b4c97
--- /dev/null
+++ b/images/japanese-bridge.svg
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="100"
+ height="100"
+ id="svg2">
+ <metadata
+ id="metadata8">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs6" />
+ <path
+ d="M 8.7945207,90.762885 C 0.68174278,82.29748 0.20324975,81.005076 0.06905075,67.195472 -0.00978925,59.082439 0.98759178,57.009195 4.5469637,57.88729 6.6806667,58.413673 17.752447,49.670555 19.436428,46.129439 c 0.750034,-1.577191 1.563486,-1.851975 4,-1.3512 4.252346,0.873981 38.759616,-4.357933 40.168742,-6.090294 1.640203,-2.016445 5.075142,-1.676008 5.660127,0.560976 0.710489,2.716914 10.223806,7.415183 12.523053,6.184663 3.258523,-1.743909 5.206577,0.468625 5.206577,5.913453 0,4.471006 0.279045,5.068929 3.029368,6.491177 1.666152,0.8616 3.491728,1.280792 4.056835,0.931537 0.565107,-0.349256 2.126892,-0.359073 3.470632,-0.02182 2.335936,0.586282 2.439912,0.952503 2.369042,8.344143 -0.04077,4.252021 -0.378268,9.727232 -0.75,12.167135 -0.659826,4.330834 -0.794619,4.467023 -5.675877,5.734665 -5.585344,1.450489 -7.5,1.14692 -7.5,-1.189127 0,-3.626385 -3.044622,-7.414811 -6.883309,-8.56491 -3.17974,-0.952673 -6.196299,-0.785996 -16.879264,0.932646 -20.380884,3.278812 -29.636664,7.770151 -32.234508,15.641695 -1.020677,3.092681 -1.620212,3.494164 -6.811056,4.561068 -3.130525,0.643434 -6.007046,1.357672 -6.39227,1.587195 -0.385223,0.229529 -3.985223,-3.010274 -7.9999993,-7.199556 z M 27.779569,89.89634 c 2.226589,-4.886829 7.367674,-9.486604 12.928368,-11.567126 6.713819,-2.511962 26.390048,-6.006187 33.821263,-6.006187 7.605961,0 10.134145,1.264001 12.574379,6.286738 1.877108,3.863655 2.420972,4.289144 4.998808,3.910798 2.582598,-0.379045 2.892242,-0.814193 2.889761,-4.061035 -0.0026,-3.416355 -0.434969,-3.912091 -7.141951,-8.188867 l -7.139172,-4.552366 -21.608049,3.944263 -21.608049,3.944264 -8.25,7.480999 c -6.621113,6.003945 -8.25,8.038787 -8.25,10.306083 0,2.674483 0.152577,2.771895 2.862164,1.827328 1.57419,-0.548765 3.339306,-2.044967 3.922478,-3.324892 z m -15.03169,-7.153694 c -0.200975,-0.200975 -2.08327,0.108914 -4.1828783,0.688644 l -3.81747,1.054054 3.873699,3.976938 3.8736973,3.976937 0.309181,-4.665582 c 0.17005,-2.56607 0.144747,-4.830016 -0.05623,-5.030991 z m 0.07875,-6.523495 c 0.401751,-4.103563 1.789678,-5.978643 3.842333,-5.190966 0.840296,0.322452 1.819895,0.159473 2.176887,-0.362177 0.356994,-0.521649 3.461578,-2.902423 6.899078,-5.290608 6.501722,-4.517038 7.596355,-6.052373 4.3151,-6.052373 -3.746391,0 -6.708506,1.856196 -14.34953,8.992071 -6.1535613,5.746747 -7.7155693,7.786316 -7.7155693,10.074486 0,2.553229 0.247638,2.778121 2.2500003,2.043328 1.613044,-0.591928 2.343902,-1.784807 2.581704,-4.213761 z m 9.168298,1.358987 c 0,-1.219951 -0.280049,-1.26758 -1.5,-0.255111 -0.825,0.684689 -1.5,1.919889 -1.5,2.744889 0,1.219951 0.280049,1.26758 1.5,0.255111 0.825,-0.684689 1.5,-1.919889 1.5,-2.744889 z m 6,-3.3621 c 0,-1.437624 -1.735116,-1.02567 -2.342084,0.556061 -0.371656,0.968522 -0.07551,1.264668 0.893012,0.893012 0.796989,-0.305834 1.449072,-0.957917 1.449072,-1.449073 z m 4,-6.011045 c 0,-0.55 -0.45,-0.721885 -1,-0.381966 -0.55,0.339919 -1,1.068034 -1,1.618034 0,0.55 0.45,0.721885 1,0.381966 0.55,-0.339919 1,-1.068034 1,-1.618034 z m 16.399607,-2.269189 c -0.908921,-2.963213 -0.813406,-2.927771 -5.853412,-2.171975 -4.472923,0.670756 -5.237717,1.593544 -3.998072,4.824008 0.445609,1.161238 1.478718,1.244384 5.523834,0.444564 4.425587,-0.875047 4.904061,-1.217414 4.32765,-3.096597 z m 46.600393,1.387223 c 0,-2.292453 -2.510773,-2.717288 -3.336834,-0.564608 -0.495342,1.290841 0.521902,2.268299 2.586834,2.485661 0.4125,0.04342 0.75,-0.821053 0.75,-1.921053 z M 8.9949277,64.76401 c 0,-0.792541 -0.45,-1.440983 -1,-1.440983 -0.55,0 -1,0.926558 -1,2.059017 0,1.132459 0.45,1.780902 1,1.440983 0.55,-0.339919 1,-1.266476 1,-2.059017 z m 80.9999993,0.0942 c 0,-2.220822 -4.026161,-4.103356 -5.108116,-2.388429 -0.604,0.957355 -0.05484,1.705736 1.877174,2.558141 1.502018,0.662693 2.843442,1.225193 2.980942,1.25 0.1375,0.02481 0.25,-0.614063 0.25,-1.419712 z m -34.8125,-0.218297 c -0.721875,-0.288871 -1.584375,-0.253344 -1.916667,0.07895 -0.332291,0.332292 0.258334,0.568641 1.3125,0.52522 1.164943,-0.04798 1.4019,-0.284941 0.604167,-0.604167 z m 7.8125,-1.285501 c 0,-0.532739 -0.675,-0.709594 -1.5,-0.393011 -0.825,0.316582 -1.5,0.752459 -1.5,0.968615 0,0.216156 0.675,0.393011 1.5,0.393011 0.825,0 1.5,-0.435877 1.5,-0.968615 z m 14.25,-0.715271 c 0.4125,-0.238781 0.75,-1.357671 0.75,-2.486422 0,-1.819604 -0.425145,-1.979093 -3.75,-1.406784 -8.751575,1.506415 -9.25,1.707321 -9.25,3.728504 0,1.839778 0.440731,1.93909 5.75,1.295675 3.1625,-0.383254 6.0875,-0.892192 6.5,-1.130973 z m -61.47894,-2.129294 c 0.243583,-0.73075 -0.213586,-0.954237 -1.1875,-0.580511 -0.870958,0.334218 -1.58356,1.047024 -1.58356,1.584013 0,1.314392 2.272781,0.491335 2.77106,-1.003502 z m 41.22894,-4.542027 c 7.425,-1.211795 12.959178,-2.540768 12.298172,-2.953273 -0.977326,-0.609908 -27.22842,3.466033 -30.798172,4.781954 -2.845129,1.048803 6.573283,0.117815 18.5,-1.828681 z m -38,-0.70381 c 0,-0.582459 -0.45,-0.780902 -1,-0.440983 -0.55,0.339919 -1,0.816476 -1,1.059017 0,0.242541 0.45,0.440983 1,0.440983 0.55,0 1,-0.476558 1,-1.059017 z m 16.870096,-0.487956 c 0.203553,-0.197937 0.100043,-1.435866 -0.230023,-2.750953 -0.556997,-2.219253 -0.925597,-2.341672 -5.129682,-1.703651 -5.430451,0.824136 -5.596176,0.957531 -4.829926,3.887676 0.55311,2.115097 0.969397,2.243953 5.210337,1.612787 2.535059,-0.377285 4.775741,-0.847921 4.979294,-1.045859 z m 7.629904,-3.453027 c 0.782182,-1.265597 -0.541628,-1.265597 -2.5,0 -1.292687,0.835399 -1.266292,0.971491 0.190983,0.984687 0.930041,0.0084 1.969098,-0.434687 2.309017,-0.984687 z m 32.917402,0.133647 c 0.294489,-0.476494 -0.31814,-1.638828 -1.361398,-2.582964 -1.799344,-1.628383 -1.952132,-1.613286 -2.97274,0.293737 -0.872234,1.629783 -0.745322,2.096787 0.670415,2.466963 2.838997,0.742319 3.103013,0.72951 3.663723,-0.177736 z M 50.494927,50.323027 c 0.782182,-1.265597 -0.541628,-1.265597 -2.5,0 -1.292687,0.835399 -1.266292,0.971491 0.190983,0.984687 0.930041,0.0084 1.969098,-0.434687 2.309017,-0.984687 z m 12.130508,-0.546676 c 1.17178,-0.237296 2.367151,-1.336369 2.656381,-2.442385 0.43029,-1.645435 0.04305,-2.006602 -2.130509,-1.987082 -3.053728,0.02742 -10.052791,1.539221 -10.859142,2.345572 -0.299373,0.299373 -0.269598,1.260216 0.06617,2.135205 0.599457,1.56216 2.342712,1.553448 10.267103,-0.05131 z"
+ id="path3091"
+ style="fill:#000000" />
+</svg>
diff --git a/images/noun_project_1071.svg b/images/noun_project_1071.svg
new file mode 100644
index 0000000..ea1d20c
--- /dev/null
+++ b/images/noun_project_1071.svg
@@ -0,0 +1,20 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<g>
+ <path d="M32.714,93.852c-0.667,0-1.16-0.173-1.143-0.856C31.964,92.777,32.704,93.23,32.714,93.852z"/>
+ <path d="M27.858,11.464c0.641,0.257-0.133,0.94-0.286,1.284c0.072,0.32,0.797,0.716,1.001,0.43c0.592,0.217,0.459,1.157,0.856,1.57 c-0.176,0.537-0.606,0.821-0.715,1.428c-0.362-0.018-0.553-0.208-0.571-0.569c-0.535-0.013-0.431,0.614-1.142,0.427 c0-0.189,0-0.38,0-0.57c-0.776-0.108-1.157,0.176-1.857,0.144C25.646,13.82,26.567,12.457,27.858,11.464z"/>
+ <path d="M71.121,18.318c0.348,0.463,0.313,1.308,0.432,1.999c-0.432,0.094-0.5,0.548-1.145,0.429 c-0.607-0.589-0.271-1.443-0.428-2.285C70.381,18.245,70.566,18.508,71.121,18.318z"/>
+ <path d="M82.83,24.172c0.027,0.789-0.871,0.651-1.283,1c-0.449-0.313-0.929-0.595-0.857-1.427 C81.396,23.376,82.272,23.928,82.83,24.172z"/>
+ <path d="M87.258,24.743c-0.141,0.575-0.625,0.803-1,1.142C84.647,25.464,85.664,24.153,87.258,24.743z"/>
+ <path d="M14.722,37.022c1.262-0.359,2.994-0.333,2.998,1.284c-0.945-0.088-1.554,0.159-1.856,0.714 c-0.486-0.679-1.398-0.043-1.713-0.856c-0.065-0.446,0.306-0.456,0.714-0.428c0.018-0.256-0.175-0.302-0.143-0.572 c-0.644,0.165-1.065,0.554-1.999,0.43c0.012-1.605-2.129-1.953-3.142-1.286C10.119,33.505,13.976,35.773,14.722,37.022z"/>
+ <path d="M19.292,37.879c0.181,0.771-0.843,0.874-1.285,0.571c0-0.191,0-0.38,0-0.571C18.237,37.665,19.06,37.665,19.292,37.879z"/>
+ <path d="M13.581,39.45C11.331,40.207,13.184,37.202,13.581,39.45L13.581,39.45z"/>
+ <path d="M18.006,79c0.759-0.162,1.181,1.121,0.571,1.429C17.958,80.383,18.028,79.646,18.006,79z"/>
+ <path d="M26.146,86.139c0.442,0.037,0.808,0.146,1.143,0.287c0.048,0.62-0.393,0.749-0.856,0.855 C26.106,86.896,25.941,86.775,26.146,86.139z"/>
+ <path d="M28.002,86.855c0.432,0.09,0.823,0.224,0.856,0.713c-0.434,0.043-0.854,0.53-1.286,0.144 C27.575,87.283,27.944,87.227,28.002,86.855z"/>
+ <path d="M83.621,68.047c-0.824-1.486-0.283-3.018,0.61-4.021c-0.442-0.761-0.238-2.31,0.362-3.168 c0.545-0.769,1.928-0.881,2.438-1.828c0.306-0.563-0.135-1.01,0.488-1.582c1.692,1.254-0.294,4.07-0.729,5.725 c-0.299,1.125-0.24,1.77-0.976,2.314c0.083,0.49-0.119,0.697-0.123,1.099C85.07,67.143,84.745,67.99,83.621,68.047z"/>
+ <path d="M47.434,4.198c14.66-0.943,26.21,5.142,33.751,12.063c7.741,7.107,13.79,17.148,14.62,31.193 c0.869,14.688-4.834,25.827-11.94,33.628c-6.836,7.51-17.472,14.031-31.071,14.744c-14.39,0.755-25.959-4.758-33.75-12.063 c-7.771-7.285-14.147-17.22-14.867-30.947C3.384,37.711,9.177,26.564,16.118,18.943c5.188-5.7,12.401-10.631,21.202-13.161 C40.398,4.899,44.181,4.407,47.434,4.198z M26.355,82.182c-1.671-0.605-2.034-2.517-2.561-4.266 c-0.132-0.395-0.81-0.247-0.608-0.975c0.02-0.18,0.293-0.112,0.487-0.121c0.206-1.778-1.021-2.856-1.096-4.51 c-0.056-1.207,0.389-2.421,0.241-3.656c-0.267-2.254-0.597-4.479-0.608-7.066c-0.525-0.691-0.933-1.501-1.949-1.705 c-1.033-1.202-1.733-2.734-2.195-4.509c-0.807-0.374-1.794-1.951-0.853-2.925c-1.1-1.178,0.399-2.787,0.853-3.898 c0.043-1.178,0.006-2.278-0.609-2.803C17,45.696,17.2,46.303,16.971,46.481c-0.761-0.021-0.699-0.615-1.341-0.49 c-0.03-0.616-0.592-0.705-0.852-1.094c-0.074-1.916-2.449-1.534-2.803-3.168c-0.456-0.012-0.368,0.523-0.976,0.364 c-1.273-0.957-2.411-1.11-2.556-2.56c-0.045-0.432,0.244-0.747,0.12-1.218c-0.227-0.865-0.967-1.606-1.219-2.438 c-0.009,0.87,1.058,2.313,0.244,2.803c-0.508-0.344-0.335-1.371-0.729-1.827c-2.003,4.657-2.567,11.738-1.952,18.033 C6.338,69.52,15.358,81.732,25.864,88.396c2.431,1.539,4.656,3.197,6.825,2.189c-0.068-0.264-0.357-0.934-0.61-0.607 c0.097,0.016,0.371,0.404,0.121,0.365c-0.735,0.135-1.858,0.194-2.314-0.486c0.254-0.44,0.254-0.656,0-1.098 c-0.526,0.398-1.527,0.156-1.585-0.609c0.5-0.121,0.494,0.016,1.099,0c0.253-0.191-0.075-0.965,0.486-0.853 c0.514,0.021,0.571,0.631,0.244,0.853c0.707,0.105,0.793,0.834,1.34,1.1c-0.063-0.715-0.453-0.682-0.487-1.223 c-0.109-1.641,2.439-2.125,2.925-0.973c-0.723,0.172-1.505,0.283-1.463,1.219c1.828,1.262,3.188,2.986,5.116,4.143 c0.104,0.51-0.235,0.572-0.241,0.977c2.866,0.859,8.75,2.646,11.819,1.219c0.658-0.067,1.253,0.092,1.828,0 c1.275-0.203,3.069-1.686,4.143-1.828c0.35-0.047,0.859,0.199,1.22,0.121c0.552-0.121,0.927-0.696,1.462-0.976 c1.479-0.769,3.295-0.976,5.239-1.219c0.048,0.604,1.241,0.062,1.218,0.729c0.691-0.382,0.938,0.031,1.706,0.123 c0.729-0.943,2.068-0.875,3.655-0.73c14.021-6.954,24.995-20.146,25.711-39.965c0.188-5.207-0.656-9.759-1.828-14.133 c-0.982,0.047-1.461-0.409-2.314-0.489c0,0.889,1.026,1.172,1.096,1.949c0.063,0.713-0.502,0.805-0.486,1.706 c-1.121,1.072-2.716,1.67-4.021,2.56c-0.018,0.392,0.119,0.934-0.363,0.854c-0.688-0.167-0.628-1.076-1.096-1.461 c-0.112-2.246-1.844-2.87-1.951-5.117c-0.202-0.409-0.73-0.488-0.854-0.978c-0.217-0.775-0.463-2.108-1.219-1.948 c0.125,1.338,1.02,2.96,1.829,4.021c-0.351,2.052,1.69,3.718,2.681,5.238c-0.142,0.298-0.688,0.589-0.367,0.975 c0.881-0.181,2.016-0.284,2.925-0.73c0.192,2.309-1.32,3.955-1.706,6.093c-0.268,0.138-0.404,0.406-0.73,0.485 c-0.203,2.078-2.729,2.583-2.437,4.508c0.073,0.498,0.778,0.776,0.974,1.342c0.409,1.183-0.195,2.125-0.244,3.654 c-0.955,0.75-2,1.41-2.557,2.56c0.484,0.657,0.438,2.024,0,2.679c-0.203,0-0.408,0-0.609,0c-0.793,1.362-0.886,3.42-2.436,4.021 c-0.389,1.522-1.753,2.066-2.928,2.805c-1.17-0.467-3.168,1.535-3.654-0.367c-0.168-0.493,0.264-0.385,0.245-0.73 c-1.116-1.687-1.8-3.34-2.073-5.605c-0.139-1.152-1.111-1.963-1.218-3.043c-0.211-2.152,2.416-4.579,0.123-6.215 c-0.3-1.733-1.491-2.572-1.952-4.146c0.396-0.732,0.577-2.449,0.123-3.286c-1.26,0.922-1.987-0.913-3.046-1.099 c-1.263-0.219-2.394,0.887-3.654,1.219c-0.823-0.056-1.053-0.647-1.829-0.609c-0.813,0.042-1.279,0.835-2.193,0.73 c-2.092-0.239-3.051-2.701-3.896-4.631c-0.594-0.339-1.236-0.632-1.585-1.217c0.144-0.754-0.183-1.039-0.366-1.461 c0.678-1.071,1.169-3.458,0.123-4.511c1.254-1.749,1.833-4.173,4.02-4.994c1.139-1.057,0.89-3.5,2.683-3.899 c0-0.688,0.368-1.012,0.731-1.341c-0.401-0.533-1.459-0.411-2.193-0.608c-0.277-1.434,0.604-2.904-0.122-4.387 c1.004-1.069,2.913,0.15,4.631-0.122c0.716-1.962-0.866-2.606-1.95-3.169c0-0.323-0.048-0.694,0.121-0.853 c1.442,0.246,1.482-0.861,2.682-0.243c0.039-0.406-0.599-0.132-0.365-0.73c-0.749,0.228-2.186,0.412-3.047,0.121 c0.156-0.414,0.677-0.462,0.73-0.975c-0.439,0.073-0.688-0.043-0.73-0.365c0.145-0.141,0.431-0.138,0.73-0.123 c0.085-0.45-0.207-0.521-0.121-0.974c0.143-0.141,0.43-0.139,0.729-0.122c0.12-0.487-0.361-0.367-0.242-0.854 c-0.446-0.038-0.679,0.138-0.976,0.245c0,0.367,0,0.731,0,1.098c-0.334,0.52-0.871,0.835-1.584,0.975 c-0.235-0.373-0.795-0.424-1.099-0.731c0.038-0.605-0.018-1.117-0.12-1.585c0.963,0.135,1.163-0.534,1.948-0.852 c0.029,0.159,0.688,0.483,0.61,0c0.115-0.441-0.549-0.103-0.487-0.486c0.479-0.456,0.386-1.482,0.974-1.829 c0.383,0.025,0.896-0.083,1.098,0.123c0.052,0.293-0.223,0.265-0.122,0.608c0.465-0.058,0.76,0.052,0.854,0.366 c0.03,0.478-0.439,0.453-0.365,0.975c0.637-0.012,0.58,0.397,0.486,0.854c0.6,0.255,1.08,0.626,1.098,1.462 c0.224,0.185,0.685,0.13,0.854,0.365c0.423,0.382-0.374,0.644,0,0.976c0.986,0.093,1.053-0.734,1.463-1.219 c0.651-0.232,1.54-0.2,2.07-0.244c-0.555-1.08-0.773-2.836,0.854-2.925c0.364,0.913,0.319,1.318,0,2.192 c0.317,0.448,1.237,0.402,0.854,1.219c1.244,1.119,2.553-0.046,4.021,0.487c0.391-0.665,0.168-1.943,0.975-2.192 c0.604-0.078,0.402,0.652,0.975,0.609c-0.007-0.849-0.92-1.013-0.486-1.95c-1.222-0.403-1.971-1.277-3.168-1.706 c0.024,0.583,0.756,0.462,0.609,1.219c-0.878,0.341-0.832,1.604-0.977,2.681c-0.525,0.278-2.196,0.259-2.438-0.487 c-0.177-0.747,0.755-0.383,0.73-0.976c-0.483-0.571-1.017-1.097-1.217-1.95c-0.912,0.208-1.117,0.873-1.951,0.732 c-1.274-0.219-1.724-2.975-0.852-3.899c-6.5-2.346-16.319-3.153-24.127-1.462c-0.358,0.454-0.431,1.194-0.974,1.462 c0.378,1.154-0.899,1.989-1.829,2.561c-0.301-0.106-0.36-0.452-0.609-0.61c-0.4,0.004-0.606,0.206-1.096,0.122 c-0.359-0.385-0.35-0.595-0.124-1.096c-0.53-0.038-0.578-0.56-0.973-0.731c-3.12,0.904-5.674,2.368-8.286,3.776 c-0.254,0.478-0.522,0.94-0.731,1.463c0.162,0.123,0.454,0.115,0.489,0.363c1.049-0.167,0.849-1.586,1.948-1.704 c0.386,1.076,0.696,2.229,0.977,3.412c0.303,0.103,0.651,0.159,1.095,0.121c-0.104,0.794,0.789,0.593,0.853,1.219 c-0.289,0.969-0.857,1.66-1.948,1.827c-0.104,1.074-1.438,0.92-2.193,1.341c0.203,0.281,1.09-0.116,0.971,0.487 c-0.688,0.493-1.721-0.105-1.824,0.976c0.288,0.237,1.129-0.075,1.216,0.365c0.033,0.396-0.472,0.258-0.486,0.609 c0.393,0.054,0.706,0.186,0.607,0.731c-0.738,0.599-1.777,0.901-2.559,1.461c-0.346-0.259-0.074-0.777-0.241-0.976 c-0.545,0.595-1.605,0.673-1.952,1.463c-0.156,0.483,0.401,0.249,0.245,0.73c-0.83,0.227-1.048,1.064-1.828,1.34 c-0.397,0.781-0.615,1.743-1.341,2.194c0.038,0.286,0.193,0.458,0.121,0.853c-0.378,1.27-1.648,1.273-2.313,2.315 c-0.914,1.428,0.646,3.534-0.731,4.751c-0.403-0.733-0.611-1.662-0.731-2.68c-0.795,0.203-0.896-0.192-1.828,0 c0.034,0.48-0.047,0.846-0.366,0.976c-0.5-0.028-0.518-0.539-1.097-0.489c-2.126,0.69-2.093,4.026-1.341,6.095 c1.882,0.397,1.235-2.963,3.168-1.705c-0.186,1.07-0.619,1.896-0.851,2.922c3.127-0.972,1.019,2.712,2.315,3.776 c0.763-0.542,1.745-0.223,2.194,0c0.286-1.172,1.305-1.616,2.314-2.069c0.228,0.534,0.168,0.134,0.731,0.122 c0.166,0.482,0.641,0.657,0.853,1.097c0.662-0.037,0.885-0.179,1.34,0.123c0.261-0.43,0.799-0.58,1.584-0.488 c0.149,1.228,1.893,1.705,2.436,2.924c2.823-0.224,3.726,1.474,4.145,3.655c1.111,0.573,2.609,0.397,3.167,1.707 c2.227-0.259,5.552,1.295,6.093,2.803c0.493,1.372-1.85,3.787-2.314,4.142c0.229,1.951-0.222,5.403-1.344,5.852 c-0.424,0.169-0.912-0.066-1.46,0c-0.62,0.598-1.605,0.831-2.072,1.584c-0.097,0.622,0.169,0.885,0.123,1.461 c-1.022,1.253-1.491,3.059-2.924,3.898c-0.18-0.188-0.626-0.106-0.975-0.121c0.87,1.328-0.146,2.689-1.952,2.07 c0.003,0.402,0.192,0.795,0,1.221c-0.443,0.037-0.792-0.021-1.094-0.123c-0.118,0.685,0.902,0.23,0.853,0.854 c-0.015,0.313-0.455,0.195-0.611,0.364c0.014,0.353-0.064,0.799,0.122,0.976c-0.185,0.221-0.834-0.021-0.731,0.488 c0.278,0.371,0.908,0.391,0.975,0.975c-0.312,0.58-0.625,1.162-0.975,1.707c0.607,1.262,1.606,2.129,2.681,2.92 c-1.005,0.35-2.632-0.076-3.167-0.851c0.403,0.058,0.485-1.294,0.364-0.976C26.446,81.621,26.736,82.238,26.355,82.182z M19.409,16.749c0.177,0.066,0.628-0.143,0.608,0.123c-0.156,0.721-0.428,1.546,0,2.193c0.969-0.054,0.911-1.413,0.608-2.071 c0.696-0.729,1.7-1.143,1.706-2.56C21.233,14.605,20.131,15.801,19.409,16.749z M62.785,16.505 c0.295,0.092,0.497-0.789,0.122-0.608C63.006,16.239,62.735,16.212,62.785,16.505z M25.743,19.064 c0.001,0.183-0.451,0.499-0.122,0.609c0.333-0.316,1.152-0.147,1.218-0.73C26.34,18.846,26.215,19.13,25.743,19.064z M86.547,24.792c-0.605,1.696,0.106,3.123,1.947,3.045c-0.021-1.074-0.502-1.69-0.974-2.314c-0.187-2.372-1.793-3.322-2.927-4.751 C84.664,22.245,85.588,23.813,86.547,24.792z M77.895,22.841c0.306,0.224,0.502,0.555,0.73,0.854 c2.648-0.732,3.897,0.914,6.092,0.853c-0.316-1.43-2.094-1.398-2.559-2.682c0.178-0.065,0.629,0.144,0.609-0.121 c-0.215-0.03-0.278-0.209-0.244-0.487c-0.245,0.203-0.904-0.011-1.096,0.244c0.228,0.137,0.586,0.145,0.486,0.609 c-0.506-0.104-1.06-0.392-1.584-0.123c-0.156-0.317-0.267-0.367-0.123-0.73c-0.662,0.136-0.641-0.415-1.218-0.366 C78.549,21.466,78.293,22.224,77.895,22.841z M26.963,21.379c-0.229-0.097-0.446-0.203-0.73-0.243 C26.075,21.545,26.849,21.64,26.963,21.379z M67.659,21.136c-0.873,0.473-1.757,0.781-2.923,0.366 c-0.284,1.505-2.095,1.481-1.829,3.534c-0.836,0.849-1.95,1.254-3.534,1.34c1.266,1.091,2.586,0.052,3.9-0.244 c1.406-0.314,2.747-0.178,4.266,0c0.305-0.102,0.478-0.334,0.853-0.366c0.268,0.221,0.62,0.354,0.976,0.487 c-0.322,0.654,0.537,0.835,0.242,1.827c1.859,0.74,2.956,2.245,4.874,2.925c0.069-0.557-0.215-0.759-0.122-1.34 c0.322-0.41,1.348-0.114,1.706-0.487c1.265,1.562,3.595,1.757,5.972,1.95c0.215-1.219,0.113-2.138,0.243-3.291 c-0.567-0.038-0.813,0.243-1.341,0.243c-0.331-0.074-0.303-0.508-0.73-0.486c-1.398,0.427-2.229-0.667-2.803-1.462 c0.02-0.581,0.092-2.068-0.854-2.07c-0.012,1.249,0.177,1.587,0.486,2.559c-0.433-0.19-0.072,0.415-0.365,0.365 c-0.162,0.019-0.365-0.496-0.487-0.121c0.198-0.087,0.198,0.574,0,0.487c-1.644-0.67-2.384-2.244-2.681-4.265 c-0.51-0.271-0.722-0.589-1.461-0.366c0.179,0.878,1.377,0.736,1.34,1.828c-0.379,0.344-0.566-0.242-0.975-0.244 c-0.021,0.387,0.324,0.406,0.243,0.854c-0.39,0.058-0.653,0.241-0.731,0.609c-0.233,0.235-0.489-0.13-0.852-0.122 c0.073,0.292,0.176,0.556,0.12,0.975c-0.285-0.002-0.358,0.209-0.731,0.123c-0.404-0.472-1.201-1.122-0.973-1.829 c0.643,0.43,1.2,0.232,1.826,0.123C70.868,22.963,68.651,22.661,67.659,21.136z M16.362,22.598 c0.491-0.023,0.499-0.016,0.365,0.365c0.385,0.061,0.43-0.219,0.853-0.122c0.027-0.514-0.229-0.746-0.609-0.854 C16.87,22.295,16.543,22.373,16.362,22.598z M15.998,23.085c0.017-0.145,0.216-0.274,0-0.366 C15.979,22.864,15.779,22.997,15.998,23.085z M18.312,24.303c0.083-0.354,0.202-1.077,0.732-0.608 c0.026-0.23-0.138-0.271-0.123-0.486c-0.539-0.059-0.605,0.167-0.975,0C18.014,23.626,18.186,23.941,18.312,24.303z M88.131,25.522 c-0.052-0.231-0.043-0.524-0.367-0.486C87.729,25.354,87.809,25.56,88.131,25.522z M88.131,35.148c0.285-0.038,0.502-0.239,0.73,0 c0.018,0.592,0.088,1.129,0.364,1.463c1.042,0.063,1.198-0.752,1.584-1.342c-0.47,0.02-0.562,0.411-1.095,0.364 c-1.285-0.38-1.006-2.323-2.315-2.679C87.432,33.896,87.935,34.368,88.131,35.148z M20.749,44.285 c0.391,0.05,0.695-0.517,0.246-0.609C20.939,43.911,20.73,43.985,20.749,44.285z"/>
+ <g>
+ <path d="M50,4.571c25.088,0,45.43,20.338,45.43,45.428c0,25.089-20.342,45.43-45.43,45.43S4.57,75.088,4.57,49.999 C4.57,24.909,24.91,4.571,50,4.571 M50,2.571C23.847,2.571,2.57,23.847,2.57,49.999c0,26.151,21.276,47.43,47.429,47.43 c26.153,0,47.43-21.276,47.43-47.43C97.428,23.847,76.151,2.571,50,2.571L50,2.571z"/>
+ </g>
+</g>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_1103.svg b/images/noun_project_1103.svg
new file mode 100644
index 0000000..2e522b0
--- /dev/null
+++ b/images/noun_project_1103.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<path d="M50,0c-20.94,0-36.407,13.957-36.407,34.899C13.592,55.84,38.673,100,50,100c11.327,0,36.409-44.16,36.409-65.101 C86.408,13.957,70.941,0,50,0z M45.053,71.292c-0.917,0.918-8.713-1.375-14.933-7.596c-6.22-6.218-8.921-13.604-7.593-14.931 c1.327-1.329,9.702,0.384,15.923,6.604C44.669,61.589,45.97,70.372,45.053,71.292z M54.945,71.292 c-0.916-0.92,0.385-9.703,6.605-15.923c6.219-6.22,14.594-7.933,15.92-6.604c1.33,1.327-1.371,8.713-7.592,14.931 C63.66,69.917,55.863,72.21,54.945,71.292z"/>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_1164.svg b/images/noun_project_1164.svg
new file mode 100644
index 0000000..6658097
--- /dev/null
+++ b/images/noun_project_1164.svg
@@ -0,0 +1,20 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<path d="M50,89.836c-23.389,0-42.418-19.027-42.418-42.417C7.582,24.029,26.611,5,50,5c23.389,0,42.418,19.029,42.418,42.419 C92.418,70.809,73.389,89.836,50,89.836z M50,9.912c-20.681,0-37.506,16.826-37.506,37.508c0,20.681,16.826,37.505,37.506,37.505 s37.507-16.824,37.507-37.505C87.507,26.737,70.681,9.912,50,9.912z"/>
+<path d="M50.001,49.875c-0.141,0-0.283-0.011-0.427-0.037c-1.173-0.206-2.03-1.226-2.03-2.419V29.442c0-1.355,1.1-2.456,2.456-2.456 c1.355,0,2.456,1.1,2.456,2.456v4.003l5.431-14.974c0.464-1.274,1.872-1.937,3.146-1.471c1.274,0.462,1.934,1.871,1.471,3.146 l-10.195,28.11C51.952,49.241,51.019,49.875,50.001,49.875z"/>
+<circle cx="49.999" cy="12.956" r="1.617"/>
+<path d="M50,14.778c-1.006,0-1.823-0.817-1.823-1.823c0-1.005,0.817-1.823,1.823-1.823c1.004,0,1.821,0.817,1.821,1.823 C51.821,13.961,51.004,14.778,50,14.778z M50,11.542c-0.779,0-1.414,0.635-1.414,1.413c0,0.779,0.635,1.414,1.414,1.414 s1.412-0.635,1.412-1.414C51.412,12.177,50.779,11.542,50,11.542z"/>
+<circle cx="34.343" cy="20.301" r="1.47"/>
+<path d="M23.617,30.488c0.703,0.409,0.945,1.305,0.537,2.008c-0.405,0.704-1.305,0.947-2.007,0.538 c-0.703-0.403-0.945-1.305-0.539-2.008C22.016,30.325,22.913,30.085,23.617,30.488z"/>
+<circle cx="15.536" cy="47.42" r="1.618"/>
+<path d="M15.536,49.242c-1.006,0-1.823-0.817-1.823-1.823c0.001-1,0.819-1.819,1.823-1.822c1.006,0,1.823,0.817,1.823,1.822 C17.359,48.425,16.542,49.242,15.536,49.242z M15.536,46.006c-0.777,0.003-1.412,0.636-1.414,1.413c0,0.779,0.635,1.414,1.414,1.414 s1.413-0.635,1.413-1.414C16.949,46.641,16.315,46.006,15.536,46.006z"/>
+<path d="M22.147,61.803c0.705-0.406,1.602-0.167,2.007,0.537c0.408,0.703,0.166,1.602-0.537,2.008 c-0.704,0.406-1.604,0.163-2.008-0.537C21.202,63.104,21.447,62.209,22.147,61.803z"/>
+<path d="M33.07,73.803c0.408-0.706,1.305-0.946,2.008-0.537c0.704,0.403,0.945,1.302,0.538,2.005 c-0.405,0.704-1.307,0.947-2.007,0.537C32.904,75.402,32.667,74.507,33.07,73.803z"/>
+<path d="M48.382,81.884c0-0.896,0.725-1.618,1.618-1.618c0.892-0.003,1.618,0.723,1.618,1.618c0,0.892-0.728,1.618-1.618,1.618 C49.104,83.498,48.385,82.775,48.382,81.884z"/>
+<path d="M50,83.706L50,83.706c-1.002-0.003-1.819-0.82-1.823-1.822c0-1.006,0.817-1.823,1.823-1.823 c1.007,0,1.822,0.817,1.822,1.823C51.822,82.889,51.006,83.706,50,83.706z M50.006,80.47c-0.785,0-1.42,0.635-1.42,1.414 c0.003,0.775,0.637,1.41,1.414,1.413c0.78,0,1.413-0.635,1.413-1.413C51.413,81.104,50.782,80.47,50.006,80.47z"/>
+<path d="M64.385,75.271c-0.408-0.703-0.167-1.602,0.537-2.005c0.702-0.409,1.601-0.169,2.008,0.537 c0.406,0.7,0.163,1.603-0.539,2.005C65.686,76.214,64.791,75.971,64.385,75.271z"/>
+<path d="M76.384,64.348c-0.704-0.406-0.945-1.305-0.537-2.008c0.402-0.704,1.301-0.943,2.006-0.537 c0.704,0.402,0.945,1.308,0.539,2.008C77.98,64.511,77.087,64.751,76.384,64.348z"/>
+<path d="M84.464,49.038c-0.896-0.003-1.618-0.726-1.618-1.618c-0.001-0.892,0.723-1.618,1.618-1.618 c0.893-0.003,1.618,0.726,1.618,1.618C86.077,48.315,85.356,49.034,84.464,49.038z"/>
+<path d="M84.464,49.242L84.464,49.242c-1.006-0.003-1.822-0.822-1.822-1.823c-0.002-0.486,0.188-0.943,0.532-1.287 c0.344-0.345,0.803-0.535,1.29-0.535c1.007,0,1.822,0.817,1.822,1.822C86.282,48.422,85.463,49.239,84.464,49.242z M84.471,46.006 c-0.386,0-0.74,0.147-1.008,0.416c-0.267,0.267-0.412,0.621-0.412,0.998c0,0.777,0.635,1.41,1.413,1.414 c0.775-0.003,1.408-0.638,1.413-1.415C85.877,46.641,85.246,46.006,84.471,46.006z"/>
+<path d="M77.853,33.034c-0.705,0.409-1.604,0.166-2.006-0.538c-0.408-0.7-0.168-1.599,0.537-2.008 c0.701-0.406,1.604-0.163,2.008,0.537C78.795,31.732,78.553,32.627,77.853,33.034z"/>
+<path d="M66.93,21.036c-0.407,0.704-1.308,0.943-2.008,0.537c-0.704-0.403-0.945-1.305-0.537-2.008 c0.404-0.703,1.306-0.943,2.006-0.537C67.095,19.437,67.333,20.333,66.93,21.036z"/>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_1209.svg b/images/noun_project_1209.svg
new file mode 100644
index 0000000..8358c6c
--- /dev/null
+++ b/images/noun_project_1209.svg
@@ -0,0 +1,20 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="75.422px" viewBox="0 0 100 75.422" enable-background="new 0 0 100 75.422" xml:space="preserve">
+<g>
+ <path fill="#000000" d="M93,7v61.422H7V7H93 M100,0H0v75.422h100V0L100,0z"/>
+</g>
+<g>
+ <rect x="13.993" y="22.711" fill="#000000" width="40.505" height="4"/>
+</g>
+<g>
+ <rect x="13.993" y="50.211" fill="#000000" width="40.505" height="4"/>
+</g>
+<g>
+ <rect x="13.993" y="40.711" fill="#000000" width="40.505" height="4"/>
+</g>
+<g>
+ <rect x="13.993" y="31.961" fill="#000000" width="40.505" height="4"/>
+</g>
+<g>
+ <path fill="#000000" d="M82.75,17.211v10h-10v-10H82.75 M85.75,14.211h-16v16h16V14.211L85.75,14.211z"/>
+</g>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_1223.svg b/images/noun_project_1223.svg
new file mode 100644
index 0000000..d384c9d
--- /dev/null
+++ b/images/noun_project_1223.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100.0px" height="100px" viewBox="0 0 102 102" enable-background="new 0 0 102 102" xml:space="preserve">
+<path d="M101,51l-34.657-7.632l13.645-21.356L58.631,35.656L51,1l-7.632,34.656L22.012,22.012l13.644,21.356L1,51l34.656,7.631 L22.012,79.987l21.356-13.645L51,101l7.631-34.657l21.356,13.645L66.343,58.631L101,51L101,51z M72.942,29.058L72.942,29.058 l-8.829,13.819l-4.09-0.901L72.942,29.058L72.942,29.058z M29.057,29.057l13.82,8.829l-0.901,4.09L29.057,29.057L29.057,29.057z M29.058,72.942l8.828-13.82l4.09,0.901L29.058,72.942L29.058,72.942z M58.225,58.225L58.225,58.225L51,51v40.029l-7.225-32.805 L51,51H10.971l32.804-7.225L51,51V10.971l7.225,32.804L51,51h40.029 M72.943,72.943l-13.821-8.83l0.901-4.09L72.943,72.943 L72.943,72.943z"/>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_1253.svg b/images/noun_project_1253.svg
new file mode 100644
index 0000000..47eb5dd
--- /dev/null
+++ b/images/noun_project_1253.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<g>
+ <path d="M66.633,14.192c0.004-0.093,0.043-0.163,0.043-0.252V5.233c0-2.077-2.215-3.758-4.252-3.758 c-2.047,0-4.428,1.681-4.428,3.758v8.352H36.894c-6.366,0-11.531,5.161-11.531,11.525V87c0,6.363,5.165,11.525,11.531,11.525 h26.214c6.363,0,11.529-5.162,11.529-11.525V25.11C74.637,19.977,71.264,15.686,66.633,14.192z M39.806,83h-4.25 c-1.249,0-2.26-1.013-2.26-2.264c0-1.256,1.011-2.271,2.26-2.271h4.25c1.253,0,2.269,1.015,2.269,2.271 C42.075,81.987,41.059,83,39.806,83z M35.556,69.467h4.25c1.253,0,2.269,1.013,2.269,2.265c0,1.25-1.016,2.26-2.269,2.26h-4.25 c-1.249,0-2.26-1.01-2.26-2.26C33.296,70.48,34.308,69.467,35.556,69.467z M33.296,62.851c0-1.255,1.011-2.264,2.26-2.264h4.25 c1.253,0,2.269,1.009,2.269,2.264c0,1.246-1.016,2.26-2.269,2.26h-4.25C34.308,65.111,33.296,64.097,33.296,62.851z M57.584,92.079 H43.786c-0.946,0-1.71-0.763-1.71-1.706c0-0.949,0.764-1.711,1.71-1.711h13.799c0.945,0,1.713,0.762,1.713,1.711 C59.297,91.316,58.53,92.079,57.584,92.079z M48.16,69.467h4.247c1.252,0,2.266,1.013,2.266,2.265c0,1.25-1.014,2.26-2.266,2.26 H48.16c-1.255,0-2.27-1.01-2.27-2.26C45.89,70.48,46.904,69.467,48.16,69.467z M45.89,62.851c0-1.255,1.015-2.264,2.27-2.264h4.247 c1.252,0,2.266,1.009,2.266,2.264c0,1.246-1.014,2.26-2.266,2.26H48.16C46.904,65.111,45.89,64.097,45.89,62.851z M48.16,78.465 h4.247c1.252,0,2.266,1.015,2.266,2.271c0,1.251-1.014,2.264-2.266,2.264H48.16c-1.255,0-2.27-1.013-2.27-2.264 C45.89,79.48,46.904,78.465,48.16,78.465z M65.11,83h-4.248c-1.252,0-2.262-1.013-2.262-2.264c0-1.256,1.01-2.271,2.262-2.271 h4.248c1.262,0,2.27,1.015,2.27,2.271C67.379,81.987,66.372,83,65.11,83z M65.11,73.992h-4.248c-1.252,0-2.262-1.01-2.262-2.26 c0-1.252,1.01-2.265,2.262-2.265h4.248c1.262,0,2.27,1.013,2.27,2.265C67.379,72.982,66.372,73.992,65.11,73.992z M65.11,65.111 h-4.248c-1.252,0-2.262-1.014-2.262-2.26c0-1.255,1.01-2.264,2.262-2.264h4.248c1.262,0,2.27,1.009,2.27,2.264 C67.379,64.097,66.372,65.111,65.11,65.111z M68.684,48.977c0,3.283-2.654,5.943-5.943,5.943H37.826 c-3.281,0-5.948-2.66-5.948-5.943V25.229c0-3.288,2.667-5.949,5.948-5.949h24.915c3.289,0,5.943,2.661,5.943,5.949V48.977z"/>
+</g>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_128.svg b/images/noun_project_128.svg
new file mode 100644
index 0000000..fd58691
--- /dev/null
+++ b/images/noun_project_128.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="76.207px" height="100px" viewBox="0 0 76.207 100" enable-background="new 0 0 76.207 100" xml:space="preserve">
+<path d="M50,100C22.43,100,0,77.57,0,50S22.43,0,50,0c4.801,0,9.575,0.691,14.188,2.054l12.019,3.552L64.188,9.158
+ C46.228,14.465,33.684,31.26,33.684,50c0,18.739,12.544,35.533,30.503,40.84l12.015,3.549l-12.014,3.555
+ C59.574,99.308,54.801,100,50,100L50,100z M50,7.407C26.514,7.407,7.408,26.515,7.408,50S26.514,92.593,50,92.593
+ c0.043,0,0.086,0,0.13,0C35.642,83.635,26.277,67.543,26.277,50c0-17.542,9.365-33.633,23.851-42.593
+ C50.084,7.407,50.042,7.407,50,7.407L50,7.407z"/>
+</svg>
diff --git a/images/noun_project_1294.svg b/images/noun_project_1294.svg
new file mode 100644
index 0000000..3b9c981
--- /dev/null
+++ b/images/noun_project_1294.svg
@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<path d="M62.475,35.858c-1.089-1.089-2.855-1.089-3.944,0L4.19,90.197c-1.089,1.09-1.089,2.855,0,3.944 c1.089,1.09,2.854,1.09,3.944,0l6.872-6.872l7.57-7.57l39.897-39.897C63.564,38.713,63.564,36.947,62.475,35.858z M59.321,36.506 c0.691-0.692,1.813-0.691,2.505,0c0.691,0.691,0.692,1.813,0,2.505l-4.808,4.808c-0.691,0.691-1.813,0.691-2.505,0 s-0.692-1.813-0.001-2.504L59.321,36.506z M7.609,93.229c-0.691,0.69-1.813,0.69-2.504-0.001s-0.692-1.813-0.001-2.505l4.809-4.809 c0.111-0.111,0.237-0.198,0.366-0.273c0.074,0.595,0.328,1.172,0.785,1.629c0.457,0.456,1.033,0.709,1.628,0.783 c-0.076,0.13-0.163,0.255-0.274,0.366L7.609,93.229z"/>
+<polygon points="62.535,24.471 70.609,30.337 60.629,30.337 68.704,24.471 65.619,33.963 "/>
+<polyline points="58.484,23.954 54.628,12.083 64.726,19.418 52.244,19.418 62.342,12.083 58.484,23.954 "/>
+<polyline points="72.276,49.441 68.884,38.999 77.766,45.452 66.787,45.452 75.668,38.999 72.276,49.441 "/>
+<polyline points="89.796,40.56 87.317,32.931 93.807,37.646 85.785,37.646 92.275,32.931 89.796,40.56 "/>
+<polyline points="70.944,13.791 69.124,8.187 73.891,11.65 67.999,11.65 72.767,8.187 70.944,13.791 "/>
+<polyline points="85.785,26.329 82.199,15.291 91.588,22.112 79.982,22.112 89.372,15.291 85.785,26.329 "/>
+<polyline points="76.836,32.931 75.016,27.327 79.782,30.79 73.891,30.79 78.658,27.327 76.836,32.931 "/>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_1320.svg b/images/noun_project_1320.svg
new file mode 100644
index 0000000..203ab06
--- /dev/null
+++ b/images/noun_project_1320.svg
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="150"
+ height="150"
+ viewBox="0 0 1188 1188"
+ id="Layer_1"
+ xml:space="preserve"><metadata
+ id="metadata15"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs13" />
+<path
+ d="m 1153.5879,981.38162 c 47.1205,47.12048 45.2357,122.51318 -1.8848,171.50898 -49.0053,47.1205 -124.3886,47.1205 -171.509,-1.8754 L 386.48584,542.21901 C 335.59575,493.21374 305.42923,478.1352 263.97266,491.32892 222.50666,506.40747 164.0773,506.40747 109.427,470.59592 -7.4317188,395.2032 0.09812944,253.84184 0.09812944,253.84184 L 9.5222197,238.7633 c 0,0 105.5498103,67.85345 118.7435403,75.39272 16.97279,13.19373 75.39272,39.58118 128.17705,-41.46599 54.65973,-81.04718 9.42409,-131.93727 -5.66388,-141.36136 C 237.59463,123.7894 132.0354,54.051129 132.0354,54.051129 l 9.42409,-15.078545 c 0,0 122.51317,-62.198996 237.47765,5.654454 0,3.769637 28.27227,20.732999 39.58118,30.15709 73.5079,65.968632 73.5079,139.476542 60.31418,199.790712 -11.30891,54.65973 0,73.50791 43.35081,120.62836 l 631.40459,586.17842 z m -43.3414,39.57178 c -24.512,-24.50266 -64.0838,-24.50266 -90.4806,0 -22.60844,24.5026 -22.60844,65.9686 0,88.5864 26.3968,24.5027 65.9686,28.2723 90.4806,1.8848 24.4933,-22.6083 24.4933,-65.9686 0,-90.4712 z"
+ id="path3"
+ style="fill:#000000" />
+
+</svg> \ No newline at end of file
diff --git a/images/noun_project_1381.svg b/images/noun_project_1381.svg
new file mode 100644
index 0000000..5ba09c5
--- /dev/null
+++ b/images/noun_project_1381.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" width="89px" height="99px" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" viewBox="0 0 11.26 12.55">
+ <defs>
+ <style type="text/css">
+
+ .fil0 {fill:#0A0B0C}
+
+ </style>
+ </defs>
+ <g id="Layer_x0020_1">
+ <metadata id="CorelCorpID_0Corel-Layer"/>
+ <path class="fil0" d="M0.0105949 3.95547l0.124303 0 5.15538 6.38289c-0.014027,-0.0282033 -0.024025,-0.0586449 -0.0293971,-0.0904296l-4.49044 -6.3144 0.124154 0 4.37852 6.15697c0.00268603,-0.00790886 0.0056705,-0.0158177 0.0088042,-0.0234281l-3.27009 -6.11787 0.123856 0 3.21458 6.01446c0.0107441,-0.0110426 0.0222343,-0.021339 0.0343215,-0.0308893l-1.33973 -5.99924 0.124005 0 1.32645 5.94089c0.0334261,-0.0104457 0.0690906,-0.0161162 0.106098,-0.0161162 0.0452148,0 0.0883404,0.00835653 0.127735,0.0237266l1.32839 -5.9485 0.124154 0 -1.34346 6.0161c0.018653,0.0170115 0.035366,0.0361121 0.0496915,0.0568542l3.23741 -6.05729 0.124303 0 -3.30784 6.18846 0.00238758 0.0158177 4.42269 -6.21994 0.123856 0 -4.69264 6.60046 0.0110426 0.00298447 5.32176 -6.58151 0.124005 0 -5.33893 6.60315c0.0177576,0.00387982 0.0349183,0.00835653 0.0498407,0.0138778l0.00999799 -0.000149224 0 0c0.0829684,0 0.150567,0.0459609 0.150567,0.102069l0 0.644945c0,0.0562573 -0.0675983,0.102218 -0.150567,0.102218l0 0 0 1.12828 -0.229805 0 -0.00104457 -0.939363 -0.236818 0 0 0.939363 -0.261141 0 0 -1.12918c-0.0056705,0.000447671 -0.011341,0.000895342 -0.0171607,0.000895342l0 0c-0.0823715,0 -0.14997,-0.0459609 -0.14997,-0.102218l0 -0.644945c0,-0.0561081 0.0675983,-0.102069 0.14997,-0.102069l0 0c0.00835653,0 0.0162654,0.000447671 0.0241742,0.00119379 0.0262634,-0.0102964 0.0559589,-0.0152208 0.0856544,-0.0202944l-5.32908 -6.59778zm5.37175 6.49705l0.0587941 0.0728212c0.00417826,-0.00223836 0.00805808,-0.00462593 0.0119379,-0.00716274l-0.0243235 -0.0343215c-0.0162654,-0.00925187 -0.0317846,-0.0196975 -0.0464086,-0.031337zm-5.38235 -6.5451c0.300238,-0.127139 0.437673,-0.136838 0.749849,0 0.0158177,-1.57073 0.902654,-2.53949 1.89693,-3.21667 -1.32212,0.481694 -2.64678,1.89753 -2.64678,3.21667zm7.06097 -0.0473039c-0.296358,-0.305909 -2.4031,-0.438867 -2.88584,0.0196975 -0.0317846,-2.34938 0.451849,-2.78213 1.13022,-3.54287 0.0202944,-0.00969954 0.623307,0.0185037 0.621069,-0.0131317 1.04128,0.864154 1.17409,1.97199 1.13455,3.5363zm-6.14951 -0.021339c0.276362,-0.138927 0.791184,-0.152656 1.08336,0.0361121 0.0159669,-1.57103 0.99383,-3.36962 2.48831,-3.68926 -0.019996,-0.00999799 -0.035366,-0.031337 -0.0331277,-0.062674 -2.19329,0.260097 -3.57838,2.15151 -3.53854,3.71582zm1.22095 0.0410365c0.296358,-0.258157 1.46627,-0.287853 1.90156,0 -0.103412,-2.10346 0.430212,-2.98806 1.14231,-3.55003 -0.0201452,-0.0101472 -0.651063,-0.0708813 -0.648675,-0.102666 -1.41464,0.379476 -2.43488,2.08839 -2.39519,3.6527zm9.12772 -0.00417826c-0.300238,-0.126989 -0.437673,-0.136987 -0.750148,0 -0.01537,-1.57073 -0.902356,-2.53919 -1.89678,-3.21652 1.32212,0.481545 2.64693,1.89768 2.64693,3.21652zm-0.921158 -0.0368583c-0.276661,-0.138927 -0.791035,-0.152656 -1.08336,0.0361121 -0.0156685,-1.57103 -1.02144,-3.19473 -2.4886,-3.68926 0.0204436,-0.00999799 0.0361121,-0.031337 0.0335753,-0.062674 2.19329,0.260097 3.57824,2.15151 3.53839,3.71582zm-1.23304 0.0410365c-0.296358,-0.258157 -1.46612,-0.287853 -1.90156,0 0.103561,-2.10346 -0.429764,-2.98806 -1.14246,-3.55003 0.0205929,-0.0101472 0.567945,-0.0461101 0.565558,-0.0772979 1.41509,0.379177 2.51815,2.06302 2.47846,3.62733zm-3.50049 -3.87982c0.610026,0 1.1047,0.0568542 1.1047,0.126989 0,0.0701351 -0.494677,0.127288 -1.1047,0.127288 -0.609877,0 -1.1047,-0.0571527 -1.1047,-0.127288 0,-0.0701351 0.494826,-0.126989 1.1047,-0.126989z"/>
+ </g>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_1383.svg b/images/noun_project_1383.svg
new file mode 100644
index 0000000..9ae10f1
--- /dev/null
+++ b/images/noun_project_1383.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Livello_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<path fill="#000000" d="M94.04,50.244c-0.917-0.143-2.56-1.042-4.345-2.364c-2.716-1.99-5.878-4.854-8.876-7.252 c-1.507-1.202-2.971-2.284-4.363-3.104c-1.403-0.803-2.726-1.39-4.145-1.406c-0.097,0.003-0.192,0.005-0.286,0.012 c-0.712,0.042-1.381,0.229-2.028,0.456c-0.886-1.016-1.822-1.978-2.855-2.802c0.002-0.108-0.036-0.195-0.036-0.308 c1.367-1.631,2.715-3.532,3.669-5.724c1.527-3.504,2.386-7.988,3.37-11.846c0.479-1.928,0.986-3.694,1.562-5.046 c0.583-1.356,1.25-2.233,1.766-2.532c0.667-0.401,0.88-1.265,0.471-1.928c-0.4-0.657-1.261-0.871-1.927-0.471 c-1.369,0.847-2.189,2.233-2.881,3.822c-1.024,2.401-1.716,5.436-2.453,8.483c-0.719,3.054-1.476,6.108-2.479,8.395 c-0.482,1.104-1.104,2.148-1.778,3.129c-0.842-2.608-2.374-4.718-4.487-6.161c-0.806-0.553-1.684-1.025-2.604-1.419 c0-0.087,0.015-0.177,0.015-0.265c-0.006-1.07-0.417-1.997-1.04-2.787c1.489-1.496,2.881-3.291,4.199-4.837 c0.803-0.954,1.585-1.802,2.258-2.375c0.662-0.59,1.228-0.831,1.428-0.833c0.77-0.073,1.342-0.747,1.272-1.522 c-0.068-0.774-0.755-1.343-1.527-1.273c-1.198,0.128-2.118,0.756-3.007,1.497c-2.33,2.033-4.666,5.458-6.854,7.571 c-1.669-0.9-3.761-1.432-6.078-1.432c-2.312,0-4.412,0.532-6.089,1.436c-1.366-1.331-2.84-3.176-4.271-4.88 c-0.849-0.998-1.688-1.937-2.572-2.695c-0.875-0.741-1.801-1.369-3.004-1.493c-0.769-0.073-1.456,0.494-1.525,1.265 c-0.07,0.777,0.503,1.454,1.271,1.529c0.201-0.004,0.762,0.242,1.438,0.831c1.814,1.517,4.055,4.761,6.475,7.192 c-0.632,0.794-1.062,1.726-1.072,2.807c0,0.088,0.02,0.182,0.02,0.268c-0.924,0.391-1.797,0.866-2.604,1.412 c-2.104,1.447-3.643,3.557-4.485,6.158c-0.676-0.984-1.3-2.019-1.778-3.122c-1.341-3.059-2.228-7.463-3.216-11.412 c-0.499-1.987-1.022-3.861-1.717-5.466c-0.693-1.592-1.518-2.968-2.884-3.82C23.33,5.526,22.46,5.74,22.056,6.396 c-0.398,0.667-0.194,1.528,0.472,1.935c0.526,0.291,1.192,1.173,1.763,2.531c0.877,2.028,1.578,4.97,2.295,8.026 c0.74,3.063,1.503,6.229,2.649,8.863c0.942,2.181,2.286,4.07,3.652,5.703c0,0.062-0.016,0.114-0.028,0.178 c-1.078,0.843-2.062,1.839-2.998,2.899c-0.602-0.206-1.227-0.361-1.89-0.403c-0.087-0.013-0.187-0.012-0.282-0.009 c-1.887,0.033-3.627,1.019-5.555,2.302c-2.865,1.96-6.028,4.802-8.98,7.228c-2.91,2.433-5.766,4.396-7.186,4.595 c-0.773,0.137-1.278,0.87-1.14,1.629c0.124,0.682,0.718,1.158,1.382,1.158c0.08,0,0.17-0.009,0.248-0.024 c1.806-0.344,3.566-1.458,5.512-2.865c2.896-2.122,6.062-4.997,8.965-7.318c1.453-1.16,2.838-2.174,4.031-2.87 c1.189-0.709,2.209-1.045,2.727-1.028c0.023-0.002,0.062-0.002,0.092,0.005c0.072,0.003,0.135,0.047,0.205,0.054 c-3.172,4.741-5.051,11.087-5.031,19.173c-0.001,1.388,0.073,2.738,0.176,4.049c-1.131,1.378-2.094,3.006-2.486,5.004 c-0.162,0.818-0.238,1.595-0.24,2.326c0.002,2.462,0.816,4.395,1.507,6.078c0.703,1.707,1.285,3.158,1.285,4.917 c0,0.793-0.111,1.66-0.424,2.68c-0.921,3.051-3.11,5.131-5.165,6.466c-1.014,0.667-1.982,1.141-2.677,1.437 c-0.353,0.149-0.632,0.256-0.83,0.324c-0.189,0.063-0.267,0.092-0.267,0.092c-0.749,0.218-1.171,0.997-0.947,1.741 c0.186,0.613,0.746,1.006,1.35,1.004c0.131,0.005,0.262-0.013,0.392-0.057c0.09-0.027,2.144-0.631,4.522-2.193 c2.367-1.548,5.117-4.088,6.309-7.993c0.383-1.264,0.554-2.425,0.545-3.5c0-2.411-0.806-4.307-1.494-5.985 c-0.705-1.697-1.291-3.183-1.291-5.01c0-0.546,0.052-1.137,0.176-1.78c0.068-0.354,0.248-0.645,0.354-0.974 c1.171,6.289,3.615,11.478,7.039,15.379c4.121,4.697,9.61,7.503,15.669,8.271l2.956-42.859c-2.596-0.266-4.615-2.286-4.616-4.74 c0.006-2.632,2.336-4.769,5.205-4.769c2.871,0,5.192,2.137,5.192,4.769c0,2.454-2.016,4.479-4.616,4.74l2.912,42.841 c6.015-0.795,11.447-3.598,15.529-8.253c3.49-3.975,5.961-9.276,7.111-15.727c0.162,0.435,0.386,0.843,0.472,1.319 c0.13,0.646,0.183,1.236,0.183,1.782c0,1.828-0.595,3.31-1.297,5.01c-0.692,1.676-1.5,3.574-1.494,5.985 c-0.003,1.075,0.166,2.237,0.538,3.501c1.204,3.904,3.944,6.446,6.32,7.992c2.374,1.562,4.434,2.166,4.511,2.193 c0.136,0.038,0.274,0.062,0.404,0.057c0.604,0.002,1.164-0.397,1.338-1.004c0.224-0.743-0.197-1.523-0.945-1.745 c0,0-0.077-0.021-0.27-0.09c-1.386-0.462-7.106-2.906-8.669-8.222c-0.312-1.02-0.427-1.896-0.427-2.683 c0-1.759,0.583-3.21,1.289-4.919c0.7-1.68,1.506-3.613,1.506-6.079c-0.001-0.732-0.068-1.505-0.229-2.323 c-0.416-2.101-1.458-3.823-2.652-5.237c0.092-1.239,0.136-2.508,0.139-3.818c0.016-8.052-1.841-14.388-4.996-19.125 c0.123-0.019,0.248-0.092,0.359-0.099l0.041-0.007c0,0,0.026,0,0.058,0.002c0.701-0.04,2.248,0.618,3.978,1.819 c2.626,1.785,5.775,4.591,8.78,7.077c3.056,2.463,5.808,4.649,8.473,5.183c0.086,0.019,0.17,0.028,0.258,0.027 c0.661,0.001,1.25-0.477,1.372-1.156C95.31,51.111,94.803,50.38,94.04,50.244z M27.07,44.408c0.914-2.417,3.331-3.743,5.394-2.969 c2.082,0.78,3.026,3.373,2.119,5.788c-0.907,2.419-3.325,3.743-5.397,2.967C27.116,49.413,26.166,46.827,27.07,44.408z M37.693,80.45c-1.986,1.255-4.771,0.408-6.227-1.891c-1.463-2.305-1.053-5.18,0.93-6.438c1.973-1.255,4.758-0.409,6.221,1.89 C40.072,76.311,39.664,79.198,37.693,80.45z M39.013,65.344c-3.166-0.001-5.713-2.56-5.714-5.713c0-3.154,2.546-5.713,5.712-5.713 c3.155,0,5.715,2.559,5.714,5.714C44.725,62.784,42.167,65.343,39.013,65.344z M55.283,59.631c0-3.154,2.56-5.713,5.713-5.713 c3.155,0,5.714,2.559,5.714,5.714c0,3.152-2.559,5.711-5.714,5.712C57.844,65.343,55.285,62.784,55.283,59.631z M68.544,78.56 c-1.47,2.3-4.251,3.149-6.229,1.891c-1.975-1.252-2.387-4.137-0.921-6.438c1.454-2.299,4.238-3.147,6.219-1.891 C69.584,73.381,70.005,76.255,68.544,78.56z M72.934,44.408c0.911,2.419-0.038,5.005-2.11,5.786 c-2.078,0.776-4.498-0.546-5.396-2.967c-0.916-2.418,0.03-5.008,2.107-5.788C69.61,40.665,72.025,41.991,72.934,44.408z"/>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_1385.svg b/images/noun_project_1385.svg
new file mode 100644
index 0000000..557deea
--- /dev/null
+++ b/images/noun_project_1385.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Livello_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<path fill="#000000" d="M84.308,78.369c0-0.012-2.432-2.228-5.11-4.953c-2.106-2.138-4.389-4.656-5.641-6.454 c-0.651-3.289-1.516-6.54-2.522-9.337c-0.724-2.025-1.633-4.161-2.627-6.289c-0.288-0.833-0.596-1.618-0.924-2.33 c-0.302-0.65-0.665-1.21-1.058-1.716c-0.59-1.134-1.179-2.254-1.761-3.333c0.681-0.013,1.399-0.148,2.142-0.436 c1.323-0.58,2.333-1.695,3.559-3.083c1.793-2.098,3.815-4.871,5.894-7.25c2.051-2.39,4.224-4.331,5.792-4.77 c0.744-0.223,1.165-1.004,0.941-1.747c-0.229-0.738-1.01-1.16-1.758-0.93c-1.767,0.539-3.334,1.759-4.861,3.225 c-2.277,2.203-4.439,5.047-6.347,7.448c-0.942,1.193-1.83,2.277-2.592,3.083c-0.751,0.817-1.432,1.331-1.682,1.421 c-0.445,0.174-0.836,0.235-1.195,0.236c-0.623,0.008-1.196-0.211-1.68-0.489c0.114-0.518,0.177-1.057,0.183-1.597 c-0.009-1.936-0.703-3.707-1.871-5.179c2.751-1.388,6.57-3.758,9.373-7.281c2.388-3.042,4.37-7.193,6.309-10.719 c0.968-1.748,1.909-3.346,2.823-4.52c0.907-1.181,1.783-1.865,2.376-2.023c0.743-0.217,1.164-1.01,0.94-1.741 c-0.219-0.747-1.002-1.165-1.749-0.951c-1.541,0.486-2.698,1.621-3.782,2.989c-1.614,2.085-3.062,4.864-4.556,7.658 c-1.481,2.789-2.998,5.583-4.562,7.563c-2.057,2.622-4.966,4.625-7.357,5.952c-0.738,0.402-1.42,0.743-2.015,1.015 c-0.431-0.3-0.896-0.561-1.375-0.811c2.85-1.172,4.743-3.449,4.74-7.158c0.003-3.695-1.871-5.973-4.698-7.155l-0.402-2.739 c1.364-0.855,4.778-2.695,9.524-3.092c0.771-0.059,1.346-0.744,1.279-1.515c-0.062-0.768-0.74-1.348-1.508-1.279 c-7.158,0.6-11.544,4.033-11.675,4.126c-0.396,0.31-0.601,0.812-0.526,1.307l0.359,2.392c-0.911-0.143-1.858-0.21-2.85-0.21 c-0.985,0-1.94,0.067-2.838,0.21l0.347-2.392c0.072-0.498-0.13-0.997-0.526-1.307c-0.117-0.093-4.511-3.532-11.674-4.126 c-0.769-0.068-1.444,0.514-1.512,1.277c-0.062,0.78,0.514,1.456,1.285,1.521c3.164,0.263,5.74,1.168,7.5,1.999 c0.886,0.415,1.562,0.805,2.017,1.093l-0.406,2.735c-2.832,1.184-4.693,3.461-4.69,7.157c-0.003,3.708,1.89,5.985,4.746,7.163 c-0.483,0.248-0.947,0.501-1.382,0.812c-2.527-1.19-6.68-3.532-9.372-6.974c-2.098-2.637-4.074-6.72-6.054-10.323 c-0.987-1.807-1.992-3.504-3.067-4.89C25.156,8.276,24,7.133,22.448,6.653c-0.744-0.218-1.524,0.204-1.744,0.951 c-0.217,0.737,0.202,1.521,0.948,1.741c0.586,0.158,1.462,0.843,2.364,2.023c1.373,1.763,2.813,4.461,4.294,7.255 c1.497,2.803,3.052,5.697,4.842,7.983c2.8,3.519,6.621,5.896,9.375,7.281c-1.168,1.472-1.862,3.244-1.872,5.18 c0.003,0.542,0.075,1.078,0.174,1.586c-0.477,0.292-1.057,0.523-1.669,0.499c-0.359,0-0.752-0.059-1.199-0.245 c-0.354-0.093-1.394-0.998-2.479-2.304c-1.685-1.958-3.73-4.759-5.908-7.266c-2.199-2.497-4.452-4.768-7.097-5.598 c-0.737-0.23-1.524,0.192-1.753,0.93c-0.223,0.743,0.198,1.524,0.938,1.75c1.032,0.306,2.37,1.236,3.729,2.559 c2.055,1.98,4.173,4.75,6.088,7.178c0.966,1.208,1.887,2.339,2.754,3.269c0.889,0.919,1.67,1.663,2.674,2.097 c0.737,0.285,1.462,0.421,2.145,0.434c-0.583,1.078-1.172,2.2-1.761,3.333c-0.394,0.506-0.755,1.067-1.059,1.716 c-0.333,0.716-0.625,1.506-0.917,2.33c-1,2.128-1.906,4.267-2.633,6.289c-1.007,2.798-1.865,6.048-2.522,9.337 c-1.251,1.797-3.532,4.313-5.641,6.453c-2.673,2.729-5.103,4.942-5.109,4.954c-0.57,0.521-0.613,1.406-0.089,1.979 c0.282,0.307,0.654,0.457,1.038,0.457c0.334,0,0.681-0.125,0.945-0.37c0.015-0.01,2.475-2.271,5.219-5.053 c0.92-0.951,1.869-1.948,2.769-2.943c-0.061,0.484-0.123,0.979-0.167,1.449c-0.656,6.909,0.043,11.873,2.079,14.758 c1.323,1.887,3.269,2.915,5.484,2.917c0.053-0.002,0.097,0.004,0.149,0c2.438-0.052,4.52-1,6.242-2.821 c0.443,0.536,0.893,1.054,1.338,1.513c3.395,3.542,6.729,5.172,6.828,5.216c0.192,0.1,0.396,0.148,0.607,0.148 s0.428-0.049,0.62-0.148c0.093-0.044,3.444-1.674,6.825-5.213c0.448-0.462,0.9-0.977,1.341-1.516 c1.723,1.822,3.811,2.77,6.246,2.824c0.042-0.005,0.095-0.003,0.139-0.003c2.219,0,4.174-1.038,5.495-2.917 c2.03-2.885,2.726-7.854,2.075-14.758c-0.05-0.477-0.107-0.965-0.164-1.445c0.897,0.99,1.839,1.988,2.769,2.938 c2.735,2.784,5.201,5.047,5.213,5.058c0.274,0.242,0.613,0.365,0.948,0.365c0.384,0.002,0.763-0.148,1.039-0.454 C84.916,79.778,84.883,78.896,84.308,78.369z M58.228,45.121c-0.676,0.484-1.438,0.874-2.262,1.189 c-0.26-6.69-0.396-12.23-0.396-12.23s2.323,3.574,5.094,8.463c-0.397,0.669-0.905,1.289-1.516,1.843 c-0.133-0.009-0.22-0.008-0.22-0.008c-0.39-0.006-0.707,0.31-0.709,0.69C58.219,45.087,58.228,45.104,58.228,45.121z M42.129,83.557 c-1.254-2.376-2.165-5.19-2.366-8.478l5.703,0.004c-0.518,3.114-1.242,6.087-2.333,8.473L42.129,83.557z M44.794,44.377 L44.794,44.377c-0.006,0-0.093,0-0.229,0.012c-0.607-0.558-1.116-1.177-1.516-1.843c2.772-4.892,5.09-8.466,5.09-8.466 s-0.13,5.539-0.384,12.236c-0.825-0.315-1.586-0.712-2.274-1.196c0.003-0.015,0.013-0.038,0.012-0.05 C45.495,44.687,45.178,44.371,44.794,44.377z M42.854,44.65c-0.355,0.077-0.752,0.202-1.164,0.347 c0.192-0.366,0.396-0.726,0.588-1.073C42.458,44.167,42.654,44.412,42.854,44.65z M49.603,63.796 c0.21-2.435,0.396-5.391,0.558-8.481h3.396c0.153,3.091,0.341,6.04,0.551,8.481H49.603z M46.64,48.584 c0.196-0.114,0.379-0.229,0.571-0.322c0.012-0.012,0.019-0.019,0.027-0.021c0.146-0.079,0.298-0.148,0.446-0.211 c-0.078,1.93-0.17,3.919-0.263,5.883l-4.898-0.003c0.56-1.286,1.18-2.339,1.849-3.206c0.043-0.056,0.086-0.106,0.13-0.155 c0.104-0.143,0.22-0.277,0.335-0.397c0.068-0.08,0.14-0.158,0.217-0.241c0.093-0.093,0.18-0.18,0.267-0.267 c0.087-0.08,0.174-0.167,0.26-0.248c0.086-0.074,0.173-0.149,0.266-0.217c0.084-0.072,0.174-0.149,0.261-0.223 c0.105-0.074,0.211-0.149,0.316-0.217C46.501,48.687,46.573,48.635,46.64,48.584z M47.347,55.314 c-0.161,3.122-0.347,6.084-0.557,8.481h-6.587c0.396-3.47,0.998-6.264,1.765-8.481H47.347z M46.66,65.196 c-0.254,2.621-0.536,5.574-0.964,8.474h-5.985c-0.004-0.009,0.003-0.016-0.003-0.035c0-0.594,0.013-1.183,0.021-1.762 c0-0.131,0-0.254,0-0.385c0.016-0.518,0.025-1.017,0.046-1.514c0.006-0.168,0.006-0.335,0.012-0.509 c0.019-0.466,0.038-0.93,0.062-1.388c0.006-0.155,0.018-0.317,0.024-0.472c0.032-0.378,0.043-0.737,0.082-1.097 c0.011-0.173,0.019-0.353,0.037-0.514c0.018-0.273,0.043-0.533,0.068-0.8H46.66z M56.834,81.529 c0.224,0.718,0.463,1.382,0.718,2.026H46.17c0.254-0.64,0.502-1.309,0.719-2.026c0.613-2.008,1.06-4.212,1.419-6.443l7.101,0.001 C55.768,77.317,56.22,79.527,56.834,81.529z M60.582,83.556c-1.097-2.386-1.813-5.362-2.339-8.473l5.71-0.004 c-0.209,3.287-1.116,6.11-2.354,8.477H60.582z M58.021,73.67c-0.431-2.896-0.711-5.852-0.964-8.474h6.604 c0.025,0.316,0.056,0.626,0.075,0.954c0.006,0.08,0.018,0.167,0.018,0.248c0.038,0.416,0.062,0.83,0.085,1.261 c0.01,0.127,0.021,0.264,0.026,0.407c0.02,0.451,0.044,0.923,0.062,1.399c0.001,0.174,0.013,0.347,0.016,0.518 c0.016,0.48,0.033,0.969,0.04,1.472c-0.001,0.161,0,0.321,0.006,0.489c0.007,0.526,0.007,1.06,0.013,1.611 c-0.003,0.027-0.003,0.053-0.006,0.079l0.006,0.02c-0.006,0.006-0.006,0.006-0.003,0.016H58.021z M56.927,63.797 c-0.21-2.398-0.397-5.36-0.558-8.482h5.371c0.777,2.215,1.389,5.012,1.772,8.481L56.927,63.797z M56.294,53.913 c-0.093-1.964-0.186-3.953-0.263-5.882c0.157,0.071,0.315,0.141,0.469,0.22l0.005-0.001c0.192,0.105,0.381,0.22,0.569,0.335 c0.069,0.042,0.128,0.096,0.193,0.142c0.111,0.074,0.229,0.155,0.347,0.242c0.08,0.061,0.161,0.13,0.247,0.205 c0.094,0.074,0.189,0.146,0.276,0.232c0.083,0.071,0.167,0.149,0.245,0.227c0.099,0.099,0.198,0.185,0.284,0.291 c0.072,0.071,0.137,0.143,0.208,0.22c0.117,0.13,0.234,0.273,0.35,0.412c0.038,0.043,0.078,0.096,0.117,0.148 c0.667,0.859,1.286,1.912,1.847,3.209H56.294z M61.435,43.922c0.194,0.35,0.393,0.709,0.595,1.079 c-0.413-0.152-0.812-0.273-1.175-0.35C61.062,44.412,61.257,44.167,61.435,43.922z M36.776,88.749 c-0.028,0.001-0.049,0.012-0.086,0.012c-6.222,0-5.738-12.926-3.315-23.415c0.824-2.125,1.533-4.879,2.255-7.597 c1.294-3.427,3.085-7.151,4.903-10.611c0.543-0.362,1.113-0.623,1.649-0.824c0.722-0.263,1.391-0.399,1.864-0.465 c0.028-0.008,0.047-0.009,0.059-0.009c0.651,0.515,1.382,0.973,2.157,1.351c-0.006,0-0.006,0.006-0.016,0.009 c-1.208,0.701-2.33,1.697-3.299,3.058c-0.031,0.031-0.056,0.068-0.075,0.105c-0.148,0.204-0.278,0.409-0.421,0.625 c-0.068,0.13-0.149,0.242-0.216,0.366c-0.02,0.031-0.043,0.081-0.074,0.112c-0.038,0.086-0.084,0.177-0.137,0.26 c-0.307,0.554-0.599,1.149-0.858,1.799c-0.115,0.264-0.229,0.534-0.332,0.815c-0.002,0.01-0.002,0.017-0.012,0.025l-0.353,0.948 h0.024c-0.756,2.291-1.335,5.089-1.704,8.482l-0.013-0.001l-0.049,0.569c-0.015,0.104-0.024,0.213-0.034,0.314 c-0.033,0.387-0.071,0.783-0.105,1.184c-0.009,0.139-0.019,0.272-0.021,0.411c-0.037,0.483-0.075,0.973-0.105,1.481 c-0.003,0.097-0.007,0.192-0.012,0.284c-0.031,0.479-0.043,0.96-0.062,1.463c-0.009,0.083-0.013,0.174-0.019,0.268 c-0.015,0.534-0.025,1.089-0.038,1.646c-0.006,0.155-0.006,0.304-0.006,0.465c-0.008,0.475-0.015,0.959-0.015,1.447 c0,0.104,0.002,0.2-0.003,0.307c0.006,0.042,0.003,0.078,0.003,0.115c0.003,0.225,0.015,0.448,0.027,0.646l0.016,0.687l0,0 c0.201,3.25,1.041,6.071,2.203,8.473l-0.032,0.001l0.57,1.041c0.019,0.042,0.043,0.079,0.069,0.122 c0.209,0.386,0.439,0.751,0.668,1.123C40.559,87.611,38.927,88.716,36.776,88.749z M67.025,88.761c-0.023,0-0.058-0.011-0.09-0.011 c-2.133-0.034-3.778-1.139-5.059-2.907c0.242-0.379,0.478-0.764,0.701-1.165c0.013-0.031,0.031-0.05,0.042-0.08l0.576-1.041h-0.037 c1.161-2.402,2.003-5.224,2.2-8.471l0.009-0.002l0.015-0.686c0.011-0.22,0.02-0.46,0.026-0.7c-0.003-0.028,0-0.038,0-0.062 c-0.003-0.053-0.003-0.096,0-0.147c-0.003-0.58-0.007-1.142-0.016-1.683c-0.003-0.116-0.003-0.22-0.01-0.326 c-0.006-0.594-0.024-1.189-0.043-1.76c0-0.038-0.003-0.071-0.004-0.114c-0.021-0.574-0.049-1.122-0.074-1.674 c-0.005-0.038-0.006-0.079-0.01-0.126c-0.029-0.539-0.06-1.078-0.104-1.593c0-0.087-0.013-0.173-0.019-0.267 c-0.037-0.483-0.08-0.96-0.125-1.425C65.003,64.487,65,64.453,65,64.429l-0.062-0.633h-0.013c-0.367-3.393-0.941-6.184-1.703-8.481 h0.024l-0.353-0.936c-0.118-0.329-0.242-0.639-0.37-0.933c-0.127-0.294-0.262-0.592-0.398-0.877 c-0.044-0.093-0.086-0.198-0.14-0.289c-0.083-0.182-0.183-0.35-0.275-0.523c-0.05-0.099-0.105-0.191-0.154-0.291 c-0.032-0.042-0.064-0.087-0.081-0.13c-0.068-0.105-0.136-0.223-0.205-0.328c-0.142-0.229-0.285-0.446-0.435-0.657 c-0.024-0.024-0.035-0.062-0.058-0.084c-0.979-1.369-2.101-2.367-3.315-3.066l-0.01-0.009c0.781-0.379,1.507-0.836,2.158-1.35 c0.018-0.001,0.029-0.001,0.052,0.008c0.855,0.124,2.236,0.446,3.522,1.298c1.815,3.451,3.607,7.175,4.901,10.589 c0.715,2.73,1.431,5.484,2.256,7.609C72.764,75.836,73.253,88.761,67.025,88.761z"/>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_1439.svg b/images/noun_project_1439.svg
new file mode 100644
index 0000000..f0f1c35
--- /dev/null
+++ b/images/noun_project_1439.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="50px" height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
+<polygon points="45.91,26.078 40.467,26.078 40.467,44.177 25.517,44.177 25.517,34.844 16.105,34.844 16.105,44.177 8.73,44.177 8.732,26.078 3.687,26.078 24.596,5.168 "/>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_1573.svg b/images/noun_project_1573.svg
new file mode 100644
index 0000000..5757a84
--- /dev/null
+++ b/images/noun_project_1573.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Livello_2" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<path d="M52.14,56.521c0,0-1.672-5.586-4.317,0.57c-4.457,10.374-10.167,9.025-16.155,10.603c-5.991,1.574-8.078,7.018-8.078,7.018 c-7.256-9.211-2.589-3.044-4.457,1.72c-0.849,2.164-5.155,6.729-11.839,1.718c-6.686-5.014-5.086-12.959-3.343-14.61 c3.031-2.871,4.316-4.87,4.316-4.87c3.738-7.168-4.595-3.009-4.595-3.009c1.533-10.885,7.659-9.309,7.659-9.309 S-0.228,42.055,1.722,29.02c1.95-13.035,17.966-10.314,17.966-10.314c-7.381,4.157-1.949,9.741-1.949,9.741 c4.039-4.581,11.7-1.003,11.7-1.003c-12.117,1.864,2.229,7.162,2.229,7.162l7.799,3.582l-6.408-11.316l9.611,9.167L40.302,19.28 l5.85,15.041l3.62-19.195h0.336l3.622,19.195l5.849-15.041l-2.366,16.757l9.61-9.167l-6.408,11.316l7.801-3.582 c0,0,14.344-5.298,2.229-7.162c0,0,7.658-3.578,11.697,1.003c0,0,5.433-5.584-1.949-9.741c0,0,16.016-2.72,17.968,10.314 c1.949,13.036-9.611,17.331-9.611,17.331s6.128-1.576,7.659,9.309c0,0-8.518-4.492-4.596,3.009c0,0,1.056,1.832,4.316,4.87 c1.23,1.146,3.345,9.597-3.341,14.61C85.9,83.16,81.493,79.138,80.75,76.431c-1.583-5.764,1.75-8.431-4.458-1.72 c0,0-2.09-5.443-8.077-7.018C62.224,66.116,57.293,66.546,52.14,56.521 M41.416,51.937c-0.021-0.111-5.621-4.162-9.61-3.438 c-4.736,0.86-7.745,6.053,0.279,6.446C32.085,54.944,42.105,55.585,41.416,51.937z M68.335,54.944 c8.658,0.064,5.014-5.586,0.278-6.446c-3.99-0.724-9.588,3.328-9.609,3.438C58.324,55.586,68.335,54.944,68.335,54.944z"/>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_162.svg b/images/noun_project_162.svg
new file mode 100644
index 0000000..05f8bcc
--- /dev/null
+++ b/images/noun_project_162.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="84.428px" height="100px" viewBox="0 0 84.428 100" enable-background="new 0 0 84.428 100" xml:space="preserve">
+<path d="M4.944,81h14.031l-4.81-40.825l-0.033-0.239c-0.619-4.021,0.938-10.622,5.812-16.303C23.715,19.238,30.639,14,42.214,14
+ s18.499,5.238,22.27,9.633c4.874,5.681,6.431,12.281,5.812,16.303l-0.032,0.239L65.453,81h14.031l4.668-39.065
+ c1.316-8.879-2.141-19.372-9.043-27.418C67.078,5.155,55.395,0,42.214,0C29.033,0,17.35,5.155,9.319,14.517
+ c-6.902,8.046-10.36,18.539-9.043,27.418L4.944,81z"/>
+<polygon points="5.661,87 7.214,100 21.214,100 19.682,87 "/>
+<polygon points="64.746,87 63.214,100 77.214,100 78.768,87 "/>
+</svg>
diff --git a/images/noun_project_1627.svg b/images/noun_project_1627.svg
new file mode 100644
index 0000000..0d90950
--- /dev/null
+++ b/images/noun_project_1627.svg
@@ -0,0 +1,48 @@
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xml:space="preserve" width="100" height="100" style="fill-rule:evenodd" viewBox="0 0 51.749733 51.749734" id="svg2" version="1.1" inkscape:version="0.48.2 r9819" sodipodi:docname="castle.svg"><title id="title3996">castle</title><metadata id="metadata16"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title>castle</dc:title><dc:creator><cc:Agent><dc:title>Jonah Bethlehem</dc:title></cc:Agent></dc:creator><dc:date>27.02.2012</dc:date><dc:rights><cc:Agent><dc:title>Jonah Bethlehem</dc:title></cc:Agent></dc:rights><dc:subject><rdf:Bag><rdf:li>castle</rdf:li></rdf:Bag></dc:subject><cc:license rdf:resource="http://creativecommons.org/licenses/by/3.0/"/></cc:Work><cc:License rdf:about="http://creativecommons.org/licenses/by/3.0/"><cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/><cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/><cc:requires rdf:resource="http://creativecommons.org/ns#Notice"/><cc:requires rdf:resource="http://creativecommons.org/ns#Attribution"/><cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/></cc:License></rdf:RDF></metadata><sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1680" inkscape:window-height="995" id="namedview14" showgrid="false" showborder="true" inkscape:showpageshadow="true" borderlayer="false" inkscape:zoom="7.5354325" inkscape:cx="57.67475" inkscape:cy="55.653586" inkscape:window-x="0" inkscape:window-y="26" inkscape:window-maximized="1" inkscape:current-layer="svg2" showguides="true" inkscape:guide-bbox="true"><sodipodi:guide orientation="1,0" position="29.062698,96.610248" id="guide3014"/><sodipodi:guide orientation="0,1" position="35.167192,10.351098" id="guide3821"/><sodipodi:guide orientation="0,1" position="19.806428,84.003142" id="guide3843"/><sodipodi:guide orientation="0,1" position="50.561133,75.908052" id="guide3864"/><sodipodi:guide orientation="0,1" position="46.543442,47.763331" id="guide3868"/><sodipodi:guide orientation="0,1" position="19.375132,90.406225" id="guide3899"/><sodipodi:guide orientation="1,0" position="17.849009,88.979631" id="guide3901"/><sodipodi:guide orientation="1,0" position="23.090911,88.083863" id="guide3903"/><sodipodi:guide orientation="1,0" position="24.816094,87.453508" id="guide3905"/><sodipodi:guide orientation="1,0" position="33.309303,87.221271" id="guide3907"/><sodipodi:guide orientation="1,0" position="35.100839,86.15962" id="guide3909"/><sodipodi:guide orientation="1,0" position="16.256532,84.79938" id="guide3911"/><sodipodi:guide orientation="1,0" position="40.276388,82.941491" id="guide3913"/><sodipodi:guide orientation="1,0" position="42.034747,82.808784" id="guide3915"/><sodipodi:guide orientation="1,0" position="47.904087,55.082662" id="guide3918"/><sodipodi:guide orientation="1,0" position="83.374694,53.20591" id="guide3920"/><sodipodi:guide orientation="0,1" position="45.276635,57.710115" id="guide3922"/><sodipodi:guide orientation="1,0" position="62.401994,50.343864" id="guide3924"/><sodipodi:guide orientation="1,0" position="79.480434,53.440504" id="guide3926"/><sodipodi:guide orientation="0,1" position="46.684198,41.335456" id="guide3949"/><sodipodi:guide orientation="1,0" position="89.943325,53.862774" id="guide3951"/><sodipodi:guide orientation="1,0" position="51.892184,45.980416" id="guide3953"/><sodipodi:guide orientation="1,0" position="53.20591,42.133075" id="guide3955"/><sodipodi:guide orientation="1,0" position="57.10017,41.335456" id="guide3957"/><sodipodi:guide orientation="1,0" position="58.460815,38.661085" id="guide3959"/><sodipodi:guide orientation="1,0" position="63.668801,52.642885" id="guide3961"/><sodipodi:guide orientation="1,0" position="67.60998,52.971317" id="guide3963"/><sodipodi:guide orientation="1,0" position="68.970625,52.595966" id="guide3965"/><sodipodi:guide orientation="1,0" position="72.864884,52.689804" id="guide3967"/><sodipodi:guide orientation="1,0" position="74.225529,51.986022" id="guide3969"/><sodipodi:guide orientation="1,0" position="78.119789,53.018235" id="guide3971"/><sodipodi:guide orientation="1,0" position="84.735339,52.173697" id="guide3973"/><sodipodi:guide orientation="1,0" position="88.629599,51.094565" id="guide3975"/></sodipodi:namedview>
+ <defs id="defs4"><inkscape:perspective sodipodi:type="inkscape:persp3d" inkscape:vp_x="0 : 44.29134 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_z="88.58268 : 44.29134 : 1" inkscape:persp3d-origin="44.29134 : 29.52756 : 1" id="perspective18"/>
+ <style type="text/css" id="style6">
+
+ .fil0 {fill:white}
+ .fil1 {fill:black}
+
+ </style>
+
+
+
+
+
+ <style id="style2830" type="text/css">
+
+ .fil1 {fill:black}
+ .fil0 {fill:white}
+
+ </style>
+ <inkscape:perspective id="perspective2842" inkscape:persp3d-origin="44.29134 : 29.52756 : 1" inkscape:vp_z="88.58268 : 44.29134 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 44.29134 : 1" sodipodi:type="inkscape:persp3d"/>
+
+
+
+
+ <style id="style2856" type="text/css">
+
+ .fil1 {fill:black}
+ .fil0 {fill:white}
+
+ </style>
+ <inkscape:perspective id="perspective2867" inkscape:persp3d-origin="44.29134 : 29.52756 : 1" inkscape:vp_z="88.58268 : 44.29134 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 44.29134 : 1" sodipodi:type="inkscape:persp3d"/>
+
+
+
+
+
+
+
+
+ <style id="style6-4" type="text/css">
+
+ .fil0 {fill:white}
+ .fil1 {fill:black}
+
+ </style>
+ <inkscape:perspective id="perspective18-9" inkscape:persp3d-origin="44.29134 : 29.52756 : 1" inkscape:vp_z="88.58268 : 44.29134 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 44.29134 : 1" sodipodi:type="inkscape:persp3d"/></defs>
+
+<g id="g3893"><path style="fill:#000000;fill-opacity:1;fill-rule:evenodd" d="m 24.816093,15.996858 0,-6.403083 8.493209,0 0,6.403083 1.791536,0 0,-6.403083 5.175549,0 0,6.403083 1.758359,0 0,-6.403083 3.184004,0 0,14.468725 -2.40625,6.40625 2,48 1.46875,11.1875 -34.28125,0 1.46875,-11.1875 2,-48 -2.40625,-6.40625 0,-14.40625 3.21875,0 -0.02472,6.340608 1.592477,0 0,-6.403083 5.241902,0 0,6.403083 M 29.125,33.78125 c 1.35644,0.366427 2.34375,1.586311 2.34375,3.0625 l 0,6.40625 -4.65625,0 0,-6.40625 c 0,-1.465617 0.971003,-2.68639 2.3125,-3.0625 z m 0,13.5 c 1.371393,0.356498 2.375,1.575739 2.375,3.0625 l 0,6.40625 -4.71875,0 0,-6.40625 c 0,-1.476189 0.98731,-2.696075 2.34375,-3.0625 z m 0,13.59375 c 1.371393,0.3565 2.375,1.575739 2.375,3.0625 l 0,6.40625 -4.71875,0 0,-6.40625 c 0,-1.476189 0.98731,-2.696075 2.34375,-3.0625 z" transform="scale(0.51749734,0.51749734)" id="path2911-8-4" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccccccsccsccsccsccsccsc"/></g><g transform="translate(17.995641,16.909339)" style="fill-rule:evenodd" id="g3893-6"><path style="fill:#000000;fill-opacity:1;fill-rule:evenodd" d="m 53.825823,25.989325 -0.73181,14.479425 0.37535,16.469188 -40.000613,0 0.37535,-16.469188 -0.714378,-14.479425 0,-6.427875 3.941178,0 1.313727,0 3.941178,0 0,6.427875 1.313726,0 0.04692,-6.427875 3.941179,0 1.266806,0 3.941179,0 0,6.427875 1.313726,0 0.04692,-6.427875 3.894259,0 1.360647,0 3.89426,0 0,6.427875 1.313726,0 0.04692,-6.427875 3.894256,0 1.36064,0 3.89426,0 z m -20.302704,18.22087 c 1.371393,0.356498 4.375,1.575739 4.375,3.0625 l 0,8.40625 -8.71875,0 0,-8.40625 c 0,-1.476189 2.98731,-2.696075 4.34375,-3.0625 z" id="path2911-8-4-8" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccccccccccsccsc" transform="scale(0.51749734,0.51749734)"/></g></svg> \ No newline at end of file
diff --git a/images/noun_project_1751.svg b/images/noun_project_1751.svg
new file mode 100644
index 0000000..fd05fb3
--- /dev/null
+++ b/images/noun_project_1751.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100.0px" height="100px" viewBox="0 0 113.39 113.39" enable-background="new 0 0 113.39 113.39" xml:space="preserve">
+<g>
+ <defs>
+ <rect id="SVGID_1_" x="0.111" width="113.385" height="113.387"/>
+ </defs>
+ <clipPath id="SVGID_2_">
+ <use xlink:href="#SVGID_1_" overflow="visible"/>
+ </clipPath>
+ <path clip-path="url(#SVGID_2_)" d="M108.812,104.713h-5.795L61.285,23.899l8.812-17.064c1.097-2.126,0.241-4.727-1.913-5.81 c-2.154-1.083-4.791-0.238-5.89,1.888l-5.924,11.47l-5.923-11.47c-1.098-2.126-3.736-2.968-5.889-1.888 c-2.155,1.083-3.011,3.685-1.914,5.811l8.812,17.064L9.724,104.713H4.795c-2.418,0-4.378,1.933-4.378,4.319 c0,2.386,1.96,4.319,4.378,4.319h104.017c2.418,0,4.378-1.934,4.378-4.319C113.19,106.646,111.23,104.713,108.812,104.713z M40.385,104.713L49.3,87.447l7.49-13.462l7.515,13.599l8.844,17.129H40.385z M82.674,104.123L72.08,83.609 c-0.02-0.036-0.038-0.072-0.058-0.107L60.646,62.916c-0.766-1.385-2.236-2.25-3.837-2.252c-0.002,0-0.004,0-0.006,0 c-1.598,0-3.069,0.859-3.838,2.241L41.591,83.348c-0.021,0.039-0.042,0.078-0.063,0.117L30.934,103.98 c-0.123,0.238-0.213,0.484-0.288,0.732H19.552L56.37,33.416l36.818,71.297H82.905C82.838,104.515,82.771,104.316,82.674,104.123z"/>
+</g>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_180.svg b/images/noun_project_180.svg
new file mode 100644
index 0000000..2f3a03a
--- /dev/null
+++ b/images/noun_project_180.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="97.017px" height="100px" viewBox="0 0 97.017 100" enable-background="new 0 0 97.017 100" xml:space="preserve">
+<path d="M65.979,99.993c17.125,0,31.037-13.883,31.037-31.008c0-4.951,0-18.108,0-20.805c0-2.845-2.18-3.679-4.068-1.597
+ c-1.123,1.231-26.41,26.692-39.057,40.485c0-11.103,0-26.342,0-30.11c0-0.748,0.32-1.328,1.217-1.328
+ c12.979,0,24.711-13.978,24.711-27.405c0-9.934-2.094-17.139-6.701-26.355C72.517,0.668,72.431,0,70.747,0
+ c-0.787,0-1.541,0.354-1.906,0.984c-1.197,2.08-7.672,13.27-8.086,14.008c-0.504,0.902-1.59,0.994-2.096,0
+ c-0.383-0.754-6.887-11.928-8.088-14.008C50.206,0.354,49.456,0,48.669,0c-0.786,0-1.538,0.354-1.902,0.984
+ c-1.203,2.08-7.705,13.254-8.087,14.008c-0.506,0.994-1.591,0.902-2.096,0c-0.414-0.739-6.888-11.928-8.087-14.008
+ C28.132,0.354,27.379,0,26.592,0c-1.684,0-1.771,0.668-2.371,1.869c-4.61,9.217-6.702,16.421-6.702,26.356
+ c0,13.428,11.732,27.404,24.71,27.404c0.898,0,1.216,0.58,1.216,1.328c0,6.16,0,43.043,0,43.043L65.979,99.993z"/>
+<path d="M4.093,46.584C2.202,44.501,0,45.336,0,48.18c0,2.696,0.053,15.854,0.053,20.807c0,17.125,13.884,31.008,31.009,31.008
+ c1.855,0,6.256,0,8.363,0V82.591C33.046,76.112,5.417,48.041,4.093,46.584z"/>
+</svg>
diff --git a/images/noun_project_1836.svg b/images/noun_project_1836.svg
new file mode 100644
index 0000000..d77a434
--- /dev/null
+++ b/images/noun_project_1836.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" version="1.0" width="92.125984252px" height="100px" viewBox="0 0 468 508" preserveAspectRatio="xMidYMid meet">
+<metadata>
+Created by potrace 1.8, written by Peter Selinger 2001-2007
+</metadata>
+<g transform="translate(0,508) scale(0.084783,-0.084783)" fill="#000000" stroke="none">
+<path d="M5165 5971 c-24 -11 -87 -67 -157 -139 -133 -138 -197 -185 -283 -207 -138 -35 -252 -10 -499 113 -143 71 -179 86 -220 86 -45 1 -52 -2 -72 -32 -29 -42 -39 -120 -30 -236 8 -127 34 -233 116 -482 80 -244 101 -330 103 -424 2 -94 -19 -156 -67 -205 -55 -54 -103 -69 -351 -110 -382 -64 -629 -137 -864 -254 -466 -233 -817 -648 -1036 -1226 -56 -148 -97 -285 -186 -623 -116 -441 -126 -463 -304 -649 -231 -242 -406 -355 -811 -523 -208 -86 -298 -136 -364 -200 -89 -86 -123 -169 -136 -325 -15 -189 91 -343 316 -459 47 -24 114 -52 150 -61 93 -24 170 -10 170 31 0 8 -47 64 -104 125 -145 153 -180 234 -142 334 31 79 168 187 331 260 78 35 537 218 640 256 259 95 372 91 505 -21 l48 -40 978 2 979 3 -3 75 c-9 195 -60 234 -325 249 -75 4 -140 10 -142 13 -9 8 30 100 95 228 116 227 275 443 366 496 41 24 52 26 127 22 94 -5 147 -27 195 -82 40 -46 51 -84 67 -237 10 -93 21 -146 44 -204 114 -295 454 -621 644 -616 65 1 94 21 130 91 32 63 36 134 11 183 -9 18 -61 78 -114 134 -237 246 -310 441 -310 829 0 394 77 683 246 921 24 34 105 128 180 210 239 261 286 362 286 613 -1 145 -11 222 -53 378 -71 269 -47 399 103 567 102 115 111 155 75 346 -40 209 -55 301 -76 484 -27 230 -47 281 -118 311 -44 19 -90 17 -138 -5z"/>
+</g>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_190.svg b/images/noun_project_190.svg
new file mode 100644
index 0000000..b0198ff
--- /dev/null
+++ b/images/noun_project_190.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="56.062px" height="100px" viewBox="0 0 56.062 100" enable-background="new 0 0 56.062 100" xml:space="preserve">
+<path id="path2468" d="M52.836,93.436h-1.52c-0.886-1.011-1.216-2.276-0.95-3.837c0.444-2.574,2.278-4.71,3.152-5.02l-0.013-0.024
+ c1.241-0.447,2.164-1.65,2.164-3.07l0.063-67.348c0-1.805-1.456-3.276-3.228-3.288c0,0-13.481-0.012-17.176-0.039
+ c0.012-3.174,0.023-7.526,0.023-7.526c0-1.329-0.771-2.519-1.987-3.03c-1.213-0.512-2.594-0.231-3.53,0.688L7.277,23.579
+ c-3.961,3.981-7.087,11.504-7.1,17.162L0,87.856c-0.012,6.591,5.278,11.99,11.824,12.017l41,0.127c1.783,0,3.239-1.472,3.239-3.264
+ v-0.011C56.062,94.905,54.633,93.448,52.836,93.436 M49.239,17.4c0,5.618-0.05,55.179-0.062,60.809H12.228l23.137-19.604
+ l-0.048-41.231C37.417,17.386,47.291,17.4,49.239,17.4 M6.481,87.869c0,0,0.012-2.712,0.012-3.109h38.696
+ c-0.557,1.19-1,2.444-1.215,3.712c-0.304,1.752-0.152,3.39,0.239,4.938l-32.367-0.103C8.886,93.307,6.481,90.876,6.481,87.869"/>
+</svg>
diff --git a/images/noun_project_196.svg b/images/noun_project_196.svg
new file mode 100644
index 0000000..0657a96
--- /dev/null
+++ b/images/noun_project_196.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="92.949px" height="100px" viewBox="0 0 92.949 100" enable-background="new 0 0 92.949 100" xml:space="preserve">
+<path d="M8.319,74.501H0v16.382C0,95.903,4.512,100,10.055,100h72.832c5.543,0,10.062-4.097,10.062-9.116V74.501h-8.326v14.644
+ c0,1.836-1.65,3.33-3.68,3.33H11.991c-2.036,0-3.672-1.494-3.672-3.33V74.501z"/>
+<polygon points="74.466,85.455 74.466,72.545 18.404,53.817 18.404,66.736 "/>
+<path d="M31.336,53.833c-1.931-2.176-14.746-16.991-1.815-29.809C40.298,13.332,41.87,4.354,38.241,0
+ c0,0,27.433,11.274,11.297,37.422c-2.762,4.439-9.661,9.683-6.054,20.492L31.336,53.833z"/>
+<path d="M48.182,57.381c-0.589-2.194-3.221-6.971,4.804-16.473c4.289-5.064,5.902-12.573,6.29-15.398c0,0,14.209,8.146,0.072,28.079
+ L48.182,57.381z"/>
+<polygon points="51.201,60.438 74.466,52.669 74.466,65.579 70.521,66.878 "/>
+<polygon points="41.676,78.839 18.404,86.593 18.404,73.683 22.362,72.393 "/>
+</svg>
diff --git a/images/noun_project_1987.svg b/images/noun_project_1987.svg
new file mode 100644
index 0000000..8e11c54
--- /dev/null
+++ b/images/noun_project_1987.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="79.8994974874px" height="100px" viewBox="0 0 159 199" enable-background="new 0 0 159 199" xml:space="preserve">
+<g>
+ <path d="M84.637,21.91c-30.471,0-55.258,24.787-55.258,55.254c0,17.248,8.643,29.395,16.266,40.111 c5.869,8.246,10.938,15.369,10.938,23.129c0,34.639,17.576,39.811,28.055,39.811s28.059-5.176,28.059-39.84 c0-7.846,5.143-15.17,11.094-23.654c7.541-10.746,16.09-22.924,16.09-39.557C139.879,46.697,115.098,21.91,84.637,21.91z M82.342,96.445c0.889,0.715,1.867,1.348,2.941,1.867c5.361,2.605,11.502,0.5,16.074-2.037l-7.346,44.109l-15.336,0.008 L68.027,96.502C72.041,97.588,77.424,98.287,82.342,96.445z M82.189,78.615c0.754-0.709,1.311-0.945,1.564-0.945 c0.033,0,0.061,0.004,0.082,0.008c0.418,0.137,1.189,1.139,1.523,2.861c0.402,2.068,0.123,5.059-1.777,7.299 c-0.934-1.648-1.537-3.455-1.787-5.088C81.418,80.289,81.908,78.879,82.189,78.615z M105.984,144.811 c-0.115,2.172-0.318,4.352-0.645,6.5l-38.857,9.623c-0.764-1.859-1.383-3.834-1.852-5.891L105.984,144.811z M100.451,165.4 l-24.91,6.162c-2.332-1.205-4.252-2.875-5.82-4.904l34.049-8.424C102.945,160.846,101.863,163.275,100.451,165.4z M118.4,112.938 c-6.322,9.004-12.293,17.512-12.293,27.438v0.004l-5.416,0.002l9.965-59.854l-6.943,6.121c-2.5,2.199-10.645,7.945-15.424,5.803 c3.084-3.439,4.463-8.404,3.537-13.166c-0.771-3.977-3.004-6.92-5.973-7.877c-1.562-0.494-4.713-0.857-8.186,2.416 c-2.168,2.045-3.037,5.664-2.383,9.924c0.332,2.162,1.125,4.699,2.455,7.113c-5.998,0.877-12.787-2.467-12.871-2.51l-6.387-3.26 l13.414,55.305l-8.729,0.004c0-9.859-5.904-18.16-12.156-26.945c-7.396-10.395-15.047-21.148-15.047-36.291 c0-26.834,21.834-48.666,48.672-48.666c26.83,0,48.656,21.832,48.656,48.666C133.293,91.719,125.719,102.506,118.4,112.938z"/>
+</g>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_1993.svg b/images/noun_project_1993.svg
new file mode 100644
index 0000000..33aa7fa
--- /dev/null
+++ b/images/noun_project_1993.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="50px" height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
+<path d="M1.975,44.223c0,0,7.098-6.184,3.909-12.174c-3.188-5.989,9.4,5.306,9.4,5.306S6.171,43.449,1.975,44.223z"/>
+<path d="M48.562,26.9c0,6.006-4.869,10.873-10.872,10.873H12.312c-6.005,0-10.874-4.867-10.874-10.873v-6.286 c0-6.005,4.868-10.874,10.874-10.874h25.377c6.003,0,10.872,4.869,10.872,10.874V26.9z"/>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_2034.svg b/images/noun_project_2034.svg
new file mode 100644
index 0000000..7f1fc32
--- /dev/null
+++ b/images/noun_project_2034.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Calque_1" x="0px" y="0px" width="100px" height="99.2537313433px" viewBox="0 0 268.811 266.62" enable-background="new 0 0 268.811 266.62" xml:space="preserve">
+<path d="M134.405,0C60.3,0,0,59.794,0,133.3c0,73.515,60.3,133.32,134.405,133.32s134.405-59.805,134.405-133.32 C268.811,59.794,208.511,0,134.405,0z M175.729,19.176c19.396,7.227,36.41,19.271,49.531,34.811 c9.217,16.129,11.063,24.318,10.502,28.393l-37.153,13.578l-39.771-25.241c-2.752-14.435-9.255-37.8-11.321-45.151 C157.581,19.328,173.92,19.176,175.729,19.176z M138.795,25.612l-0.066,0.019c0.085,0.286,8.159,28.393,11.511,45.17l-35.915,29.479 L56.777,91.71c0,0-3.561-15.311-3.504-27.631l0.009,0.019c0.219-0.305,20.271-32.449,53.777-42.875 C107.06,21.223,126.998,22.146,138.795,25.612z M81.476,24.203c-17.786,12.026-30.297,28.308-34.03,33.516 c-4.808,2.028-9.826,6.189-14.016,10.255C45.065,49.283,61.69,34.086,81.476,24.203z M15.435,130.577 c0-2.038,0.209-4.037,0.314-6.075c3.247,5.675,7.979,9.931,11.426,12.54c2.895,10.998,11.13,39.066,24.66,61.328 c-0.399,8.864,0.429,14.91,1.438,18.967C30.05,195.608,15.435,164.807,15.435,130.577z M59.319,194.429 c-13.939-22.747-22.318-53.055-24.489-61.595c8.702-18.539,19.976-32.554,19.976-32.554l56.339,8.208 c6.398,18.453,15.349,37.648,19.662,46.617c-6.265,9.359-23.87,35.4-34.268,48.197C86.56,203.445,69.088,197.875,59.319,194.429z M134.396,249.538c-10.331,0-20.31-1.447-29.878-3.941c9.94-0.305,15.806-2.666,19.147-4.932c3.009,0.646,11.702,2.304,23.309,2.304 c11.835,0,26.65-1.8,41.313-8.093c0.781,0.266,1.553,0.409,2.333,0.504C173.872,244.406,154.715,249.538,134.396,249.538z M187.497,226.03c-29.936,14.102-62.604,6.256-62.946,6.17l-2.438-1.248c-8.874-8.141-16.396-20.613-17.843-23.137 c-0.076-0.133-0.105-0.267-0.171-0.4c10.683-13.425,27.231-37.876,33.525-47.303c33.753-1.466,47.055-4.132,47.055-4.132 c0.124,0.19,17.281,22.557,25.413,42.58C205.997,208.329,194.096,219.642,187.497,226.03z M242.16,177.099 c-13.635,10.76-25.689,14.987-25.689,14.987c-5.398-10.626-24.279-41.114-24.279-41.114c6.246-15.52,8.77-36.924,10.055-47.34 l35.543-12.997c8.808,8.541,13.464,23.261,15.006,29.05c0.334,3.599,0.563,7.236,0.563,10.893c0,17.576-3.923,34.182-10.798,49.207 C242.541,177.994,242.16,177.099,242.16,177.099z"/>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_2036.svg b/images/noun_project_2036.svg
new file mode 100644
index 0000000..d692aee
--- /dev/null
+++ b/images/noun_project_2036.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<g id="quote" display="none">
+ <polygon display="inline" points="45.454,16.378 11.119,16.378 11.119,50.713 29.547,77.188 42.673,67.431 31.152,50.713 45.454,50.713 "/>
+ <polygon display="inline" points="87.528,16.378 53.192,16.378 53.192,50.713 71.621,77.188 84.747,67.431 73.226,50.713 87.528,50.713 "/>
+</g>
+<g id="Layer_2">
+ <path d="M85.871,8.649h-71.28c-6.418,0-11.622,5.204-11.622,11.622v52.493c0,6.419,5.203,11.623,11.622,11.623h9.113l0.005,9.593 l11.995-9.593h50.167c6.419,0,11.622-5.204,11.622-11.623V20.271C97.493,13.853,92.29,8.649,85.871,8.649z M54.03,71.383H44.022 V61.374H54.03V71.383z M60.952,46.323c-4.144,1.583-6.801,4.637-6.801,9.194H43.9c0-11.616,7.412-15.111,12.133-16.251 c2.895-0.699,5.68-1.612,5.837-5.55c0.127-3.175-1.732-7.088-9.608-6.931c-8.728,0.175-9.312,6.569-9.34,8.69l-10.251,0.127 c-0.013-0.696,0.004-6.946,4.86-11.901c3.597-3.671,8.696-5.532,15.155-5.532c15.059,0,18.809,9.585,19.039,14.646 C72.109,41.277,65.453,44.604,60.952,46.323z"/>
+</g>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_2141.svg b/images/noun_project_2141.svg
new file mode 100644
index 0000000..1429693
--- /dev/null
+++ b/images/noun_project_2141.svg
@@ -0,0 +1,345 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" width="73.453px" height="100px" viewBox="0 0 73.453 100" enable-background="new 0 0 73.453 100" xml:space="preserve">
+<g id="Layer_1" display="none">
+ <path display="inline" d="M67.877,44.72c3.404-2.858,5.573-7.142,5.573-11.939c0-8.606-6.974-15.581-15.58-15.581 c-0.315,0-0.623,0.028-0.937,0.048C53.838,7.197,45.659,0,36.019,0C23.725,0,13.76,11.686,13.76,26.104 c0,0.038,0.004,0.077,0.004,0.114C6.017,27.119,0,33.696,0,41.685c0,6.488,3.965,12.044,9.604,14.39 c-0.958,2.021-1.509,4.271-1.509,6.656c0,8.605,6.976,15.58,15.581,15.58c1.926,0,3.761-0.365,5.464-1.004V100h12.949V77.182 c3.506-1.248,6.643-3.48,9.182-6.424c2.008,0.941,4.24,1.482,6.603,1.482c8.606,0,15.58-6.977,15.58-15.582 C73.452,51.863,71.283,47.579,67.877,44.72z"/>
+</g>
+<g id="Layer_2" display="none">
+ <g display="inline">
+ <path d="M67.095,29.433h-5.768c-3.221,0-5.447-1.501-6.955-3.236c1.031-0.384,1.811-0.699,2.219-0.916 c7.393-3.773,14.793-8.089,14.793-18.7V0.578H50.482c0,0-0.367,2.746-0.588,3.771C43.845,7.356,37.289,4.094,31.195,3.79 C16.884,3.077,8.761,18.73,9.426,33.375c0.877,19.311,0.162,20.352,1.603,40.153c0.778,10.685,5.92,19.444,10.201,22.266 c4.281,2.821,7.163,4.189,11.849,3.413c-1.773-3.721-7.176-5.677-10.327-9.49c-5.846-7.07-4.941-10.685-5.511-23.22 c-0.598-13.155-1.063-14.187-0.28-24.191c0.144-1.827,0.623-3.76,1.539-4.609c2.689,2.608,7.755,4.855,17.709,4.855h1.81h3.957 h5.537c0,0-2.375-2.791-5.537-2.791c0,0-10.517-0.432-10.517-2.014c0.938-1.149,2.364-3.07,3.689-5.273 c3.617-1.12,7.369-2.3,10.726-3.388c3.018,1.804,7.785,3.139,15.453,3.139h1.813h3.955h5.537 C72.634,32.224,70.261,29.433,67.095,29.433z M60.767,4.183c2.227-0.095,4.504,0.45,5.537,1.815 c-1.461,3.346-1.129,9.552-5.537,9.611c-4.41-0.06-4.078-6.266-5.539-9.611C56.261,4.634,58.539,4.089,60.767,4.183z"/>
+ <ellipse transform="matrix(-0.4188 -0.9081 0.9081 -0.4188 83.0382 67.7521)" cx="63.202" cy="7.302" rx="1.187" ry="1.582"/>
+ <ellipse transform="matrix(-0.9081 -0.4187 0.4187 -0.9081 108.2422 38.3549)" cx="58.33" cy="7.301" rx="1.583" ry="1.187"/>
+ </g>
+</g>
+<g id="Layer_3" display="none">
+ <g display="inline">
+ <path id="maple_leaf_2_" d="M37.744,0.001l-7.732,15.081c-0.878,1.639-2.449,1.487-4.023,0.572l-5.6-3.032l4.174,23.165 c0.877,4.232-1.938,4.232-3.328,2.403l-9.771-11.438l-1.587,5.809c-0.182,0.762-0.986,1.563-2.193,1.373l-12.357-2.717 l3.246,12.337c0.694,2.745,1.237,3.883-0.701,4.606l-4.404,2.164l21.27,18.063c0.842,0.684,1.268,1.912,0.968,3.024l-1.862,6.389 c7.324-0.884,13.89-1.674,21.214-2.555c0.65-0.009,1.729,0.569,1.725,1.354L35.81,100h3.561l-0.559-23.351 c-0.006-0.784,0.973-1.412,1.625-1.403c7.322,0.881,13.889,1.671,21.213,2.555l-1.861-6.389c-0.299-1.112,0.125-2.343,0.967-3.024 l21.271-18.063l-4.404-2.164c-1.938-0.724-1.396-1.861-0.701-4.606l3.246-12.337l-12.355,2.717 c-1.207,0.19-2.012-0.61-2.195-1.373l-1.586-5.809L54.259,38.19c-1.391,1.83-4.205,1.83-3.326-2.403l4.172-23.165l-5.6,3.032 c-1.572,0.916-3.145,1.067-4.021-0.572L37.744,0.001z"/>
+ </g>
+</g>
+<g id="Layer_4" display="none">
+ <g display="inline">
+ <path d="M38.289,80.05c6.271,4.254,18.051,9.862,33.955,9.347c0,0-8.674-8.548-22.039-11.988 c21.477,0.136,37.617-12.017,37.617-12.017c-16.855-2.823-30.555,0.313-39.611,3.813c22.668-15.34,29.898-40.476,29.898-40.476 c-16.623,8.36-27.273,19.611-33.861,29.063c1.746-13.915,1.283-32.603-6.705-53.533c0,0-11.814,23.842-7.982,52.74 c-6.627-9.282-17.144-20.142-33.304-28.269c0,0,6.931,24.095,28.498,39.5c-8.987-3.061-21.662-5.396-36.932-2.839 c0,0,15.671,11.8,36.682,12.013C11.132,80.843,2.455,89.396,2.455,89.396c16.064,0.523,27.635-5.241,33.697-9.272 c0,0-1.232,11.031,2.361,18.1l1.674-0.313C40.187,97.91,36.718,87.63,38.289,80.05z"/>
+ </g>
+</g>
+<g id="Layer_5" display="none">
+ <g display="inline">
+ <polygon points="73.453,87 58.273,58 67.179,58 48,29 56.906,29 36.359,0 15.178,29 24.085,29 4.905,58 13.813,58 -1.368,87 31.257,87 31.257,100 41.257,100 41.257,87 "/>
+ </g>
+</g>
+<g id="Layer_6" display="none">
+ <g display="inline">
+ <path id="path5106" d="M39.723,27.226c4.104,0,7.445-3.376,7.445-7.538c0-4.151-3.342-7.53-7.445-7.53 c-4.119,0-7.447,3.379-7.447,7.53C32.275,23.85,35.603,27.226,39.723,27.226"/>
+ <path id="path5108" d="M59.957,92.966L48.968,59.247V32.264c0-3.537-3.499-3.379-3.499-3.379H34.243h-2.959 c0,0-0.596-0.089-1.823,0.923l-8.267,4.878l-8.616-8.734c-1.407-1.683-3.892-1.933-5.568-0.511 c-1.688,1.422-1.777,4.001-0.371,5.708l11.001,11.133c0.741,0.795,1.777,1.34,2.947,1.34c0.854,0,1.642-0.272,2.306-0.729 l7.245-4.037v19.788L19.045,92.898c-0.809,2.979,0.944,6.038,3.904,6.845c2.947,0.797,5.985-0.979,6.771-3.955l9.685-29.568 l9.868,29.635c0.798,2.991,3.822,4.766,6.771,3.945C58.991,99.005,60.744,95.944,59.957,92.966"/>
+ <path id="path5110" d="M4.682,34.947c0.383,0.386,1.013,0.397,1.405,0l0.135-0.114c0.371-0.397,0.394-1.034,0-1.422l-2.148-2.24 c-0.395-0.397-1.035-0.397-1.429-0.011l-0.113,0.125c-0.394,0.398-0.416,1.036-0.022,1.421L4.682,34.947z"/>
+ <path id="path5112" d="M25.289,9.68L12.578,23.563l1.529,1.591l14.185-12.36l9.427-8.779c0.371-0.434,0.618-0.977,0.618-1.581 c0-1.329-1.058-2.422-2.352-2.435c-0.641-0.012-1.191,0.238-1.63,0.614L25.289,9.68z"/>
+ </g>
+</g>
+<g id="Boardwalk" display="none">
+ <g display="inline">
+ <path d="M41.404,12.147c3.361,0.278,6.279-2.222,6.557-5.579c0.256-3.356-2.244-6.272-5.605-6.551 c-3.334-0.255-6.275,2.245-6.529,5.603C35.546,8.954,38.046,11.894,41.404,12.147z"/>
+ <path d="M36.242,14.648c1.203-0.833,2.662-1.389,4.283-1.25c2.082,0.162,3.801,1.458,4.844,3.033l6.135,12.177l8.379,5.765 c0.719,0.555,1.158,1.435,1.064,2.406c-0.115,1.506-1.436,2.64-2.939,2.5c-0.463-0.022-0.832-0.208-1.25-0.394l-9.145-6.296 c-0.277-0.231-0.508-0.509-0.693-0.811l-2.291-4.561l-2.762,12.13L52.66,52.104c0.256,0.394,0.418,0.856,0.51,1.319l2.916,15.394 c-0.021,0.349,0.023,0.558,0,0.834c-0.162,2.291-2.15,3.959-4.42,3.798c-1.875-0.162-3.266-1.552-3.705-3.266l-2.754-14.422 l-8.779-9.607l-2.037,9.353c-0.068,0.438-0.648,1.366-0.811,1.736l-8.426,14.189c-0.832,1.296-2.246,2.13-3.843,1.991 c-2.292-0.162-3.981-2.152-3.797-4.422c0.047-0.648,0.324-1.319,0.556-1.782l7.825-13.126l6.528-28.913l-4.262,3.451 l-2.269,10.301c-0.301,1.32-1.504,2.408-2.917,2.292c-1.528-0.116-2.64-1.436-2.523-2.963c0-0.116,0.023-0.231,0.046-0.37 l2.686-12.015c0.162-0.509,0.439-0.973,0.833-1.319L36.242,14.648z"/>
+ <rect x="7.745" y="88.796" width="7.917" height="11.204"/>
+ <rect x="62.753" y="88.796" width="7.916" height="11.204"/>
+ <rect x="-9.108" y="78.842" width="9.653" height="5.347"/>
+ <rect x="65.23" y="78.842" width="9.652" height="5.347"/>
+ <rect x="77.916" y="78.842" width="9.652" height="5.347"/>
+ <rect x="52.845" y="78.842" width="9.652" height="5.347"/>
+ <rect x="40.455" y="78.842" width="9.658" height="5.347"/>
+ <rect x="28.07" y="78.842" width="9.631" height="5.347"/>
+ <rect x="15.685" y="78.842" width="9.63" height="5.347"/>
+ <rect x="3.3" y="78.842" width="9.63" height="5.347"/>
+ </g>
+</g>
+<g id="Boat_Launch" display="none">
+ <g display="inline">
+ <path d="M43.792,62.05c4.055-0.929,7.076-4.558,7.076-8.892c0-5.037-4.084-9.119-9.121-9.119c-5.039,0-9.123,4.082-9.123,9.119 c0,2.927,1.379,5.533,3.523,7.201l-46.721-10.326v24.629l51.166,0.035c2.299,0,4.316-1.199,5.467-3.004 c1.148,1.805,3.168,3.004,5.469,3.004c2.299,0,4.316-1.199,5.469-3.004c1.148,1.805,3.166,3.004,5.467,3.004 c2.299,0,4.318-1.199,5.469-3.004c1.148,1.805,3.166,3.004,5.467,3.004c2.299,0,4.318-1.199,5.467-3.004 c1.148,1.805,3.17,3.004,5.469,3.004c2.066,0,3.906-0.969,5.094-2.476L43.792,62.05z M36.976,53.158 c0-2.633,2.137-4.77,4.771-4.77s4.771,2.137,4.771,4.77c0,2.636-2.137,4.771-4.771,4.771S36.976,55.794,36.976,53.158z"/>
+ <path d="M82.414,58.729l-30.621-6.66c0.039,0.359,0.059,0.721,0.059,1.09c0,0.896-0.117,1.761-0.332,2.584l30.121,6.552 L82.414,58.729"/>
+ <path d="M-6.032,39.491l-0.776,3.565l38.596,8.396c0.211-1.244,0.652-2.41,1.275-3.457L-6.032,39.491"/>
+ <path d="M23.074,30.345l10.533-5.964l-1.105-1.953l-12.722,7.205l-20.974-4.538c0.142,13.051,14.454,16.838,14.454,16.838 l20.979,4.47c1.85-2.056,4.529-3.346,7.51-3.346c4.496,0,8.307,2.936,9.617,6.995l26.449,5.634l6.596-12.068L23.074,30.345"/>
+ </g>
+</g>
+<g id="Camper" display="none">
+ <g display="inline">
+ <path id="path5004" d="M33.029,46.129c1.855,0,3.367-1.522,3.367-3.369v-5.62c0-1.846-1.512-3.368-3.367-3.368H7.661 c-1.857,0-3.367,1.522-3.367,3.368v5.62c0,1.846,1.51,3.369,3.367,3.369H33.029z M66.509,46.103c1.869,0,3.367-1.521,3.367-3.366 V37.14c0-1.846-1.496-3.368-3.367-3.368H54.802c-1.857,0-3.367,1.522-3.367,3.368v5.596c0,1.845,1.51,3.366,3.367,3.366H66.509z M22.975,72.839H3.802c-6.651,0-12.032-5.394-12.032-12.031l-0.024-21.019c0-9.024,7.31-16.333,16.321-16.333h55.507 c9.014,0,16.334,7.309,16.334,16.333l0.021,29.669h8.498c1.834,0,3.316,1.521,3.316,3.355H48.642 c-0.42-6.746-5.979-12.09-12.834-12.09C28.955,60.724,23.394,66.067,22.975,72.839"/>
+ <path id="path5006" d="M35.81,77.669c2.229,0,4.027-1.786,4.027-4.016c0-2.23-1.799-4.027-4.027-4.027 c-2.217,0-4.016,1.798-4.016,4.027C31.794,75.882,33.593,77.669,35.81,77.669 M26.545,73.654c0-5.13,4.136-9.275,9.265-9.275 s9.262,4.146,9.262,9.275c0,5.116-4.133,9.272-9.262,9.272C30.679,82.927,26.545,78.771,26.545,73.654"/>
+ </g>
+</g>
+<g id="Layer_10" display="none">
+ <g display="inline">
+ <path d="M11.611,84.421c9.106,0,16.495-7.389,16.495-16.506c0-9.096-7.388-16.483-16.495-16.483 c-9.083,0-16.472,7.39-16.472,16.483C-4.861,77.032,2.528,84.421,11.611,84.421z M-8.611,67.915 c0-11.172,9.072-20.211,20.222-20.211c11.184,0,20.245,9.039,20.245,20.211c0,11.184-9.061,20.232-20.245,20.232 C0.461,88.148-8.611,79.099-8.611,67.915z"/>
+ <path d="M71.167,84.612c9.084,0,16.473-7.377,16.473-16.494c0-9.106-7.389-16.483-16.473-16.483 c-9.105,0-16.494,7.377-16.494,16.483C54.672,77.235,62.061,84.612,71.167,84.612z M50.922,68.116 c0-11.184,9.072-20.223,20.244-20.223c11.15,0,20.223,9.039,20.223,20.223c0,11.185-9.072,20.233-20.223,20.233 C59.995,88.351,50.922,79.301,50.922,68.116z"/>
+ <path d="M50.979,18.757c4.199,0,7.611-3.391,7.611-7.59c0-4.2-3.412-7.613-7.611-7.613s-7.613,3.414-7.613,7.613 C43.366,15.366,46.78,18.757,50.979,18.757z"/>
+ <path d="M51.292,37.217c-1.1,0.022-2.289-0.528-3.166-1.909l-4.939-7.725L32.991,37.677l9.455,4.975 c3.885,1.864,3.301,5.277,3.301,5.277v21.4c0,2.426-1.955,4.401-4.379,4.401c-2.426,0-4.379-1.977-4.379-4.401V52.196 L20.594,43.09c-1.954-1.089-3.279-3.179-3.279-5.558c0-1.64,0.606-3.145,1.639-4.267l16.08-16.113 c1.998-2.257,4.783-1.897,4.783-1.897c3.369,0,5.143,2.942,5.143,2.942l8.354,13.092l12.689-0.022c4.559,0,4.559,5.951,0,5.951 L51.292,37.217L51.292,37.217z"/>
+ </g>
+</g>
+<g id="Layer_11" display="none">
+ <g display="inline">
+ <path d="M58.995,13.622c-3.914,0-6.928,3.128-6.928,6.927c0,3.912,3.014,7.04,6.928,7.04c3.797,0,6.926-3.128,6.926-7.04 C65.92,16.75,62.792,13.622,58.995,13.622z"/>
+ <path d="M78.325,59.098c1.449-3.24,1.117-9.833-0.338-16.537c0.111,0.223,0.672,1.788,0.783,1.899 c2.348,1.899,5.025,1.005,6.256-2.347c-2.568-5.698-5.139-11.396-7.709-17.095c-2.123-0.335-4.135,0.335-6.258,2.011 c1.008,2.347,1.9,4.693,2.795,7.039l-3.688-4.469l-6.256-1.899l-4.021,1.341c-0.338,0.335-0.674,0.782-0.895,1.117 c-3.018,4.47-4.693,9.163-5.59,13.967c-4.021,2.57-7.822,4.916-11.729,7.487c-0.896,0.559-1.791,1.117-2.572,1.676l1.455,4.135 l1.117-0.336l0.893-0.336l12.402,21.9l-4.357,17.988l7.707,1.9l0.674-2.123l1.898-5.586l4.805,7.484l2.793-0.559l-6.256-12.066 l2.568-11.176l5.252-5.695l13.52,29.496l5.139-3.35L78.325,59.098z M58.995,66.693c-1.119,2.236-2.125,4.471-3.133,6.816 L45.696,55.744l11.957-4.582l1.342-2.123l1.898-3.017c1.453,2.904,3.018,5.698,4.467,8.491 C63.127,58.537,61.004,62.561,58.995,66.693z"/>
+ <path d="M9.94,4.794c-4.021,0-7.373,3.352-7.373,7.374c0,4.135,3.352,7.374,7.373,7.374c4.024,0,7.375-3.239,7.375-7.374 C17.315,8.146,13.964,4.794,9.94,4.794z"/>
+ <path d="M31.842,53.734c1.229-1.789,1.896-4.024,2.012-6.594c-0.336-3.017-1.453-6.369-2.459-9.498 c-1.006-2.011-0.113,0,0.668,0.224c3.354,1.117,5.254,0,6.26-2.57c-3.131-6.928-5.813-13.743-9.051-20.559 c-2.572,0.111-4.584,1.006-5.922,2.569l4.357,11.956c-2.572-5.921-5.924-10.056-11.509-9.946c-2.011,0-4.134,1.006-6.259,3.13 c-0.111,0.112-0.223,0.224-0.333,0.334c-1.79,5.14-3.576,10.392-5.364,15.532l-15.529,10.616l2.121,4.246l2.348-0.779 L6.926,75.857L3.125,95.635l6.815,1.787l1.453,0.336l2.348-9.723l5.363,8.604l4.022-0.334l-8.271-14.75l1.676-8.268l6.594-7.932 l15.756,32.959l2.793-2.346l2.459-2.123L31.842,53.734z M9.94,65.131l-2.009,4.246L-3.245,50.828L9.83,44.235 c0-0.112,0.111-0.223,0.111-0.223c0.782-1.229,1.564-2.347,2.235-3.464c2.458,3.017,4.134,6.145,5.028,9.162L9.94,65.131z"/>
+ </g>
+</g>
+<g id="Layer_12" display="none">
+ <g display="inline">
+ <path d="M38.536,1.081c-27.57,0-50,22.43-50,50c0,27.568,22.43,50,50,50c27.57,0,50-22.432,50-50 C88.536,23.511,66.106,1.081,38.536,1.081z M42.567,92.817v-13.51h-8.063v13.512C14.593,90.91-1.293,75.024-3.201,55.113h13.512 v-8.064H-3.201c1.909-19.911,17.794-35.796,37.706-37.705v13.511h8.063V9.344c19.912,1.908,35.797,17.793,37.705,37.705h-13.51 v8.064h13.512C78.364,75.024,62.479,90.91,42.567,92.817z"/>
+ </g>
+</g>
+<g id="MArker" display="none">
+ <g display="inline">
+ <path d="M33.221,0C17.739,0,5.187,12.552,5.187,28.034C5.187,43.516,33.221,100,33.221,100s28.034-56.482,28.034-71.966 S48.705,0,33.221,0z M33.221,40.477c-6.871,0-12.442-5.572-12.442-12.442c0-6.872,5.571-12.442,12.442-12.442 c6.872,0,12.442,5.57,12.442,12.442C45.664,34.905,40.093,40.477,33.221,40.477z"/>
+ </g>
+</g>
+<g id="Layer_13" display="none">
+ <g display="inline">
+ <polygon points="-21.736,4.196 -5.868,20.593 0.225,15.063 -5.292,4.246 "/>
+ <path d="M49.797,50.132c3,0.834,6.225-0.883,7.08-3.963c0.822-3.031-0.93-6.218-3.951-7.076l-2.354-0.662l-3.047,11.02 L49.797,50.132z"/>
+ <path d="M47.952,37.729l-18.996-5.412c-1.248-0.329-2.502,0.429-2.846,1.692l-1.785,6.419c-0.352,1.262,0.328,2.556,1.609,2.935 l18.994,5.354L47.952,37.729z"/>
+ <path d="M50.952,55.97c-1.449-1.394-3.25-2.5-5.35-3.084l-23.029-6.515l0,0L8.424,20.998c-0.745-1.311-1.944-2.354-3.496-2.783 c-3.103-0.882-6.327,0.961-7.174,4.098c-0.423,1.489-0.223,3.009,0.448,4.295l17.701,31.38c0,0,1.449,2.353,5.096,3.563 l32.178,9.119l14.922,15.315c0.496,0.524,1.145,0.93,1.92,1.155c2.248,0.63,4.6-0.729,5.256-2.976 c0.426-1.594-0.08-3.267-1.201-4.302L50.952,55.97z"/>
+ <path d="M68.122,62.306l3.344,4.424l6.799-7.503l-5.74-3.233c0.541-4.066-1.953-8.005-5.951-9.146 c-4.4-1.235-8.973,1.343-10.197,5.791c-1.248,4.471,1.326,9.07,5.729,10.309C64.194,63.552,66.323,63.222,68.122,62.306z"/>
+ </g>
+</g>
+<g id="Layer_14" display="none">
+ <g display="inline">
+ <g>
+ <path d="M33.98,55.402c-1.104,0-1.997-0.903-1.992-2.008c0,0,0.959-15.959,2.064-15.955c1.105,0.004,1.936,15.971,1.936,15.971 C35.985,54.182,35.535,55.402,33.98,55.402z"/>
+ </g>
+ <path d="M40.456,30.102c1.613-1.62,2.612-3.853,2.612-6.314c0-4.938-4.018-8.955-8.955-8.955c-4.938,0-8.955,4.017-8.955,8.955 c0,2.461,0.999,4.694,2.612,6.314c-3.37,0.92-6.45,2.55-9.063,4.725l-1.92-1.987l1.438-1.39c0.794-0.768,0.815-2.034,0.048-2.828 c-0.767-0.794-2.033-0.815-2.828-0.048l-5.752,5.56c-0.794,0.768-0.876,2.098-0.048,2.828c1.006,0.886,2.439,0.423,2.828,0.048 l1.438-1.39l1.946,2.013c-3.649,4.228-5.864,9.728-5.864,15.738c0,13.3,10.821,24.121,24.121,24.121 c13.302,0,24.12-10.821,24.12-24.121C58.234,42.266,50.687,32.895,40.456,30.102z M27.158,23.789c0-3.835,3.12-6.955,6.955-6.955 s6.955,3.12,6.955,6.955c0,2.404-1.227,4.527-3.087,5.776c-0.615-0.1-1.238-0.172-1.868-0.225v-2.695h2c1.104,0,2-0.896,2-2 s-0.896-2-2-2h-8c-1.104,0-2,0.896-2,2s0.896,2,2,2h2v2.695c-0.63,0.052-1.253,0.125-1.868,0.225 C28.385,28.315,27.158,26.193,27.158,23.789z M34.113,73.493c-11.095,0-20.121-9.025-20.121-20.121 c0-11.095,9.026-20.122,20.121-20.122c11.096,0,20.121,9.026,20.121,20.122C54.234,64.468,45.208,73.493,34.113,73.493z"/>
+ </g>
+</g>
+<g id="Layer_15" display="none">
+ <g display="inline">
+ <g>
+ <path d="M46.244,47.581l-5.994-1.76L25.125,63.48l6.594,1.059L46.244,47.581L46.244,47.581z M36.614,44.755l-5.998-1.754 L14.535,61.776l6.593,1.061L36.614,44.755L36.614,44.755z M55.859,50.42c-1.859-0.552-3.876-1.149-5.984-1.771L35.716,65.183 l6.594,1.061L55.859,50.42L55.859,50.42z M48.139,76.538c-1.063,0.057-1.976-0.806-2.049-1.932 c-0.049-0.935-0.102-1.968-0.122-2.256c-0.046-0.599-0.528-1.045-0.528-1.045l-1.776-1.818c-4.501-0.072-8.75-0.348-12.318-0.833 c-14.343-1.948-18.632-0.78-30.551-1.005l-0.195-0.003l-0.761,0.864c0,0-0.457,0.474-0.471,1.072 c-0.008,0.287-0.007,1.323-0.005,2.257c-0.023,1.13-0.889,2.04-1.953,2.04c-1.064,0-1.93-0.91-1.945-2.04 c0.001-0.934,0.003-1.97-0.004-2.257c-0.015-0.6-0.471-1.072-0.471-1.072l-1.352-1.532c-5.227-1.045-5.807-2.91-5.807-2.91 c-1.023-3.277-1.604-7.015-1.604-10.981c0-3.789,0.526-7.367,1.463-10.534c1.822,1.418,4.059,2.672,6.802,3.568 c4.096,1.337,10.339,2.165,11.566,0.249c0.214-0.335,0.746-1.448-0.181-1.563C0.575,44.349-7.888,43.272-7.049,34.62 c0.057-0.589-0.048-1.039-0.294-1.365c0.274-0.294,0.556-0.574,0.843-0.836c0,0,0.684-0.54,1.169-0.533 c0.692,0.009,1.6,0.091,1.686,1.387c0,0,0.09,7.046,11.648,7.227c3.614,0.057,5.856-0.792,7.442-1.934l-8.646-6.281 c-1.3-0.945-1.589-2.766-0.644-4.066l3.283-4.518c0.945-1.301,2.765-1.589,4.065-0.644l14.8,10.753 c0.098-0.003,0.194-0.004,0.294-0.004c2.962,0,5.435,1.273,6.017,2.968c2.593,0.021,4.798,1.017,5.668,2.413 c0.234-0.017,0.475-0.025,0.715-0.025c2.121,0,3.993,0.653,5.101,1.646c2.436,0.065,4.505,0.993,5.398,2.292l0.233,0.071 c0.285-0.025,0.58-0.039,0.877-0.039c2.272,0,4.258,0.75,5.321,1.864c0.132-0.005,0.265-0.008,0.399-0.008 c2.169,0,4.078,0.683,5.171,1.715c4.729,1.399,8.99,2.628,11.984,3.433C87.736,53.422,88.1,60.217,79.55,64.7 c-1.459,0.764-3.404,1.44-5.701,2.024l-1.123,1.844c0,0-0.368,0.545-0.278,1.139c0.044,0.283,0.223,1.305,0.39,2.223 c0.172,1.116-0.522,2.162-1.571,2.348c-1.048,0.187-2.06-0.562-2.271-1.669c-0.157-0.921-0.338-1.941-0.396-2.224 c-0.118-0.59-0.651-0.975-0.651-0.975l-1.564-1.25c-4.563,0.656-9.688,1.076-14.808,1.252l-1.298,1.641 c0,0-0.431,0.494-0.414,1.097c0.006,0.288,0.063,1.321,0.113,2.254C50.019,75.529,49.201,76.484,48.139,76.538L48.139,76.538z"/>
+ </g>
+ </g>
+</g>
+<g id="Layer_16" display="none">
+ <g display="inline">
+ <path d="M30.549,41.405c0.99-0.266,1.575-1.278,1.309-2.263c-0.266-0.99-1.278-1.57-2.259-1.309 c-0.99,0.266-1.574,1.278-1.309,2.263C28.552,41.083,29.564,41.671,30.549,41.405z"/>
+ <path d="M41.445,41.405c0.984,0.266,1.998-0.323,2.262-1.309c0.268-0.985-0.32-1.998-1.307-2.263 c-0.982-0.262-1.998,0.318-2.266,1.304C39.875,40.127,40.458,41.139,41.445,41.405z"/>
+ <path d="M50.875,44.236c-0.721,0.725-0.721,1.889,0,2.612c0.725,0.725,1.893,0.725,2.615,0c0.717-0.724,0.717-1.888,0-2.612 C52.767,43.512,51.599,43.512,50.875,44.236z"/>
+ <path d="M58.582,57.59c0.99-0.263,1.574-1.281,1.309-2.263c-0.264-0.985-1.273-1.572-2.26-1.31 c-0.99,0.267-1.57,1.277-1.313,2.267C56.587,57.273,57.599,57.85,58.582,57.59z"/>
+ <path d="M58.585,65.865c-0.986-0.262-1.998,0.322-2.268,1.309c-0.26,0.987,0.32,1.998,1.311,2.264 c0.986,0.267,1.998-0.317,2.26-1.31C60.156,67.148,59.572,66.13,58.585,65.865z"/>
+ <path d="M50.875,76.609c-0.721,0.718-0.721,1.891,0,2.61c0.725,0.724,1.893,0.724,2.615,0c0.717-0.721,0.717-1.894,0-2.61 C52.767,75.883,51.599,75.883,50.875,76.609z"/>
+ <path d="M41.445,82.055c-0.986,0.26-1.57,1.273-1.311,2.258c0.268,0.992,1.273,1.57,2.266,1.311 c0.984-0.264,1.574-1.275,1.307-2.264C43.443,82.375,42.429,81.789,41.445,82.055z"/>
+ <path d="M30.549,82.055c-0.985-0.267-1.997,0.319-2.259,1.305c-0.266,0.986,0.319,2,1.309,2.264 c0.981,0.261,1.994-0.325,2.259-1.311C32.124,83.329,31.539,82.314,30.549,82.055z"/>
+ <path d="M18.507,76.609c-0.724,0.718-0.724,1.891,0,2.61c0.719,0.724,1.889,0.724,2.612,0c0.72-0.721,0.72-1.894,0-2.61 C20.396,75.883,19.226,75.883,18.507,76.609z"/>
+ <path d="M13.413,65.869c-0.986,0.262-1.575,1.273-1.309,2.259c0.266,0.991,1.278,1.57,2.264,1.31 c0.986-0.266,1.57-1.275,1.309-2.264C15.41,66.188,14.399,65.604,13.413,65.869z"/>
+ <path d="M13.413,57.59c0.986,0.26,1.997-0.316,2.264-1.306c0.261-0.988-0.323-2-1.309-2.267c-0.986-0.264-1.998,0.323-2.264,1.31 C11.838,56.309,12.427,57.328,13.413,57.59z"/>
+ <path d="M39.531,58.197c-0.225-0.219-0.459-0.405-0.707-0.573l0.021-0.029L21.12,44.236c-0.724-0.724-1.893-0.724-2.612,0 c-0.724,0.725-0.724,1.889,0,2.612l13.358,17.726l0.026-0.024c0.17,0.251,0.358,0.486,0.576,0.706 c1.949,1.948,5.109,1.948,7.063,0C41.47,63.309,41.47,60.146,39.531,58.197z"/>
+ <path d="M64.935,37.449l1.861-1.862l0.646,0.646c0.541,0.541,1.418,0.541,1.955,0l2.441-2.438c0.535-0.541,0.535-1.417,0-1.954 l-0.014-0.014l-5.813-5.813h-0.004c-0.537-0.541-1.414-0.541-1.955,0l-2.438,2.438c-0.541,0.541-0.541,1.414,0,1.954l0.633,0.632 l-1.854,1.854c-4.369-3.699-9.586-6.425-15.32-7.838c3.244-2.635,5.314-6.651,5.314-11.162c0-7.95-6.441-14.392-14.393-14.392 c-7.947,0-14.393,6.442-14.393,14.393c0,4.51,2.076,8.527,5.316,11.162c-5.73,1.413-10.947,4.139-15.317,7.838l-1.854-1.854 l0.628-0.632c0.537-0.541,0.537-1.413,0-1.954l-2.442-2.438c-0.537-0.541-1.409-0.541-1.95,0l0,0l-5.814,5.813L0.163,31.84 c-0.545,0.537-0.545,1.413,0,1.954l2.434,2.438c0.541,0.541,1.418,0.541,1.954,0l0.65-0.646l1.863,1.862 c-5.514,6.57-8.838,15.036-8.838,24.278c0,20.864,16.91,37.773,37.771,37.773c20.86,0,37.774-16.909,37.774-37.773 C73.771,52.484,70.453,44.018,64.935,37.449z M26.323,13.893c0-5.342,4.331-9.674,9.674-9.674c5.342,0,9.678,4.332,9.678,9.674 c0,4.188-2.666,7.75-6.381,9.099v-6.181h0.912c0.762,0,1.381-0.619,1.381-1.382v-3.45c0-0.764-0.619-1.382-1.381-1.382h-0.018 h-8.218h-0.004c-0.763,0-1.382,0.619-1.382,1.382v3.45c0,0.763,0.619,1.382,1.382,1.382h0.89v6.233 C29.058,21.739,26.323,18.137,26.323,13.893z M35.997,90.277c-15.719,0-28.459-12.743-28.459-28.465 c0-15.713,12.74-28.458,28.459-28.458c15.715,0,28.458,12.745,28.458,28.458C64.455,77.534,51.712,90.277,35.997,90.277z"/>
+ </g>
+</g>
+<g id="Layer_17" display="none">
+ <g display="inline">
+ <path d="M58.661,25.812c0.066,0.263,0.462,0.263,1.349-0.212c1.492-0.766,2.787-1.994,4.067-3.039 c1.27-1.043,2.656-2.073,3.688-3.369c0.911-1.188,0.395-2.205-1.045-1.836c-1.876,0.477-3.949,2.881-5.271,4.162 C60.959,21.979,58.436,25.058,58.661,25.812z"/>
+ <path d="M9.408,36.459c0-0.106-4.387-2.853-5.575-3.434c-1.507-0.754-5.219-3.568-6.804-1.929 c-1.031,1.083,0.462,1.994,1.348,2.734C-0.673,34.623,9.289,38.468,9.408,36.459z"/>
+ <path d="M68.914,57.917c-0.039,0.08-0.054,0.17-0.066,0.252c-0.542,2.205,8.008,5.414,9.579,6.459 c2.021,1.32,5.721,1.203,4.398-2.152C81.689,59.634,69.574,56.938,68.914,57.917z"/>
+ <path d="M53.785,69.214c0.371,2.562,1.798,5.27,3.423,7.516c1.995,2.724,6.646,7.188,5.614,11.019 c-1.004,3.713-4.82,1.348-6.301-0.633c-2.551-3.449-2.829-7.968-4.942-11.625c-1.017-1.771-2.417-3.066-4.28-3.927 c-3.699-1.666-7.677-2.733-9.882,1.588c-1.77,3.461-1.44,8.31-4.096,11.349c-1.281,1.453-4.082,2.352-5.152,0.156 c-1.413-2.865,1.189-7.238,0.503-10.386c-1.718-7.791-11.997,4.031-14.07,5.498c-5.827,4.082-3.224-3.463-2.114-6.367 c1.505-3.963,7.98-11.295,6.5-15.143c-0.674-1.729-4.188-1.229-5.55-1.123c-1.691,0.121-3.316,0.648-5.021,0.621 c-0.792,0-1.505,0.016-1.81-0.791c-0.344-0.887,0.595-1.812,0.12-2.67c-0.476-0.873-1.917-0.937-2.762-1.082 c-2.259-0.357-4.717-0.346-6.976,0c-1.836,0.275-3.738,1.203-5.627,1.043c-2.55-0.197-2.788-3.463-0.859-4.834 c1.137-0.82,3.185-1.006,4.532-0.833c6.5,1.294,19.145,3.607,23.068-3.437c2.788-4.979-1.467-4.069-4.016-5.615 c-2.273-1.387-2.921-2.603-0.385-2.88c2.339-0.263,5.337,0.713,7.742,0.806c1.823,0.066,2.788-1.532,3.409-3.025 c1.546-3.778,1.137-8.508-1.097-11.917c-1.756-2.682-4.385-4.769-5.296-7.993c-0.793-2.813,0.342-5.562,3.686-4.941 c6.448,1.176,4.743,9.525,5.998,14.083c2.259,8.257,9.419,0.846,13.924-4.36c1.031-1.188,2.775-2.959,4.439-3.197 c1.771-0.277,3.501,1.427,3.118,3.329c-0.463,2.22-3.687,3.224-4.559,5.22c-0.951,2.206,1.029,4.122,3.302,4.175 c2.473,0.065,4.679-1.705,7.097-2.008c4.703-0.582,2.602,5.707,4.002,8.56c2.272,4.599,7.241,0.397,10.214-1.083 c1.586-0.806,4.505-2.298,6.234-1.031c1.521,1.098,0.966,2.829-0.289,3.898c-2.075,1.784-5.206,1.4-7.757,1.758 c-3.698,0.501-8.06,1.862-9.751,5.548c-1.147,2.524-0.54,6.158,1.521,8.06c1.757,1.588,4.558,1.428,6.183,3.104 c3.171,3.248-2.352,5.049-4.756,5.814C57.061,62.701,53.019,63.979,53.785,69.214z"/>
+ </g>
+</g>
+<g id="Parking_Meter_2" display="none">
+ <g display="inline">
+ <path d="M36.781-0.5C19.906-0.5,6.226,13.18,6.226,30.055c0,8.828,3.747,16.775,9.733,22.354l1.377,16.536l12.5,15.275V99.5h13.89 V84.223l12.5-15.277l1.377-16.536c5.986-5.579,9.734-13.526,9.734-22.354C67.337,13.18,53.658-0.5,36.781-0.5z M29.836,52.277 h-8.333V37h8.333V52.277z M47.892,53.949v6.662h-4.166v-6.663c-2.034-0.823-3.473-2.813-3.473-5.143 c0-2.331,1.438-4.318,3.473-5.143V37h4.166v6.662c2.035,0.825,3.473,2.813,3.473,5.144C51.365,51.137,49.927,53.125,47.892,53.949 z M38.171,30.055v-2.777h4.166l-5.556-9.723l-5.555,9.723h4.167v2.777H13.17c0-13.039,10.572-23.61,23.611-23.61 c13.041,0,23.609,10.571,23.609,23.61H38.171z"/>
+ <rect x="24.628" y="38.389" width="2.083" height="12.5"/>
+ <rect x="35.393" y="10.611" width="2.778" height="4.167"/>
+ <rect x="26.017" y="13.628" transform="matrix(-0.4994 -0.8664 0.8664 -0.4994 29.1216 46.862)" width="4.167" height="2.777"/>
+ <rect x="19.66" y="19.986" transform="matrix(-0.866 -0.5001 0.5001 -0.866 29.8822 50.757)" width="4.165" height="2.778"/>
+ <rect x="44.07" y="12.932" transform="matrix(-0.8661 -0.4998 0.4998 -0.8661 77.3268 50.7449)" width="2.778" height="4.169"/>
+ <rect x="50.428" y="19.29" transform="matrix(-0.4998 -0.8661 0.8661 -0.4998 59.2055 76.936)" width="2.778" height="4.167"/>
+ </g>
+</g>
+<g id="Parking_Meter_1" display="none">
+ <g display="inline">
+ <path d="M44.683,22.206c0,1.317-1.066,2.385-2.385,2.385H30.372c-1.317,0-2.385-1.068-2.385-2.385v-5.301 c0-1.317,1.068-2.384,2.385-2.384h11.926c1.316,0,2.385,1.067,2.385,2.384V22.206z"/>
+ <path d="M64.445,27.609c0-15.5-12.609-28.109-28.109-28.109c-15.501,0-28.11,12.609-28.11,28.109l10.975,32.954 c-1.68,2.908-2.646,6.279-2.646,9.881c0,8.304,5.12,15.408,12.373,18.342V99.5h14.817V88.783 c7.252-2.934,12.371-10.036,12.371-18.34c0-3.602-0.965-6.973-2.646-9.879L64.445,27.609z M47.779,50.029H36.336V37.685h11.443 V50.029L47.779,50.029z M36.336,27.609H18.042c0-10.087,8.207-18.294,18.294-18.294c10.085,0,18.292,8.207,18.292,18.294H36.336z"/>
+ <rect x="41.149" y="38.986" width="1.815" height="9.741"/>
+ </g>
+</g>
+<g id="Subway" display="none">
+ <g id="Layer_31" display="inline">
+ <g>
+ <rect x="-5.774" y="-0.5" width="83.334" height="12.5"/>
+ <g>
+ <path d="M32.101,38.551h3.793h3.792c0.721,0.002,1.285-0.588,1.285-1.287v-2.19c0-0.701-0.598-1.276-1.285-1.287h-3.792h-3.793 c-0.688,0.011-1.283,0.586-1.283,1.287v2.19C30.819,37.962,31.382,38.553,32.101,38.551z"/>
+ <path d="M49.177,48.982V43.97c-0.012-2.09-1.363-3.913-3.918-3.917h-9.366h-9.368c-2.552,0.004-3.903,1.827-3.917,3.917v5.012 c-0.005,2.428,1.757,3.905,3.917,3.917h9.368h9.366C47.423,52.889,49.185,51.41,49.177,48.982z"/>
+ <path d="M26.087,64.18c-1.885-0.011-3.421,1.523-3.416,3.414c-0.005,1.897,1.531,3.432,3.416,3.446 c1.9-0.017,3.438-1.549,3.443-3.446C29.523,65.703,27.988,64.169,26.087,64.18z"/>
+ <path d="M35.894,16.167c-23.013,0-41.667,18.655-41.667,41.666c0,23.012,18.655,41.667,41.667,41.667 c23.012,0,41.667-18.655,41.667-41.667C77.56,34.822,58.906,16.167,35.894,16.167z M38.777,27.051 c1.189-0.012,2.162,0.957,2.162,2.163c0,1.188-0.973,2.156-2.162,2.162c-1.201-0.005-2.169-0.974-2.162-2.162 C36.607,28.008,37.576,27.038,38.777,27.051z M33.01,27.051c1.203-0.013,2.172,0.957,2.163,2.163 c0.009,1.188-0.96,2.156-2.163,2.162c-1.188-0.005-2.159-0.974-2.161-2.162C30.851,28.008,31.822,27.038,33.01,27.051z M51.181,88.617l-6.451-9.465h-8.836h-8.836l-6.423,9.465h-5.199l8.992-13.506c-2.998-0.498-5.99-3.631-5.984-7.454V39.74 c-0.006-3.938,3.312-7.555,7.83-7.55h9.651h9.617c4.492-0.005,7.811,3.613,7.803,7.55v27.917 c0.008,3.823-2.984,6.956-5.984,7.454l8.992,13.506H51.181z"/>
+ <path d="M49.052,67.594c-0.01-1.891-1.543-3.425-3.447-3.414c-1.887-0.009-3.418,1.523-3.412,3.414 c-0.006,1.897,1.525,3.432,3.412,3.446C47.509,71.023,49.042,69.491,49.052,67.594z"/>
+ </g>
+ </g>
+ </g>
+</g>
+<g id="Protest" display="none">
+ <g display="inline">
+ <path d="M38.705,38.865c-0.168,0.449-0.276,0.91-0.324,1.379c-0.053,0.518-0.038,1.039,0.058,1.555 c0.058,0.309,0.131,0.617,0.241,0.918c0.515,1.392,1.539,2.499,2.889,3.119c0.732,0.338,1.514,0.508,2.314,0.508 c0.996,0,1.949-0.279,2.781-0.764c0.449-0.262,0.863-0.584,1.227-0.964c0.324-0.339,0.605-0.725,0.84-1.145 c0.066-0.121,0.143-0.237,0.199-0.365c0,0,11.078-24.098,11.104-24.147c0.021-0.052,0.334-0.974,0.398-1.345 c0.436-2.428-0.781-4.941-3.127-6.021c-0.73-0.338-1.512-0.508-2.313-0.508c-1.688,0-3.258,0.78-4.299,2.052 c-0.293,0.359-0.553,0.75-0.748,1.183c0-0.004,0.002-0.008,0.004-0.011l-0.006,0.012c-0.002,0.001-0.002,0.004-0.004,0.006 L38.842,38.47C38.785,38.599,38.753,38.733,38.705,38.865z"/>
+ <path d="M43.703,12.33c0.234,0.236,0.387,0.544,0.5,0.881c0.262,0.799,0.219,1.822,0,2.859c-0.111,0.529-0.262,1.054-0.441,1.551 c-0.068,0.191-0.137,0.384-0.215,0.564c-0.113,0.275-0.262,0.595-0.434,0.933c-1.504,2.975-5.373,7.975-14.463,8.285 c-0.005,0-0.012,0.001-0.017,0.001l-3.787,7.886c2.366,0.559,6.577,1.881,10.227,4.73l12.344-26.859 c0.203-0.438,0.32-0.889,0.402-1.344c0.432-2.431-0.783-4.945-3.127-6.022c-0.734-0.336-1.516-0.508-2.314-0.508 c-1.688,0-3.256,0.779-4.297,2.052c-0.297,0.359-0.555,0.751-0.754,1.184c0.002-0.004,0.002-0.006,0.006-0.01l-0.006,0.01 L37.324,8.53l-1.56,3.395h7.532L43.703,12.33z"/>
+ <path d="M29.087,11.924h1.352h2.268l2.087-4.549c0.2-0.438,0.319-0.89,0.399-1.344c0.433-2.429-0.782-4.943-3.126-6.021 c-0.736-0.336-1.514-0.51-2.314-0.51c-1.688,0-3.258,0.781-4.299,2.053c-0.293,0.359-0.552,0.751-0.751,1.185 c0,0.002-0.004,0.004-0.004,0.006l-4.213,9.18H25.1H29.087z"/>
+ <polygon points="34.804,7.361 34.807,7.354 34.804,7.361 34.799,7.374 "/>
+ <polygon points="58.777,28.34 58.777,28.34 58.777,28.341 "/>
+ <polygon points="48.175,44.752 48.177,44.748 48.175,44.749 "/>
+ <polygon points="48.179,44.741 48.177,44.745 48.177,44.746 "/>
+ <path d="M68.406,32.776c0-0.624-0.348-1.915-0.361-1.927c-0.785-2.115-2.805-3.628-5.191-3.628c-0.5,0-0.979,0.088-1.441,0.213 c-0.803,0.216-1.527,0.607-2.145,1.131c-0.725,0.617-1.281,1.405-1.615,2.315c-0.004,0.012-0.006,0.026-0.012,0.038l-6.939,14.99 h0.002c-0.205,0.447-0.307,0.913-0.332,1.377c-0.008,0.166,0,0.33,0.014,0.492c0.105,1.305,0.889,2.518,2.16,3.103 c0.604,0.279,1.254,0.362,1.889,0.297c0.828-0.086,1.629-0.432,2.242-0.996c0.295-0.271,0.539-0.6,0.732-0.962l3.604-7.787 l2.521,1.163l0.25-0.543l-3.742,8.143l-0.006,0.012c-0.063,0.135-0.137,0.259-0.211,0.386c-0.154,0.278-0.326,0.548-0.518,0.8 c-0.391,0.519-0.859,0.967-1.379,1.342c-1.006,0.733-2.213,1.184-3.494,1.248c-0.111,0.007-0.219,0.021-0.326,0.021h-0.002 c-0.943,0-1.859-0.202-2.723-0.598c-1.293-0.597-2.285-1.566-2.936-2.72c-0.314-0.558-0.537-1.158-0.68-1.782 c-0.053-0.233-0.096-0.466-0.121-0.705c-0.432,0.22-0.873,0.412-1.338,0.555c-0.775,0.238-1.594,0.368-2.426,0.368l0,0 c-0.965,0-1.609-0.172-2.512-0.497c0.512,1.676,0.832,3.527,0.832,5.63v10.526h-2.777V54.255c0-2.521-0.788-4.656-1.598-6.478 c-3.794-8.545-14.629-10.023-15.183-10.092l-1.914-0.24l6.146-12.802h0.875c0.232,0,0.43-0.029,0.652-0.035 c0.538-0.016,1.074-0.033,1.568-0.084c5.297-0.549,8.203-3.018,9.738-5.135c0.134-0.183,0.25-0.367,0.367-0.548 c0.271-0.426,0.498-0.842,0.689-1.248c0.219-0.463,0.389-0.906,0.518-1.313c0.195-0.628,0.297-1.174,0.328-1.578H18.634 c-2.75,0-5.154,1.458-6.5,3.64c-0.314,0.51-0.572,1.056-0.762,1.635l-7.218,15.48l-0.371,0.796 c-0.356,0.882-0.557,1.844-0.557,2.855c0,1.382,0.373,2.675,1.014,3.794l0.781,1.12l17.738,23.492v31.983h33.33V99.5h2.777 l0.002-23.609l8.822-17.957c0.123-0.223,0.242-0.445,0.336-0.687c0.232-0.595,0.367-1.235,0.379-1.908 C68.408,55.305,68.406,32.776,68.406,32.776z"/>
+ </g>
+</g>
+<g id="Tram" display="none">
+ <g display="inline">
+ <path d="M66.417,72.464c1.535-0.323,2.771-1.456,3.238-2.934h9.643V55.792l-3.801-13.823H36.226h-8.687v-1.675l11.251-7.565 L25.065,23.5l-13.727,9.229l11.251,7.565v1.675H-3.046l-3.8,13.823V69.53h9.641c0.468,1.478,1.705,2.608,3.239,2.934h-19.808 v3.118h100v-3.118H66.417z M68.582,44.366h5.09l3.143,11.426h-8.23V44.366H68.582z M56.148,44.366h10.037v11.426H56.148V44.366z M64.634,72.464h-7.822c1.09-0.228,2.031-0.856,2.656-1.735h2.508C62.599,71.607,63.542,72.238,64.634,72.464z M43.714,44.366 h10.037v11.426H43.714V44.366z M55.046,72.464h-37.64c1.091-0.228,2.034-0.856,2.658-1.735h16.162h16.163 C53.011,71.607,53.955,72.238,55.046,72.464z M31.135,44.366h10.183v11.426H31.135V44.366z M15.635,32.729l9.43-6.34l9.43,6.34 l-9.43,6.34L15.635,32.729z M18.701,44.366h10.037v11.426H18.701V44.366z M6.267,44.366h10.037v11.426H6.267V44.366z M3.87,55.792 h-8.23l3.141-11.426H3.87V55.792z M10.476,70.729h2.507c0.624,0.879,1.567,1.51,2.658,1.735H7.818 C8.91,72.238,9.852,71.607,10.476,70.729z"/>
+ </g>
+</g>
+<g id="Bus" display="none">
+ <g display="inline">
+ <path d="M86.226,59.834l-6.945-47.421c0,0-1.586-10.913-12.896-10.913H6.067C-5.242,1.501-6.83,12.414-6.83,12.414l-6.944,47.42 l2.777,15.674l-1.785,2.184v11.11h7.54v9.921h18.254v-9.921h46.427v9.921h18.256v-9.921h7.539v-11.11l-1.787-2.184L86.226,59.834z M15.491,3.882H56.96v11.11H15.491V3.882z M-4.945,20.549l18.65-1.985h19.643v30.159H-8.516L-4.945,20.549z M12.267,69.161 c0,2.409-1.954,4.364-4.365,4.364c-1.852,0-3.433-1.155-4.067-2.782C3.2,72.37,1.619,73.525-0.233,73.525 c-2.411,0-4.365-1.955-4.365-4.364c0-2.412,1.955-4.366,4.365-4.366c1.852,0,3.433,1.153,4.068,2.781 c0.634-1.628,2.215-2.781,4.067-2.781C10.313,64.794,12.267,66.749,12.267,69.161z M78.089,79.874H-5.639v-1.589h83.729V79.874z M60.183,69.161c0-2.412,1.953-4.366,4.365-4.366c1.852,0,3.434,1.153,4.068,2.781c0.633-1.628,2.215-2.781,4.064-2.781 c2.412,0,4.365,1.954,4.365,4.366c0,2.409-1.953,4.364-4.365,4.364c-1.852,0-3.432-1.155-4.064-2.782 c-0.637,1.627-2.217,2.782-4.068,2.782C62.136,73.525,60.183,71.57,60.183,69.161z M39.103,48.723V18.564h19.643l18.65,1.985 l3.57,28.174H39.103z"/>
+ </g>
+</g>
+<g id="iPhone" display="none">
+ <g display="inline">
+ <path d="M54.328-0.5H19.063c-4.328,0-7.837,3.508-7.837,7.836v84.327c0,4.328,3.509,7.837,7.837,7.837h35.265 c4.328,0,7.836-3.509,7.836-7.837V7.336C62.164,3.008,58.656-0.5,54.328-0.5z M32.841,7.815h7.708 c0.575,0,1.043,0.467,1.043,1.044c0,0.576-0.468,1.043-1.043,1.043h-7.708c-0.577,0-1.044-0.467-1.044-1.043 C31.797,8.282,32.264,7.815,32.841,7.815z M28.349,7.415c0.687,0,1.244,0.557,1.244,1.244s-0.557,1.244-1.244,1.244 s-1.244-0.557-1.244-1.244S27.663,7.415,28.349,7.415z M36.695,95.271c-2.705,0-4.898-2.191-4.898-4.896 c0-2.706,2.193-4.898,4.898-4.898c2.705,0,4.897,2.192,4.897,4.898C41.592,93.08,39.4,95.271,36.695,95.271z M58.246,81.989 H15.145V17.011h43.101V81.989z"/>
+ </g>
+</g>
+<g id="iPad" display="none">
+ <g display="inline">
+ <path d="M70.226-0.5h-68c-2.762,0-5,2.239-5,5v90c0,2.762,2.238,5,5,5h68c2.762,0,5-2.238,5-5v-90 C75.226,1.739,72.988-0.5,70.226-0.5z M36.226,98c-1.38,0-2.5-1.119-2.5-2.5s1.119-2.5,2.5-2.5c1.383,0,2.5,1.119,2.5,2.5 S37.609,98,36.226,98z M67.228,90.463c0,0.572-0.465,1.037-1.033,1.037H6.26c-0.569,0-1.033-0.465-1.033-1.037V8.537 C5.227,7.964,5.691,7.5,6.26,7.5h59.935c0.568,0,1.033,0.464,1.033,1.037V90.463z"/>
+ </g>
+</g>
+<g id="Power" display="none">
+ <g display="inline">
+ <path d="M-9.774,53.072C-9.79,40.2-4.453,30.462,0.706,24.28l0,0c5.187-6.233,10.224-9.236,10.676-9.516l0,0 c3.368-1.993,7.697-0.849,9.667,2.555l0,0c1.966,3.392,0.851,7.747-2.489,9.75l0,0l0.001,0.001c0,0-0.004,0.001-0.015,0.008l0,0 c-0.009,0.004-0.023,0.014-0.042,0.026l0,0c-0.068,0.042-0.194,0.125-0.367,0.244l0,0c-0.351,0.234-0.897,0.625-1.572,1.162l0,0 c-1.349,1.073-3.203,2.74-5.029,4.945l0,0C7.867,37.922,4.37,44.253,4.355,53.07l0,0c0.003,8.89,3.547,16.883,9.314,22.723l0,0 c5.78,5.83,13.687,9.416,22.48,9.418l0,0c8.793-0.002,16.699-3.588,22.478-9.418l0,0c5.77-5.84,9.313-13.833,9.316-22.723l0,0 c-0.017-8.547-3.294-14.742-6.837-19.194l0,0c-3.373-4.221-6.982-6.572-7.342-6.791l0,0c-0.004-0.003-0.009-0.004-0.012-0.006l0,0 c-0.005-0.003-0.008-0.005-0.011-0.006l0,0c-0.003-0.003-0.007-0.003-0.007-0.003l0,0l0,0c-3.336-2.005-4.452-6.36-2.488-9.752 l0,0c1.972-3.404,6.3-4.548,9.667-2.555l0,0c0.454,0.279,5.491,3.282,10.678,9.516l0,0c5.162,6.183,10.496,15.92,10.481,28.792 l0,0C82.07,78.708,61.509,99.491,36.15,99.5l0,0C10.791,99.491-9.768,78.708-9.774,53.072L-9.774,53.072z"/>
+ <path d="M29.085,49.501v-21.43V6.643c0-3.944,3.163-7.143,7.066-7.143l0,0c3.899,0,7.062,3.199,7.062,7.143l0,0v21.428v21.43 h0.002c0,3.94-3.165,7.142-7.064,7.142l0,0C32.248,56.643,29.085,53.441,29.085,49.501L29.085,49.501z"/>
+ </g>
+</g>
+<g id="City" display="none">
+ <g display="inline">
+ <g>
+ <path d="M58.754,67.279c-6.369,0-12.141,2.572-16.33,6.735c4.469,2.974,6.594,8.539,5.17,16.431h34.328 C81.922,77.65,71.549,67.279,58.754,67.279z"/>
+ <path d="M33.036,75.885c-8.042,0-14.559,6.521-14.559,14.561h29.117C47.594,82.405,41.074,75.885,33.036,75.885z"/>
+ </g>
+ <polygon points="68.629,2.434 68.629,-3.305 49.164,-3.305 49.164,2.434 36.606,2.434 36.623,5.116 36.619,5.116 36.619,43.871 42.795,49.928 42.795,8.803 49.444,8.803 49.444,60.647 55.62,60.647 55.62,8.803 62.281,8.803 62.281,60.647 68.457,60.647 68.457,8.803 75.553,8.803 75.553,65.008 81.922,70.559 81.922,2.434 "/>
+ <g>
+ <path d="M33.032,50.442H3.581L0.316,90.445h11.793c0-11.539,9.388-20.925,20.927-20.925c1.51,0,2.98,0.167,4.4,0.473l0.503-0.497 c1.522-1.512,3.187-2.817,4.95-3.944v-4.903L33.032,50.442z"/>
+ <path d="M-18.052,34.912v55.533h17.96H0.26V34.912l-9.233-22.557L-18.052,34.912z M-4.178,43.9c0,2.547-2.063,4.615-4.619,4.615 c-2.55,0-4.614-2.068-4.614-4.615c0-2.55,2.063-4.614,4.614-4.614C-6.242,39.286-4.178,41.351-4.178,43.9z"/>
+ </g>
+ </g>
+</g>
+<g id="Afro" display="none">
+ <g display="inline">
+ <g>
+ <path d="M20.298,59.79c-0.356,1.319-0.559,2.823-0.559,4.421c0,2.959,0.689,5.6,1.771,7.338c2.34,1.393,4.307,4.215,5.564,7.881 c2.568-2.232,7.076-2.299,8.313-2.299h2.938h2.939c1.234,0,5.741,0.064,8.312,2.299c1.258-3.666,3.226-6.488,5.564-7.881 c1.08-1.738,1.771-4.379,1.771-7.338c0-1.598-0.201-3.102-0.56-4.421l-0.008-0.027c-0.326-1.338-0.523-2.808-0.523-4.452 c0-1.508,0.155-2.93,0.427-4.187c0.095-0.408,0.149-0.822,0.149-1.262c0-2.861-2.157-5.181-4.818-5.181 c-1.38,0-2.617,0.625-3.51,1.634l-0.124,0.146c-2.258,2.642-5.694,4.328-9.547,4.328h-0.075h-0.076 c-3.851,0-7.288-1.687-9.547-4.328l-0.123-0.146c-0.892-1.009-2.13-1.634-3.511-1.634c-2.66,0-4.816,2.319-4.816,5.181 c0,0.36,0.036,0.703,0.103,1.039c0.306,1.311,0.479,2.812,0.479,4.408c0,1.646-0.197,3.115-0.523,4.453L20.298,59.79 L20.298,59.79z M38.326,81.516H38.18c0,0-1.831,0.004-5.327,0.244c-3.493,0.24-2.991,4.707-2.493,6.682 c0.383,1.512,1.678,3.045,3.059,3.316c2.803,0.371,3.849-0.984,3.849-2.6c0-1.057,0.135-1.686-1.685-2.664 c-0.687-0.357-1.132-0.938-1.089-1.834c1.177,0.195,2.463,0.305,3.809,0.305h0.023h0.024c1.346,0,2.631-0.107,3.809-0.305 c0.044,0.896-0.402,1.477-1.09,1.834c-1.817,0.979-1.682,1.607-1.682,2.664c0,1.615,1.045,2.971,3.847,2.6 c1.381-0.271,2.677-1.807,3.058-3.316c0.499-1.975,1.002-6.439-2.493-6.682c-3.493-0.24-5.326-0.244-5.326-0.244H38.326 L38.326,81.516z M16.105,57.388c-1.035,1.63-1.456,3.95-0.994,6.438c0.604,3.244,2.537,5.877,4.816,6.918L16.105,57.388 L16.105,57.388z M56.777,70.572c2.126-1.139,3.898-3.666,4.468-6.746c0.434-2.318,0.095-4.495-0.793-6.1L56.777,70.572 L56.777,70.572z M-8.633,38.453c0-21.107,21.012-38.217,46.932-38.217S85.23,17.346,85.23,38.453 c0,16.065-12.171,29.813-29.411,35.467l-0.75,2.621c-1.64,6.16-2.461,11.838-3.714,14.512c-1.032,4.363-6.437,8.068-12.889,8.068 l-0.141-0.002l-0.139,0.002c-6.455,0-11.856-3.705-12.891-8.068c-1.252-2.674-2.072-8.352-3.713-14.512l-0.744-2.602 C3.567,68.299-8.633,54.537-8.633,38.453L-8.633,38.453z M25.407,62.953c0.499-0.492,1.988-1.789,4.125-2.088 c2.395-0.332,3.649,1.689,3.873,2.088H25.407L25.407,62.953z M23.452,59.363c1.142-1.392,3.199-2.4,5.605-2.569 c1.941-0.136,3.734,0.303,5.052,1.118l1.409,3.588c-1.684-1.592-4.551-2.71-7.667-2.805 C26.193,58.645,24.687,58.895,23.452,59.363L23.452,59.363z M52.903,59.363c-1.234-0.469-2.739-0.719-4.398-0.668 c-3.115,0.095-5.983,1.213-7.668,2.805l1.409-3.588c1.316-0.815,3.11-1.254,5.053-1.118 C49.704,56.963,51.763,57.972,52.903,59.363L52.903,59.363z M50.948,62.953h-7.997c0.222-0.398,1.479-2.42,3.872-2.088 C48.96,61.164,50.449,62.461,50.948,62.953L50.948,62.953z"/>
+ </g>
+ </g>
+</g>
+<g id="Fort" display="none">
+ <g display="inline">
+ <g id="Layer_3_1_">
+ </g>
+ <g id="Layer_2_1_">
+ </g>
+ <g>
+ <path d="M72.82,51.818l-1.879-1.98l-1.881,1.98l-1.879-1.98l-1.879,1.98l-1.879-1.98l-1.879,1.98l-1.881-1.98l-0.98,1.034V29.651 c0-0.36-0.357-0.652-0.797-0.652s-0.797,0.292-0.797,0.652v21.433l-1.184-1.245l-1.879,1.979l-1.879-1.98l-1.881,1.98 l-1.879-1.98l-1.879,1.98l-1.879-1.98l-1.879,1.98l-1.879-1.98l-1.881,1.98V37.761l-15.045-9.178L8.924,37.761v14.056 l-1.88-1.979l-1.879,1.979l-1.879-1.979l-1.879,1.98l-1.88-1.98l-1.879,1.98l-1.879-1.98l-1.879,1.98v22.209h82.688V51.818 l-1.879-1.98L72.82,51.818z"/>
+ <path d="M76.615,29.451c-2.412,1.052-3.807,0.518-5.553-0.158C69.859,28.827,68.5,28.3,66.63,28.3 c-3.152,0-5.5,1.523-6.541,2.345v10.541c0.508-0.461,3.012-2.559,6.541-2.559c1.74,0,2.982,0.48,4.184,0.945 c1.678,0.651,3.273,1.265,5.773,0.274l-5.104-5.104l5.131-5.13V29.451z"/>
+ </g>
+ </g>
+</g>
+<g id="Tag_2" display="none">
+ <g display="inline">
+ <path d="M-8.743,21.079V40.03l60.135,60.136c2.617,2.615,6.859,2.615,9.477,0l28.426-28.43c2.617-2.615,2.617-6.857,0-9.477 L29.16,2.126h-18.95L-8.743,21.079z M22.656,33.183c-2.617,2.617-6.859,2.617-9.477,0c-2.617-2.617-2.617-6.859,0-9.476 c2.616-2.617,6.857-2.617,9.477,0C25.273,26.324,25.273,30.565,22.656,33.183z"/>
+ </g>
+</g>
+<g id="Tag_1" display="none">
+ <g display="inline">
+ <path d="M88.469,61.021L28.334,0.888H-9.568V38.79l60.135,60.135c2.617,2.617,6.859,2.617,9.477,0l28.426-28.428 C91.086,67.882,91.086,63.639,88.469,61.021z M12.355,31.944c-2.616-2.617-2.616-6.859,0-9.476s6.858-2.617,9.476,0 s2.617,6.859,0,9.476C19.213,34.561,14.971,34.561,12.355,31.944z"/>
+ </g>
+</g>
+<g id="Butterfly" display="none">
+ <g display="inline">
+ <path d="M85.857,20.961c-0.105-1.276-1.928-2.346-2.781-2.595c-14.996-4.363-38.959,22.41-44.396,28.775l0.016-0.263 c0.012-0.101,0.018-0.203,0.018-0.307c0-1.559-1.264-2.822-2.822-2.822c-1.559,0-2.821,1.263-2.821,2.822 c0,0.104,0.007,0.206,0.018,0.307l0.016,0.263C27.664,40.776,3.7,14.003-11.296,18.366c-0.854,0.249-2.677,1.318-2.78,2.595 c-0.248,3.08,0.861,5.627,2.882,7.614c8.012,7.875,5.438,15.677,7.683,20.727c1.318,2.966,11.071,3.666,8.898,4.448 c-20.597,7.414,4.119,35.261,15.652,28.341c4.379-2.627,11.979-15.557,13.053-17.407l0.52,9.156c0,0.706,0.572,1.278,1.277,1.278 c0.707,0,1.279-0.572,1.279-1.278l0.519-9.156c1.072,1.851,8.674,14.78,13.053,17.407c11.535,6.92,36.25-20.927,15.654-28.341 c-2.176-0.782,7.578-1.482,8.896-4.448c2.244-5.05-0.33-12.853,7.682-20.727C84.994,26.588,86.105,24.04,85.857,20.961z"/>
+ </g>
+</g>
+<g id="Bear" display="none">
+ <g display="inline">
+ <path d="M6.344,20.093c0,0-2.713-4.171-4.833-3.525c-2.333,0.71-1.137,5.351-1.137,5.351c-4.348,0.754-6.248,7.257-14.025,7.775 c-2.854,0.19-0.239,7.377,7.543,8.941c10.818,2.175,18.603,7.619,19.69,11.021c0.651,2.038,6.502,22.364,4.017,26.057 c0,0-4.677,1.088-2.448,5.443c0.586,1.146,10.262,0.785,10.852-1.378c0.233-0.857,2.553-8.252,2.553-8.252 c2.104,2.418,2.031,5.195,0.319,7.213c-1.397,1.646,1.72,4.905,6.135,3.477c5.297-1.714,5.565-16.114,5.565-21.813 c0,0,9.972,3.696,20.335,1.877c0,0,1.292,12.526,0.705,13.335c-0.607,0.837-4.277,2.695-1.861,5.675 c1.661,2.049,6.268,1.563,7.709,0.28c3.077-2.736,6.441-15.158,6.441-15.158s3.024,9.582,2.511,10.094 c-3.21,3.188-1.162,6.313,2.101,6.313c0,0,5.479,0.927,6.712-4.01c0,0-1.389-25.691-0.437-30.988 c2.229-12.41-23.119-18.168-26.654-18.509c-6.048-0.584-20.315-0.616-22.051-1.197c-1.59-0.533-5.487-2.761-8.175-3.272 c-2.176-0.414-5.349,0.502-7.098,0.202c-1.994-0.342-7.55-2.912-7.55-2.912s0.271-3.868-2.288-4.555 C9.26,17.115,6.344,20.093,6.344,20.093z"/>
+ </g>
+</g>
+<g id="Moose" display="none">
+ <g display="inline">
+ <path d="M84.712,69.725c-0.723-1.326-1.719-2.535-2.928-3.5c-0.361-0.302-0.754-0.604-1.176-0.936 c-0.302-0.211-0.544-0.482-0.693-0.814c-0.694-1.269-1.269-2.656-1.631-4.104c-0.422-1.688-0.754-3.438-0.904-5.222l-0.182-1.658 l-0.091-0.936l-0.03-0.424c0-0.029,0-0.029,0-0.061c0-0.693-0.119-1.389-0.361-2.051c-0.361-0.906-1.086-1.57-1.991-1.871 c-0.181-0.061-0.362-0.091-0.543-0.091c-0.151,0-0.271,0-0.394,0.03c-0.09,0.03-0.24,0.061-0.422,0.091l-0.664,0.15l-0.453,0.121 l-0.451,0.121l-0.694,0.121l-0.724,0.211l-0.814,0.182l-0.725,0.211l-0.424,0.151c-0.211,0.121-0.422,0.181-0.633,0.241 c-0.121,0.031-0.211,0.031-0.303,0.031c-0.754-0.151-1.268-0.845-1.207-1.6c0.03-0.513,0.061-1.056,0.061-1.569 c0-0.845-0.061-1.66-0.149-2.475l-0.062-0.513c0.182-0.03,0.303-0.121,0.453-0.241c0.725-0.785,1.146-1.811,1.146-2.896 c0-0.061,0-0.151,0-0.211c-0.029-0.634-0.241-1.268-0.603-1.78c-0.996-1.479-2.385-2.716-3.983-3.53L61.9,34.269l-0.664-0.302 l-0.662-0.241L60,33.484l-0.635-0.241l-0.693-0.271c-0.301-0.09-0.604-0.181-0.936-0.271c-0.936-0.211-1.871-0.332-2.775-0.392 c-0.725-0.03-1.448-0.061-2.172-0.061c0,0-0.031,0-0.062,0c-1.146,0-2.323,0-3.501-0.03c-0.332-0.03-0.633-0.03-0.936-0.03 c-0.936,0-1.871,0.061-2.807,0.121c-0.271,0.03-0.514,0.03-0.755,0.03c-0.905-0.03-1.812-0.121-2.687-0.302 c-0.692-0.121-1.328-0.302-1.99-0.543c-0.424-0.181-0.905-0.332-1.389-0.483c-0.332-0.091-0.633-0.211-0.905-0.362 c-0.331-0.182-0.663-0.333-1.025-0.483c-0.513-0.181-0.996-0.422-1.479-0.725c-0.483-0.271-1.026-0.573-1.569-0.845 s-1.086-0.543-1.629-0.875c-0.604-0.332-1.237-0.604-1.871-0.785c-1.238-0.362-2.505-0.543-3.802-0.573c-0.091,0-0.181,0-0.271,0 c-1.569,0-3.138,0.181-4.677,0.513c-1.509,0.302-2.987,0.694-4.436,1.116l-1.237,0.393l-0.483,0.121l0.181-0.272l0.422-0.513 l0.362-0.422l0.543-0.573l0.513-0.483l0.694-0.604l1.117-0.965l0.965-0.875l0.785-0.815l0.966-1.237 c0.271-0.453,0.482-0.905,0.694-1.418c0.211-0.573,0.332-1.207,0.362-1.841c0-0.06,0-0.09,0-0.151c0-0.573-0.091-1.177-0.211-1.75 c0-0.06-0.03-0.09-0.091-0.09h-0.06c-0.664,1.268-1.449,2.535-2.293,3.742c-0.422,0.634-0.935,1.177-1.539,1.569l-0.452,0.302 c0.301-0.996,0.452-2.021,0.452-3.047l0.03-0.664l-0.06-0.905l-0.061-0.513c-0.061-0.151-0.211-0.272-0.362-0.272 c-0.181,0-0.332,0.121-0.393,0.272l-0.121,0.513l-0.271,0.694l-0.332,0.875l-0.241,0.573l-0.422,0.845 c-0.151,0.362-0.393,0.694-0.694,0.936c-0.482,0.42-1.236,0.058-1.236-0.576c0,0,0-0.061,0-0.09l0.272-2.052 c0.06-0.211,0.09-0.422,0.121-0.634v-0.03c0-0.09-0.061-0.151-0.151-0.181c-0.061-0.03-0.091-0.03-0.151-0.03 c-0.091,0-0.211,0.03-0.302,0.09l-0.996,0.815l-0.754,0.724l-0.694,0.694l-1.509,1.72c-0.332,0.302-0.845,0.121-0.905-0.332 L9.306,20.63l-0.121-0.936l-0.061-0.936l-0.06-0.995L9.003,17.37c-0.03-0.09-0.09-0.151-0.181-0.151 c-0.151,0-0.302,0.091-0.392,0.211c-0.724,0.936-1.358,1.961-1.871,3.078c-0.15,0.332-0.392,0.664-0.633,0.935 c-0.302,0.302-0.815,0.182-0.936-0.211c-0.121-0.392-0.241-0.754-0.362-1.146c-0.15-0.453-0.181-0.785-0.09-1.117 c0.09-0.453,0.121-0.905,0.121-1.358c0-0.271,0-0.543-0.03-0.815l-0.121-0.875c0-0.24-0.211-0.421-0.453-0.421 c-0.151,0-0.271,0.061-0.362,0.181c-0.302,0.362-0.543,0.755-0.754,1.177c-0.423,0.814-0.634,1.72-0.694,2.625l-0.03,0.543 c-0.814-0.905-1.509-1.871-2.021-2.957l-0.121-0.242l-0.543,3.108l-0.211-0.483L-0.863,19l-0.302-0.664l-0.573-1.116l-0.754-1.146 c-0.121-0.121-0.242-0.242-0.393-0.362C-3.036,15.561-3.217,15.5-3.428,15.5c-0.453,0-0.814,0.362-0.814,0.815 c0,0.121,0,0.241,0.03,0.362c0.03,0.664,0.151,1.357,0.393,1.992l0.241,0.693l0.393,0.845c0.03,0.03,0.06,0.061,0.06,0.121 c-0.03,0.211-0.211,0.332-0.392,0.302l-0.122-0.03l-0.272-0.09l-0.241-0.151l-0.453-0.271l-1.569-1.299l-0.211-0.181l-0.302-0.241 l-0.212-0.211l-0.181-0.212l-0.331-0.332c0-0.03-0.03-0.03-0.061-0.06c-0.031-0.03-0.06-0.03-0.121-0.03s-0.121,0.03-0.151,0.121 c-0.03,0.09-0.03,0.151-0.03,0.241c0,0.091,0,0.181,0.03,0.272c0.182,0.724,0.393,1.448,0.695,2.112l0.483,1.237l0.151,0.392 l0.03,0.151c0,0.03,0,0.03,0,0.03c0,0.09-0.061,0.151-0.121,0.211c-0.15,0.06-0.301,0.06-0.392-0.03l-0.543-0.271l-0.604-0.392 l-0.604-0.393l-0.664-0.422l-1.056-0.815l-1.327-1.147l-1.117-1.086c-0.09-0.061-0.15-0.09-0.272-0.121 c-0.03,0-0.06-0.03-0.09-0.03c-0.09,0-0.181,0.061-0.241,0.151c-0.061,0.061-0.09,0.15-0.09,0.241c0,0.06,0.03,0.121,0.03,0.151 c0.694,1.599,1.66,3.048,2.836,4.254c0.573,0.574,1.146,1.117,1.78,1.6c0.725,0.573,1.509,1.117,2.324,1.569 c0.241,0.15,0.482,0.301,0.754,0.453c0.362,0.241,0.724,0.482,1.056,0.754c0.362,0.271,0.664,0.604,0.936,0.936l0.241,0.332 c-1.72,0.09-3.47,0.332-5.19,0.724c-1.418,0.333-2.746,0.875-3.953,1.69c-1.117,0.754-1.871,1.931-2.052,3.259 c-0.03,0.06-0.03,0.15-0.03,0.241c0,0.814,0.513,1.539,1.268,1.781c0.09,0.03,0.181,0.06,0.241,0.06 c0.181,0,0.332-0.06,0.453-0.151l0.121-0.09c0.151,0.604,0.543,1.086,1.056,1.388c0.604,0.332,1.267,0.513,1.931,0.513 c0.091,0,0.181,0,0.271,0c0.724-0.03,1.388-0.121,2.082-0.181c0.634-0.09,1.268-0.181,1.901-0.302 c0.362-0.061,0.725-0.09,1.117-0.061c0.392,0.061,0.754,0.242,1.026,0.543c0.211,0.181,0.362,0.422,0.513,0.694 c0.271,0.453,0.543,0.875,0.845,1.267c0.815,1.117,1.901,2.052,3.108,2.716c0.664,0.362,1.328,0.694,2.022,0.966 c0.694,0.301,1.448,0.542,2.233,0.693c1.388,0.332,2.716,0.543,4.043,0.785c0.785,0.121,1.599,0.332,2.384,0.634 c0.664,0.271,1.297,0.633,1.871,1.086c0.694,0.694,1.116,1.6,1.116,2.595c0,0.03,0,0.061,0,0.061l-0.06,1.448 c0,0.061,0,0.121,0,0.183c0,0.845,0.211,1.658,0.604,2.383c0.09,0.212,0.181,0.393,0.271,0.574c0.03,0.149,0.09,0.271,0.121,0.422 c0.09,0.361,0.121,0.725,0.121,1.117c0,0.211-0.03,0.451-0.06,0.664c-0.061,0.541-0.151,1.115-0.302,1.688 c-0.09,0.513-0.271,0.966-0.543,1.418c-0.392,0.694-0.875,1.388-1.358,2.052l-2.143,2.957l-0.814,1.146l-1.298,1.871l-1.176,1.689 l-1.177,1.721l-1.569,2.504c-0.483,0.846-1.056,1.601-1.69,2.323c-0.694,0.784-1.328,1.599-1.961,2.414 c-0.634,0.814-1.358,1.509-2.172,2.052l-0.996,0.635l-1.116,0.634l-1.207,0.634l-0.271,0.211c-0.061,0-0.091,0.03-0.121,0.061 c-0.09,0.061-0.15,0.15-0.15,0.242c0,0.028,0,0.061,0,0.09c0.06,0.211,0.241,0.393,0.453,0.453 C-3.394,82.641-3.032,82.7-2.64,82.7c0.06,0,0.121,0,0.181,0c1.328-0.06,2.414-0.12,3.53-0.211 c0.814-0.062,1.78-0.302,2.655-0.724c0.302-0.121,0.574-0.303,0.875-0.483c0.332-0.241,0.664-0.543,0.905-0.875 c0.181-0.271,0.393-0.513,0.604-0.755c1.207-1.6,2.354-3.229,3.5-4.889c0.513-0.783,1.207-1.689,1.931-2.535 c1.147-1.326,2.203-2.686,3.259-4.043c1.268-1.66,2.656-3.289,4.074-4.828c0.362-0.393,0.754-0.844,1.177-1.327 c0.242-0.271,0.604-0.634,0.936-0.935c0.513-0.484,0.905-1.088,1.117-1.781c0.211-0.633,0.453-1.207,0.664-1.78 c1.237-2.896,5.462-2.563,6.216,0.513l0.211,0.875l0.151,0.664l0.151,0.876l0.091,0.481c0.302,1.299,0.573,2.596,0.785,3.894 c0.061,0.302,0.15,0.664,0.211,1.026c0.061,0.33,0.151,0.633,0.272,0.936c0.392,0.936,0.845,1.84,1.388,2.686 c0.422,0.664,0.965,1.236,1.569,1.75l2.504,1.932l1.509,1.298l0.693,0.663L37.127,75.7l-0.846,0.393l-0.753,0.331 c-0.544,0.182-1.177,0.362-1.811,0.574c-0.543,0.182-0.905,0.331-1.297,0.513c-0.483,0.212-0.905,0.544-1.237,0.937 c-0.121,0.15-0.211,0.332-0.211,0.513c0.03,0.604,0.272,1.207,0.664,1.63c0.302,0.331,0.724,0.573,1.146,0.663 c0.543,0.151,1.086,0.212,1.63,0.212c0.12,0,0.271,0,0.422,0c1.328-0.091,2.595-0.482,3.772-1.178l2.866-1.75l0.302-0.211 c1.269,1.025,2.565,1.931,3.923,2.746c0.875,0.513,1.78,0.935,2.746,1.268c0.604,0.211,1.268,0.361,1.901,0.393l0.392,0.029 c0.03-0.15,0.03-0.332,0.03-0.481c0-0.241-0.03-0.513-0.06-0.755c-0.092-0.452-0.242-0.875-0.424-1.269 c-0.15-0.301-0.332-0.603-0.543-0.875c-0.332-0.452-0.725-0.905-1.117-1.327l-0.451-0.482l-0.543-0.542l-0.694-0.544l-0.604-0.453 l-0.482-0.393l-0.543-0.302l-0.482-0.241c0.756-0.785,1.569-1.539,2.414-2.232c1.721-1.418,2.987-2.444,4.285-3.471 c0.604-0.513,1.659-1.629,2.504-2.867c0.332-0.451,0.514-1.024,0.544-1.598l0.029-0.424l0.091-0.995 c0.271-2.354,0.967-4.646,2.021-6.76l0.182-0.362c1.116,2.053,3.229,3.381,5.552,3.44c0.062,0,0.151,0,0.212,0 c1.6,0,3.139-0.483,4.405-1.448l1.297-0.936l1.058-0.725l1.115-0.693c0.121-0.092,0.271-0.121,0.424-0.121 c0.604-0.03,1.176,0.181,1.629,0.543c0.182,0.121,0.332,0.271,0.422,0.453c0.15,0.211,0.242,0.422,0.363,0.662 c0.149,0.332,0.24,0.694,0.301,1.026c0.029,0.332,0.062,0.573,0.092,0.845c0.061,0.332,0.09,0.726,0.15,1.086 c0.061,0.604,0.181,1.179,0.361,1.75c0.15,0.574,0.332,1.147,0.482,1.722c0.361,1.418,0.936,2.776,1.689,4.014 c0.604,0.966,1.268,1.9,2.021,2.745c0.271,0.332,0.634,0.604,0.994,0.875l1.361,0.873c0.994,0.664,2.143,0.996,3.318,0.996 c0,0,0,0,0.029,0c0.453,0,0.814-0.303,0.936-0.725c0.092-0.33,0.121-0.692,0.121-1.024C85.226,71.053,85.044,70.359,84.712,69.725 z M48.535,61.91c-0.271,1.447-0.756,2.896-1.42,4.225c-1.297,2.534-3.138,4.707-5.4,6.396l-0.332-0.271 c-1.297-1.146-2.475-2.384-3.53-3.74l-1.116-1.42c-0.453-0.692-0.814-1.447-1.056-2.231c-0.302-0.966-0.483-1.933-0.543-2.927 c-0.09-1.901-0.03-3.834,0.181-5.765c0.664,0,1.328,0,1.991,0.062c0.543,0.06,1.087,0.119,1.629,0.271 c1.238,0.302,2.535,0.482,3.833,0.482c1.237,0,2.475-0.15,3.682-0.452c0.814-0.182,1.6-0.482,2.323-0.905l0.062,0.724 c0.029,0.545,0.029,1.026,0.029,1.539C48.865,59.254,48.746,60.582,48.535,61.91z"/>
+ </g>
+</g>
+<g id="Crow" display="none">
+ <g display="inline">
+ <path d="M73.064,13.742C71.61,10.304,56.607,4.753,51.65,26.895l-26.173,19.63l-39.153,23.443l1.961,0.679l5.202-1.518 l-8.261,4.879l2.709,0.938l28.024-8.327c0,0,12.643,1.727,22.494,1.733c-0.463,0.93-0.928,1.857-1.393,2.786 c-0.469,0.939,3.497,10.33,4.962,14.802c-2.47,0.375-4.941,0.751-7.411,1.126c-0.883,0.135-0.506,1.472,0.369,1.338 c2.602-0.395,5.203-0.789,7.805-1.185c2.601,0.396,5.203,0.79,7.803,1.185c0.875,0.134,1.252-1.203,0.369-1.338 c-2.492-0.379-4.983-0.757-7.476-1.136c-0.112-0.385-0.228-0.77-0.341-1.154c-0.441-1.498-0.885-2.994-1.327-4.492 c-0.827-2.799-1.651-5.597-2.479-8.395c-0.006-0.02-0.012-0.032-0.017-0.049c0.3-0.603,9.757-4.912,9.757-4.912 s-0.004,0-0.005-0.001C83.426,54.56,64.501,26.209,71.744,21.806c3.045-1.851,13.482-4.627,13.482-4.627 C85.226,14.02,73.064,13.742,73.064,13.742z"/>
+ </g>
+</g>
+<g id="Deer_2" display="none">
+ <g display="inline">
+ <path d="M83.863,15.358c-1.807-0.048-2.666,2.372-3.978,2.364c0.136-1.137,0.938-2.282,1.709-3.489 c0.485-0.639,1.422-0.991,1.222-1.96c-0.104-0.493-0.302-0.813-0.646-1.265c-1.602,0.093-4.387,2.339-5.307,2.607 c-3.216,0.931-8.057,3.184-9.041,3.341c-0.693,0.11-3.08,0.19-2.851-0.294c0.483-1.197,1.5-2.336,2.621-3.636 c1.021-1.178,2.512-2.064,2.909-3.395c0.506-1.667,0.554-4.09-1.024-5.854c-0.767-0.708-0.103,1.377,0.073,2.256 c0.463,3.064-1.693,4.765-3.086,5.655c1.094-3.089,0.689-7.387-2.37-9.777c-1.333-0.718,0.94,2.285,1.354,4.884 c0.163,1.545-0.432,3.739-0.963,5.006c-0.619,1.486-1.143,3.519-2.693,3.797c-0.365-2.095,0.926-4.51,0.207-6.815 c-0.617-1.968-1.522-2.825-3.367-3.65c-0.766-0.197-0.668,0.503,0.166,1.294c2.427,2.301,2.173,5.718,0.689,7.848 c-2.836-1.705-2.732-5.727-4.324-8.943c-0.574-1.168-1.42-2.329-2.14-3.159c-0.913-1.07-1.577-2.965-2.371-2.635 c-0.505,0.19,3.72,5.599,3.085,6.094c-0.588,0.636-1.828-2.25-3.255-2.376c-0.817,1.067,7.677,5.993,3.503,9.641 c-0.188-0.443-0.181-0.883-0.654-1.141c-0.731-0.346-0.252,0.969-0.226,1.4c-3.248,0.776-5.021,1.302-7.262-0.861 c-0.574-0.555-1.067-2.067-2.011-1.408c-0.156,0.122,1.019,2.427,2.357,3.641c1.86,1.218,4.785,0.591,7.118,0.889 c0.401,1.418,0.869,3.018,0.739,4.132c-2.545,2.356-8.993,4.499-11.227,3.271c-3.498-2.382-6.497-9.676-8.473-11.007 c-0.119-0.03-0.284,0.08-0.213,0.238c1.953,4.449,4.018,9.36,6.865,12.073c-4.958,0.836-7.761,1.016-10.52-2.321 c-1.794-2.171-3.173-6.682-4.913-6.889c-0.7-0.084,2.092,3.004,1.906,4.741c-0.099,0.936-4.932-5.054-5.021-4.134 c-0.053,0.54,2.151,3.638,3.698,6.021c0.526,0.82,2.431,2.345,2.151,2.572c-3.551,2.2-6.521-3.094-7.316-3.336 c-1.051-0.257,1.719,5.05,4.393,5.59c1.452,0.291,3.329-0.24,5.203-0.083c2.97,0.245,3.505,1.165,6.627,0.896 c2.549-0.218,5.014-1.128,8.09-1.717c1.145-0.219,2.373-0.197,3.57-0.521c2.194-0.596,3.949-2.271,6.143-2.226 c0.303,0.025,0.443-0.016,0.617,0.095c-0.02,0.735-1.076,0.602-0.818,1.567c0.419,0.566,1.004,0.848,1.62,1.184 c0.591,0.321,1.459,0.356,1.789,0.98c-2.882,0.86-5.862,3.214-9.153,3.569c-1.279,0.14-2.98-0.36-4.729,0.003 c-1.256,0.261-2.739,1.358-3.6,1.785c-0.941,0.469-4.567,1.836-5.45,2.102c-3.276,0.98-7.17,2.017-10.919,2.263 c-5.127,0.337-9.562-1.667-14.461-1.674c-3.147-0.004-5.396,0.509-7.551,1.448c-2.378,1.036-4.127,2.296-5.433,4.538 c-1.495,2.57-3.659,7.201-3.599,9.343c0.044,1.542,0.569,3.839,1.31,4.176c0.732,0.322,0.266-1.99,1.408-0.588 c1.245,1.403,1.544,3.495,1.029,5.018c-0.794,2.342-1.198,4.617-2.505,6.156c-1.82,2.139-4.072,3.34-5.465,5.584 c0.334,3.883-0.422,6.847-0.34,10.323c0.102,4.306-0.096,7.675-1.538,10.476c0.435,0.313,1.339,0.086,1.559,0.642 c0.186,1.94,0.124,3.29,0.342,4.879c0.898,1.654,4.457,2.987,5.722,0.687c-1.158-4.344-2.534-8.588-2.451-13.375 c0.056-3.221,1.107-6.83,2.191-9.198c0.406-0.89,0.79-2.466,1.408-2.925c1.446-1.07,2.227-2.463,3.37-3.672 c1.349-1.428,1.749-2.244,3.338-3.213C2.223,66.4,2.432,68.12,2.292,69.784c-0.141,1.692-0.458,3.177-0.767,4.56 c0.687,1.229,1.614,2.125,2.43,2.973c1.062,1.104,1.51,2.234,2.343,3.728c0.469,0.843,1.129,1.651,1.496,2.479 c0.576,1.306,0.88,2.848,1.427,4.172c0.536,1.303,1.1,2.479,1.952,3.562c0.696,0.265,1.807,0.048,2.311,0.537 c0.477,0.718,0.343,1.69,0.731,2.366c1.127,1.96,4.563,1.962,7.044,0.658c-0.53-1.267-1.829-1.635-2.114-3.18 c-1.479-0.563-2.536-1.607-2.892-3.466c-2.522-2.429-5.017-5.301-6.49-8.918c-0.543-1.341-1.251-2.88-1.237-4.181 c0.011-0.995,0.603-2.356,1.08-3.434c0.855-1.931,2.027-3.656,2.849-5.244c0.688-1.326,1.275-2.776,2.185-3.881 c2.057-1.343,3.771,0.463,5.536,0.709c0.734-0.015,0.166-1.131,0.862-1.175c4.357,1.468,10.083,3.194,16.046,2.37 c1.6-0.223,3.106-0.822,4.828-0.908c0.481,2.059,0.955,4.144,1.28,6.319c0.493,3.278,1.255,6.657,1.249,9.964 c-0.01,3.7-0.309,7.357-0.568,10.945c0.367,0.47,1.183,0.455,1.287,1.207c0.059,0.81,0.178,1.673-0.057,2.256 c0.934,0.859,3.301,0.595,4.939,0.158c-0.364-1.346-0.896-2.438-1.399-3.637c0.287-0.457,0.169-0.918,0.153-1.479 c-0.063-2.667-1.256-5.109-0.783-7.726c0.018-0.09,0.305-0.431,0.354-0.584c0.289-0.881,0.416-1.506,0.59-2.25 c0.25-1.043-0.701-6.703-0.584-7.99c0.644,3.015,3.563,11.133,4.135,14.68c0.314,1.975,0.258,3.752,0.506,5.963 c0.252,0.008,0.264,0.594,0.264,0.86c1.049,0.35,1.012,1.614,2.024,1.7c0.768,0.162,3.239,0.095,4.245-0.584 c-0.604-1.543-1.457-2.781-2.038-4.301c-1.032-2.724-1.289-5.979-1.835-9.074c-0.33-1.905-0.396-4.022-0.969-5.959 c-0.281-0.955-1.125-1.725-1.565-2.785c-1.338-3.204-1.298-7.197-1.623-10.495c2.056-0.917,2.53-3.101,4.271-4.257 c0.56-0.049,1.117-0.094,1.676-0.145c0.562-0.275,0.9-0.828,1.631-0.514c0.281-0.569,0.711-1.282,1.587-0.887 c0.116-0.521,0.479-0.838,0.601-1.357c0.725,0.018,0.68,0.146,1.09-0.281c0.026-0.65,0.391-1.031,0.387-1.723 c0.596,0.165,0.418-0.329,0.699-0.436c0.166-0.261,0.121-0.702,0.287-0.966c-0.095-0.485,0.7-0.207,0.5-0.795 c0.308-0.493,0.229-1.318,0.609-1.75c0.324,0.087,0.051,0.893,0.436,0.906c0.494-1.622,0.967-2.902,2.299-3.796 c0.228-3.732,2.772-5.96,3.115-9.596c1.441-2.084,4.157-2.847,5.314-5.131c0.406-0.807,0.607-1.657,0.857-2.051 c1.67-2.644,3.459-5.921,5.389-8.313c0.691-0.281,1.333-0.925,1.543-1.629C84.154,17.339,84.521,15.807,83.863,15.358z M54.453,15.28c1.486,0.653,3.196,0.488,4.103,2.271C57.018,19.628,55.164,18.064,54.453,15.28z"/>
+ </g>
+</g>
+<g id="Deer_1" display="none">
+ <g display="inline">
+ <path d="M59.433,85.182c-0.303-0.303-0.423-0.728,0.061-1.149c0.483-0.426,1.754-0.79,2.299-1.095 c0.543-0.303,0.484-0.183,1.15,0.181c0.666,0.362,2.149,1.051,2.906,0.116c0.785-0.97,3.021-1.82,4.053-1.822 c1.029-0.001,2.602-0.547,3.631-1.156c1.028-0.606,3.269-1.337,4.719-2.247c1.451-0.91,0.664-1.211-0.787-1.087 c-1.453,0.121-6.355,0.917-10.049,1.407c-4.334,0.572-5.092-0.238-7.024-1.686c-0.972-0.726-1.213-0.967-2.483-0.722 c-8.873,1.703-17.42,1.173-28.335-1.471c-2.841,3.396-11.817,5.861-19.181,7.416c-4.076,0.859-4.504,1.844-7.015,4.249 c-1.33,1.272-5.621,6.606-6.797,8.061c-0.527,0.65-1.633,1.396-2.299,1.578c-0.667,0.183-1.876,0.699-2.269,1.155 c-0.381,0.438-3.267,1.729-3.991,2.154c-0.602,0.351-1.095,0.227-1.395-0.181c-0.424-0.573,0.542-2.302,1.086-2.938 c0.448-0.524,1.724-1.184,2.813-1.153c1.089,0.028,1.724-0.336,1.907-1.093c0.177-0.759,0.601-1.184,1.873-1.608 c1.271-0.426,4.745-4.033,5.138-5.396c-1.029,0.699-5.352,4.431-5.743,5.247c-0.392,0.816-1.632,1.456-2.663,1.607 c-0.827,0.123-3.932,1.49-4.749,2.036c-0.495,0.33-1.061,0.147-1.061-0.572c-0.001-0.908,0.34-1.648,1.328-2.726 c0.694-0.76,2.531-1.323,3.055-0.976c0.701,0.465,0.82,0.369,1.241-0.638c0.633-1.515,2.904-2.031,3.296-2.366 c2.983-2.532,5.29-4.761,6.557-7.003c0.327-0.574,0.514-1.151,0.815-1.515c0.302-0.363,0.456-0.272,0.695-0.97 c0.415-1.198,0.773-1.425,2.057-1.427c8.052-0.012,10.847-2.805,11.433-5.769c1.237-6.239,2.587-10.658,5.55-12.603 c0.635-0.415,0.666-0.546-0.001-0.906c-3.883-2.11-4.063-4.537-1.467-9.08c0.667-1.163,1.271-1.032,1.15-0.123 c-0.119,0.909-0.055,3.511,0.371,4.841c0.426,1.331,1.7,3.147,3.697,2.961c1.998-0.185,6.84-0.554,9.384-0.315 c2.543,0.237,12.17,0.525,15.983,0.035c6.758-0.87,10.951-3.104,9.854-8.854c-0.535-2.799-1.831-9.623-1.533-12.589 c0.078-0.788-0.061-0.789-0.456-1.393c-0.608-0.934-1.071-0.721-1.454-1.087c-0.727-0.695-1.91-2.176-2.578-3.326 c-0.613-1.054,0.209-1.67,0.543-1.513c0.516,0.24,0.635,0.18,0.635-0.183c-2.545-2.447-4.038-5.319-5.248-8.074 c-0.852-1.937-3.883-5.08-4.461-5.866c-0.574-0.786-0.848-1.299-0.879-1.966c-0.031-0.665,0.847-0.727,0.877-0.121 c0.031,0.604,0.457,1.179,1.123,1.814c0.668,0.634,3.185,2.841,3.485,3.325c0.229,0.363,0.37,0.32,0.546-0.091 c0.687-1.608,2.711-3.74,4.17-5.124c0.545-0.515,0.604-0.998,0.662-1.454c0.277-2.095-0.064-3.208-1.339-4.932 c-0.274-0.372-0.092-1.059,0.636-0.425c1.414,1.233,2.225,3.01,2.156,5.052c-0.015,0.418,0.131,0.807,0.575,0.573 c0.696-0.364,2.239-1.396,2.844-1.911c0.452-0.385,0.498-0.532,0.515-0.909c0.026-0.758-0.002-1.074-0.246-1.574 c-0.152-0.314,0.016-0.5,0.242-0.288c0.227,0.21,0.651,1.013,0.834,1.272c0.183,0.254,0.305,0.194,0.528-0.049 c1.073-1.147,2.114-2.999,2.25-3.802c0.157-0.927,0.771-0.893,0.683,0.044c-0.491,5.164-8.158,8.852-11.183,12.186 c-1.666,1.84-1.507,4.333-0.838,6.117c0.472,1.255,2.487,3.871,4.276,5.049c0.195,0.128,0.24,0.15,0.271-0.062 c0.106-0.764,0.182-1.486-0.337-2.391c-0.121-0.21-0.219-0.737-0.122-1.119c0.12-0.485,0.12-0.576-0.033-1.18 c-0.904-3.599-0.265-6.005,0.832-9.052c0.696-1.928,0.446-5.935,0.082-7.145c-0.207-0.682,0.301-0.968,0.635-0.122 c0.526,1.336,0.943,3.298,0.979,5.567c0.006,0.406,0.34,0.382,0.878,0.06c1.408-0.848,2.995-2.054,3.627-2.791 c0.937-1.088,0.935-2.602,0.662-3.403c-0.124-0.358-0.14-0.621,0.394-0.228c0.529,0.394,0.789,1.708,0.713,2.178 c-0.062,0.388,0.037,0.438,0.363,0.212c1.92-1.334,2.825-3.515,3.125-5.665c0.143-1.024,0.693-0.759,0.785-0.214 c0.551,3.269-2.854,7.522-5.434,9.091c-3.313,2.012-5.686,4.155-5.924,6.94c-0.168,1.98,0.486,5.318,1.483,6.765 c0.101,0.194,0.259,0.309,0.33,0.055c0.382-0.886,0.56-2.184,0.251-3.1c-0.191-0.571-0.152-0.726,0.395-0.364 c0.545,0.363,0.902,1.506,0.521,4.024c-0.118,0.789,0.062,1.091,0.668,1.695c0.608,0.604,0.97,0.484,1.333,0.24 c0.362-0.243,0.727-0.365,1.15,0.422c0.426,0.787,0.787,1.231,1.637,1.268c1.332,0.059,2.604,0.117,3.088,0.601 c0.819,0.817,0.85,0.727,2,0.843c1.15,0.12,2.361,0.18,3.027,0.18c0.664-0.002,0.79,0.481,1.516,0.542 c0.727,0.06,1.635,0.057,2.241,0.601c0.604,0.543,1.06,1.21,1.062,1.876c0,0.503,0,0.589-0.24,0.682 c-0.174,0.065-0.164,0.229-0.135,0.378c0.121,0.635-0.646,1.262-1.74,1.455c-1.211,0.214-3.723,0.732-4.268,1.066 s-1.875,1.274-2.689,1.52c-0.817,0.241-0.725,1.271-0.331,2.3c2.151,5.595,2.927,10.474,3.172,14.463 c0.187,3.027,0.373,6.659-0.106,9.507c-0.225,1.324-0.604,1.271-0.207,2.725c0.293,1.076,0.037,2.289-0.358,3.088 c-0.151,0.304,0.241,0.454,0.575,0.454c1.515-0.003,8.234,0.651,9.838,0.802c0.813,0.074,1.076,0.233,1.184,0.663 c0.121,0.484,0.609,1.393,0.73,2.178c0.121,0.788-0.422,1.15-0.603,2.364c-0.129,0.872-1.209,2.24-3.565,3.454 c-1.121,0.577-2.299,1.578-3.146,2.125c-0.848,0.546-2.723,1.579-3.206,2.062c-0.483,0.485-1.45,1.274-2.056,1.518 S71.846,85.586,71,86.375c-0.847,0.788-3.683,1.185-5.023,1.098c-1.814-0.119-5.749,0.008-6.781,0.01 c-1.027,0.002-0.906-0.726-0.605-1.331C58.526,85.697,59.162,85.453,59.433,85.182z"/>
+ </g>
+</g>
+<g id="Bat" display="none">
+ <g display="inline">
+ <path d="M85.171,26.287c-4.848-2.65-11.104-3.301-17.102-2.413c-11.48,1.7-20.451,8.93-26.209,20.051 c-2.054-3.019-3.296-6.817-3.328-10.955c-1.552,2.128-2.674,4.684-3.241,7.488c-0.567-2.805-1.689-5.36-3.24-7.488 c-0.033,4.21-1.315,8.074-3.436,11.118C22.862,32.875,13.864,25.582,2.327,23.874c-5.998-0.888-12.254-0.238-17.101,2.413 c11.051,1.697,14.079,8.617,12.227,15.589c8.736-2.634,17.313,6.145,14.513,16.375c2.322-1.114,5.657-1.422,8.708-1.018 c7.296,0.967,12.496,8.484,14.52,17.535c0.001-0.01,0.003-0.022,0.005-0.034c0.001,0.012,0.004,0.024,0.005,0.034 c2.025-9.051,7.224-16.568,14.521-17.535c3.05-0.404,6.385-0.098,8.706,1.018c-2.801-10.229,5.777-19.008,14.514-16.375 C71.092,34.904,74.121,27.984,85.171,26.287z"/>
+ </g>
+</g>
+<g id="Sloth" display="none">
+ <g display="inline">
+ <path d="M84.346,58.347c-1.146-3.335-2.188-5.106-3.022-7.923c-0.162-0.548-4.629-12.941-24.168-24.313 c-3.25-1.89-15.752-5.481-18.579-6.536c-0.771-0.387-1.257-0.917-1.463-1.09c-1.924-1.599-4.757-5.828-7.385-7.347 c-3.692-2.132-6.283-2.36-9.021-2.55c-2.328-0.163-6.326-0.265-10.218,1.243c-3.896,1.504-5.012,4.348-5.112,5.287L5.148,16.75 c0.634,0.569,1.056,1.569,1.056,2.491c0,0.894-0.542,1.801-0.542,3.009c0,1.544,0.609,4.152,3.257,6.355 c3.03,2.517,7.017,3.881,10.472,5.703c0.05,0.032,0.125,0.059,0.19,0.115c3.573,3.009,1.073,6.684,1.073,6.684L0.757,32.612 c-6.451-3.264-11.55-1.598-14.862,3.313c-0.243,0.36-0.315,0.469-0.576,0.912c-0.154,0.263-0.108,0.622,0.078,0.772 c0.247,0.2,0.616,0.054,0.756-0.124c2.415-3.048,7.437-3.462,10.152-1.58c0.142,0.099,0.286,0.204,0.426,0.313 c0.47,1.78,0.11,1.329,1.096,5.069c0.594,2.234,2.587,3.903,2.587,3.903s15.531,14.655,17.11,16.104 c2.284,2.096,7.177,3.075,11.283,1.595c1.635-0.589,5.276-2.347,8.801-3.553c0.928-0.318,1.417-0.123,2.005,0.513 c0.891,0.966,1.535,1.606,3.49,3.61c0.459,0.471,0.562,1.173,0,1.784l-9.699,11.007l-0.065,0.063 c-3.07,3.234-2.887,6.422-1.968,9.516c0.368,1.237,1.281,2.755,2.209,3.556c0.234,0.207,0.436,0.154,0.615,0.056 c0.204-0.156,0.162-0.507,0.101-0.688c-1.352-4.014-0.391-7.269,3.02-8.905c1.6,0.914,3.764,2.157,4.45,2.558 c1.784,1.037,4.329,0.541,5.405,0.255c3.258-0.861,17.752-4.652,17.752-4.652c11.188-3.19,13.015-9.994,15.896-13.47 c0.036-0.047,0.072-0.092,0.105-0.138c1.545,0.304,2.349,0.371,3.317-0.426C86.014,62.518,84.971,60.015,84.346,58.347z M17.435,21.661c1.981,1.156,4.97,0.958,4.97,0.958s-0.739,2.135-3.401,3.396c-1.376,0.656-3.083,1.144-5.781,1.065 c-1.776-0.051-3.356-1.002-4.12-2.156c-0.94-1.408-1.092-3.101-1.092-3.101s0.886-0.104,2.021-0.631 c1.139-0.527,1.487-2.699,1.432-3.74c-0.985-0.102-2.373-0.094-3.805,0.134c0,0,0.152-2.254,2.074-2.747 c1.672-0.429,1.665,0.499,3.577,0.485c0.113-0.001,0.31-0.002,0.437-0.003c0.421-0.004,0.96-0.137,1.267-0.238 c1.285-0.421,1.881-0.72,3.456-0.657c1.921,0.076,4.154,0.434,4.946,3.168c-2.289-0.337-4.426-0.488-7.604-0.199 C15.788,18.706,15.457,20.505,17.435,21.661z"/>
+ <path d="M11.082,21.842c-0.262,0.098-0.436,0.488-0.413,0.755c0.1,1.148,0.452,2.272,1.726,2.387 c1.438,0.138,1.993-1.065,1.917-2.4c-0.007-0.071-0.032-0.368-0.174-0.465C12.766,21.064,11.554,21.663,11.082,21.842z"/>
+ </g>
+</g>
+<g id="Layer_43" display="none">
+ <g display="inline">
+ <path d="M28.255,34.927c-2.512-7.259-8.009-14.069-14.58-17.957c-3.366-1.991-7.198-3.131-10.628-5.058 C-2.123,9.008-7.158,5.659-12.104,2.34c-3.756-2.52-7.96-4.201-11.469-7.1c-0.96-0.793-1.985-2.367-3.274-2.455 c0.216,3.814,3.889,6.403,6.631,8.467c2.138,1.608,4.751,4.21,7.401,4.75c-2.117-0.935-4.46-1.013-6.678-1.569 c-0.5-0.125-5.386-1.454-5.433-1.723c0.378,2.164,6.803,4.84,8.8,6.084c-1.875,0.082-3.771-0.764-5.635-0.892 c1.433,2.098,4.728,3.52,6.845,4.898c-1.086,0.1-2.017-0.168-3.021-0.457c2.146,1.286,4.442,2.192,6.332,3.806 c-0.854,0.215-1.892-0.007-2.712,0.298c1.418,1.412,3.504,2.694,5.334,3.67c-0.54-0.077-1.132,0.008-1.667,0.017 c0.284,1.342,3.575,2.086,4.793,2.771c-0.813-0.102-1.719-0.131-2.225,0.519c1.555,1.002,3.516,4.873,5.574,3.676 c-0.883,2.108,1.78,3.297,3.303,3.662c0.43,1.783,3.117,2.776,4.555,3.637c1.663,0.996,3.194,2.38,5.057,2.749 c1.141,0.226,1.958-0.051,3.097-0.004c1.848,0.077,0.948,0.605,1.95,1.785c0.739,0.87,1.641,0.979,2.308,1.564 c0.778,0.682,0.856,1.36,2.022,1.772c-0.01,1.066,1.323,1.275,1.99,2.017c0.625,0.694,1.012,1.749,1.38,2.625 c0.199-0.057,0.416-0.036,0.627-0.122c0.306,0.719,0.124,1.493,0.42,2.213c0.197,0.006,0.394,0.021,0.589,0.048 c-0.024-0.003,0.048,1.652,1.09,1.727c1.066,0.075,1.561-1.2,2.197-1.759c1.869-1.64,3.717-1.919,2.843-4.859 c-0.79-2.656-1.465-5.23-2.227-7.848C28.561,35.847,28.414,35.386,28.255,34.927z"/>
+ <path d="M17.65,75.685c-3.931,2.028-7.907,3.736-11.908,5.614c-1.569,0.736-4.863,1.469-5.591,3.241 c1.192,0.067,2.759-1.374,3.858-1.84c1.239-0.524,2.484-0.823,3.789-1.396c2.274-1.001,4.562-2.322,6.975-2.948 c1.84-0.478,4.751-0.87,6.113-2.431c-0.546,0.626-1.301,1.292-1.572,1.994c1.149-0.147,2.316-1.226,3.463-1.575 c1.265-0.385,2.828-0.559,4.12-0.631c-0.494,1.247-0.981,2.563-1.486,3.773c1.789-0.746,4.752-2.059,5.871-3.744 c-0.24,1.228-0.625,2.823-0.113,4.094c1.713,0.104,2.965-1.209,3.951-2.386c-0.261,0.625-0.326,1.362-0.48,2.041 c1.15,0.082,2.387-0.801,3.132-1.654c-0.369,1.181-0.226,2.681-0.16,3.919c1.151,0.135,2.16-0.39,3.257-0.522 c0.073-0.849,0.05-1.714-0.156-2.525c0.839,1.734,0.451,3.478,2.796,3.244c2.364-0.235,1.49-1.885,2.313-3.592 c0.786,1.998,1.836,3.004,3.567,4.093c1.917-1.612,1.769-2.818,1.114-5.147c1.126,1.254,2.727,2.83,4.477,3.24 c0.294-1.119-0.708-1.701-0.944-2.714c1.019,1.118,2.948,1.042,4.079,2.017c-0.497-1.476-1.361-2.608-2.045-3.968 c2.256,0.449,4.155,1.836,6.396,2.396c-0.588-2.036-4.667-3.421-6.423-4.373c-2.233-1.211-4.543-2.512-6.611-3.843 c-2.763-1.777-5.527-4.143-8.813-4.859c-4.536-0.99-6.226,0.255-9.388,3.278c-2.589,2.477-6.746,3.344-9.848,5.157 C20.144,74.362,18.899,75.04,17.65,75.685z"/>
+ <path d="M46.776,62.279c-0.443-0.702-2.886-5.318-3.205-1.897c-0.653-1.666-1.165-3.379-2.149-4.906 c-0.884-1.372-1.947-2.848-3.101-4.017c-0.873-0.884-2.638-1.355-3.152-2.225c6.087-0.49,5.083-10.087,5.766-14.316 c0.467-2.894,0.935-6.162,2.613-8.711c2.245-3.409,5.15-5.484,8.662-7.317c8.481-4.426,16.763-9.221,25.058-14.067 c3.151-1.841,5.853-4.229,8.928-6.149c2.636-1.646,5.94-4.896,8.863-5.719C92.974-3.435,89.02-0.62,85.8,1.996 c-2.738,2.225-5.981,4.779-8.693,6.45c3.287-1.163,6.548-3.512,9.606-5.195c2.878-1.583,6.002-2.698,8.824-4.368 c-3.228,2.457-6.445,5.048-9.99,7.082c2.438-0.147,5.266-1.364,7.415-2.552c-2.592,2.551-6.608,3.791-9.37,6.036 c1.665,0.2,4.515-0.891,5.838-1.899c-2.381,1.987-4.931,3.565-7.581,5.031c1.258,0.056,2.446-0.507,3.584-1.023 c-2.375,1.903-5.346,3.202-7.543,5.252c1.038,0.093,1.872-0.279,2.839-0.543c-1.676,1.434-3.322,2.279-5.286,3.288 c0.34-0.044,0.794,0.08,1.144,0.065c-0.746,1.838-2.466,2.751-4.141,3.672c0.729,1.603-2.1,3.667-3.477,3.814 c0.174,0.38-0.016,0.644,0.34,1.02c-0.858,1.241-2.433,1.78-3.61,2.474c0.932,1.276-1.248,2.093-2.155,2.626 c-0.95,0.558-1.843,2.046-2.761,1.895c0.434,2.206-0.666,3.076-1.778,4.852c-0.916,1.461-1.34,3.415-1.916,5.052 c-0.642,1.826-1.156,3.252-1.25,5.362c-0.081,1.848,0.159,4.275-0.161,6.11c-0.325-0.104-0.652,0.033-0.984-0.131 c-0.052,0.615-0.022,1.262-0.065,1.876c-0.12-0.082-0.472-0.182-0.636-0.312c0.041,0.572-0.031,1.21-0.196,1.706 c-0.959-0.425-1.263,0.464-1.079,1.394c-0.184-0.184-0.771-0.484-0.985-0.831c-0.055,0.847-0.016,1.729-0.064,2.573 c-0.496-0.138-1.001-0.492-1.373-0.962c0.007,0.672,0.02,1.351-0.025,2.013c-0.272-0.352-0.771-0.819-0.972-1.188 C49.687,65.141,47.366,63.216,46.776,62.279z"/>
+ <path d="M47.531,70.439c0.9-2.039-1.164-6.662-1.92-8.549c-1.477-3.681-4.217-7.934-7.316-10.487 c-2.01-1.656-3.979-4.55-6.662-5.146c-5.081-1.128-6.271,4.396-6.04,8.263c0.179,2.98,1.686,3.477,3.424,5.521 c1.499,1.762,1.906,3.677,2.698,5.713c1.2,3.083,4.963,6.072,8.346,5.884c1.591-0.089,2.693-1.677,4.218-1.834 C45.801,69.647,46.772,72.159,47.531,70.439z"/>
+ <path d="M45.843,71.647c-1.443,0.244-1.083,3.342-0.917,4.569c0.238,1.75,0.907,3.178,0.917,4.993 c0.01,1.695-0.532,3.079,0.239,4.916c-0.37-0.458-1.037-1.261-1.105-1.474c0.181,0.891,0.336,1.901,0.173,2.832 c-3.529-3.811-1.015-9.923-1.305-14.502L45.843,71.647z"/>
+ <path d="M37.524,71.984c-0.778,2.509,0.62,4.739,1.103,7.134c0.56,2.787,0.752,4.573,2.264,7.132 c-0.597-0.299-1.166-0.359-1.67-0.978c0.197,0.684,0.272,1.186,0.687,1.803c-5.813-3.962-2.467-12.107-5.412-17.515L37.524,71.984 z"/>
+ <polygon points="25.657,54.902 21.871,62.031 28.742,56.738 29.262,53.85 "/>
+ </g>
+</g>
+<g id="Layer_44" display="none">
+ <g display="inline">
+ <path d="M46.286,25.435c-0.034,0.492,0.032,1.041,0.057,1.609C46.374,26.528,46.326,25.979,46.286,25.435z"/>
+ <path d="M79.031,55.104c-0.255-0.703-0.576-1.175-0.773-1.934c-0.194-0.751-0.536-1.254-1.133-1.783 c-0.977-0.866-2.081-1.814-3.167-2.509c-0.561-0.358-1.189-0.56-1.64-1.06c-0.531-0.593-0.829-1.442-1.259-2.106 c-0.782-1.215-1.741-2.382-2.462-3.553c-0.75-1.227-1.716-2.304-2.268-3.617c-0.632-1.502-0.367-2.727-1.403-4.107 c-1.857-2.475-4.688-3.877-5.968-6.882c-0.606-1.427-0.591-3.028-1.249-4.438c-0.69-1.475-1.236-2.444-2.317-3.694 c-0.881-1.017-1.87-2.057-3.092-2.593c-0.502-0.218-1.662-0.25-2.112-0.691c-0.209-0.205,0.146-0.535-0.209-0.851 c-0.077-0.067-1.878-0.627-1.436-1.159c0.337-0.409,0.445-1.019,1.129-0.883c0.154-1.241,1.362-2.422,1.664-3.651 c0.326-1.329,0.385-3.37,0-4.646c-0.395-1.306-1.089-2.453-2.155-3.352c-0.942-0.793-2.377-1.173-3.641-1.479 c-2.584-0.624-5.018,1.4-6.281,3.442c-0.726-0.461-1.739-0.247-2.588-0.366c-1.024-0.146-1.347-0.396-1.976,0.578 c-0.447,0.696-0.652,1.485-0.1,2.17c0.499,0.615,2.101,0.398,2.727,0.146c0.618-0.248,0.692-0.71,1.433-0.44 c0.894,0.328,1.614,1.473,2.554,1.89c1.729,0.765,5.242,0.371,6.147,2.328c-1.043-0.023-1.963-0.038-2.233,1.164 c-0.354-0.478-0.04-1.014-0.097-1.539c-0.083-0.762-0.038-0.618-0.849-0.864C43.3,8.327,42.227,8.2,41.291,7.679 c-0.827-0.458-1.422-1.216-2.32-1.473c-1.063-0.304-0.962,0.429-1.261,1.067c-0.194,0.414-0.381,0.484-0.603,0.839 c-0.931,1.463-0.938,2.304-0.48,4.008c0.291,1.087-0.354,2.213,0.443,3.084c0.957,1.047,2.568,0.745,3.731,0.297 c1.565-0.6,2.545-0.896,4.156-0.698c0.66,0.082,1.438-0.042,1.725,0.851c-0.116,0.004-0.242,0.02-0.358,0.032 c-0.071,0.479,0.24,0.85,0.729,0.854c-1.339,0.047-2.339-1.588-3.818-1.334c-0.322,0.985-2.271,0.779-3.003,1.361 c0.355,0.409,1.269,0.28,1.233,1.023c-1.38-0.498-2.556-1.592-4.02-1.748c-0.784-0.083-1.303,0.311-1.92,0.715 c-0.665,0.433-1.354,0.613-2.001,0.975c-1.122,0.625-2.391,1.519-3.469,2.266c-1.314,0.911-2.653,1.216-4.229,1.374 c-3.087,0.309-6.359,0.166-9.461,0.584c-3.194,0.43-6.451,1.226-9.658,1.547c-1.513,0.148-3.172,0.203-4.643,0.283 c-0.736,0.041-1.15-0.35-1.852-0.456c-0.879-0.134-1.495,0.356-2.205,0.827c-1.191,0.791-1.766,2.1-2.697,0.318 c-0.604,0.288-0.679,1.779-0.789,2.392C-6.482,26.3-7.005,27.7-5.96,27.567c-0.007,0.904-1.668,2.83-2.301,3.563 c-1.025,1.187-2.281,2.266-3.023,3.662c-0.339,0.637-0.524,1.318-0.676,2.033c-0.13,0.605-0.542,1.405-0.479,2.007 c0.112,1.075,0.667,0.495,1.569,0.792c0.547,0.18,1.051,0.743,1.635,0.969c1.016,0.39,2.238,0.771,3.289,0.968 c0.546,0.101,1.115-0.05,1.645,0.093c0.533,0.141,0.959,0.407,1.518,0.47c0.077-0.12,0.22-0.222,0.291-0.337 c0.116,0.017,0.495,0.128,0.586,0.176c0.035,0.128,0.087,0.227,0.131,0.352c1.832,0.102,2.524-0.917,3.338-2.419 c0.794-1.467,0.282-2.954,0.697-4.523c0.182-0.687,0.674-1.345,0.851-2.045c0.216-0.851,0.013-1.421,0.024-2.2 c0.012-0.816,1.016-3.307,1.637-3.675c1.267-0.753,3.313-0.606,4.738-0.479c0.83,0.073,1.627-0.049,2.414,0.216 c0.824,0.275,1.445,0.713,2.322,0.842c1.498,0.219,3.2,0.104,4.729,0.027c2.377-0.119,4.312-0.094,6.584-0.9 c2.01-0.712,4.033-1.905,6.189-0.979c1.385,0.594,2.533,2.333,4.04,2.537c0.563,0.077,1.385-0.068,2.022-0.004 c1.393,0.14,2.459,0.668,3.762,0.873c1.147,0.183,2.84,0.006,3.77-0.607c0.725-0.48,0.954-1.17,1.002-1.934 c-0.024-0.568-0.091-1.117-0.057-1.609c0.04,0.544,0.088,1.094,0.057,1.609c0.03,0.672-0.003,1.371-0.346,2.032 c-0.654,1.265-2.098,1.069-3.359,0.892c-0.694-0.1-1.355-0.296-2.027-0.387c-0.552-0.075-1.346-0.389-1.836-0.387 c-0.863,0.004-0.472,0.377-0.214,1.061c0.355,0.949,0.905,1.711,1.105,2.685c0.288,1.397,0.859,2.917,1.353,4.269 c0.541,1.486,1.375,2.74,1.885,4.254c0.521,1.535,0.504,2.904,2.246,3.475c0.931,0.304,1.423-0.092,1.524,0.968 c0.025,0.282-0.083,0.802-0.177,1.058c-0.251,0.686-0.146,0.34-0.672,0.679c-0.715,0.465-1.472,0.858-2.316,1.065 c-0.918,0.225-1.276,0.48-2.054,1.039c-0.602,0.434-1.322,0.56-2.004,0.79c-0.706,0.243-1.249,0.751-1.857,1.141 c-0.627,0.401-1.335,0.878-2.001,1.209c-0.333,0.167-0.781,0.198-1.07,0.433c-0.264,0.217-0.275,0.637-0.572,0.801 c-0.645,0.353-1.469,0.004-2.205,0.41c-0.578,0.319-1.068,0.811-1.445,1.347c-0.813,1.15-0.936,2.831-1.371,4.137 c-0.451,1.346-0.816,2.875-1.073,4.24c-0.149,0.789-0.114,1.27-0.403,2.033c-0.256,0.683-0.396,1.4-0.578,2.125 c-0.393,1.553-0.582,3.121-0.967,4.637c-0.357,1.413-1.068,2.85-1.623,4.149c-0.261,0.608-0.392,1.381-1.059,1.649 c-0.574,0.228-1.681,0.222-2.318,0.188c-0.717-0.034-1.425-0.428-2.051-0.463c-0.8-0.045-1.053,0.335-1.911,0.168 c-2.229-0.43-6.771-2.599-6.956,1.163c-0.098,1.956,1.178,2.738,2.397,4.063c1.093,1.188,2.119,1.697,3.69,1.932 c1.781,0.268,3.382,0.888,4.516,2.435c0.605,0.826,0.91,1.991,1.811,2.511c0.646,0.369,1.639,0.375,2.366,0.459 c1.075,0.124,2.239-0.325,3.064-1.087c0.816-0.756,0.771-1.505,0.662-2.416c-0.019-0.148-0.038-0.299-0.056-0.457 c-0.094-0.819-0.629-1.612-0.605-2.443c0.021-0.736,0.441-1.706,0.783-2.372c0.582-1.145,1.451-2.117,1.924-3.321 c0.568-1.448,1.372-2.271,2.32-3.461c0.596-0.747,0.9-1.827,1.389-2.674c0.623-1.077,1.3-2.13,1.719-3.311 c0.684-1.919,1.347-3.894,2.049-5.778c1.642-0.337,2.893-0.879,4.619-0.789c1.512,0.077,3.054-0.469,4.439-1.061 c2.858-1.225,5.741-1.57,8.704-2.414c1.159-0.332,3.188-0.65,4.408-0.485c-1.489,0.071-2.775,0.947-4.221,1.16 c-1.541,0.228-2.858,0.697-4.341,1.163c-1.592,0.495-3.158,0.897-4.718,1.275c-1.386,0.337-2.846,0.255-4.173,0.771 c-1.076,0.417-1.996,0.966-3.088,1.142c-1.674,0.271-1.925,0.738-2.399,2.315c-0.345,1.149-0.715,2.352-0.989,3.47 c-0.348,1.418-0.369,2.294,1.018,2.99c1.455,0.731,2.504,1.871,3.913,2.687c1.164,0.678,2.468,1.729,3.451,2.653 c0.56,0.525,0.775,1.163,1.237,1.721c-0.779,1.147-2.007,2.121-2.932,3.192c-0.498,0.574-1.013,0.901-1.759,1.055 c-0.737,0.152-3.096,0.419-2.558,1.724c0.311,0.751,1.975,0.955,2.654,0.983c1.574,0.066,3.238-0.196,4.736-0.576 c1.601-0.407,3.013-0.582,4.729-0.582c1.643,0,3.099,0.312,4.638,0.388c1.463,0.067,3.168-0.181,2.971-2.029 c-0.109-1.034-1.1-3-1.838-3.744c-0.467-0.473-1.075-1.01-1.714-1.088c-0.76-0.097-1.399,0.363-2.122-0.168 c-0.566-0.416-0.859-1.393-1.381-1.932c-0.446-0.46-0.858-0.89-1.231-1.375c-0.936-1.233-1.462-2.577-2.127-3.958 c-0.624-1.298-1.465-2.396-2.193-3.672c-0.836-1.457-1.689-2.007-3.507-1.745c-1.41,0.203-2.309,1.237-3.532,1.948 c0.318-0.298,0.681-0.754,0.624-1.254c-0.25,0.021-0.43-0.125-0.648-0.132c0.676-0.913,1.534-0.716,2.521-0.923 c0.922-0.193,1.799-0.753,2.78-1.01c2.179-0.567,4.109-1.75,6.279-2.317c3.156-0.825,6.536-1.22,9.562-2.567 c2.433-1.084,5.029-3.672,6.011-6.177c1.183-3.026,0.862-5.72,0.072-8.715c-0.409-1.567-0.292-3.095-0.288-4.735 c0.001-0.979-0.187-0.867-1.061-1.258c-0.544-0.244-1.28-0.76-1.923-0.656c0.162,0.474,0.524,0.854,0.791,1.313 c1.364,2.355-1.449,0.889-2.638,0.795c-0.688-0.055-1.717,0.506-2.32,0.077c-0.465-0.331-0.592-1.656-0.363-2.203 c0.548-1.312,2.92-1.238,4.033-1.059c1.077,0.174,2.792,0.948,3.552,1.746c0.827,0.871,0.303,2.15,0.412,3.273 c0.166,1.688,0.138,3.031,1.421,4.276c1.02,0.985,2.142,1.808,2.853,3.046c0.786,1.367,1.484,2.651,1.617,4.246 c0.063,0.758-0.079,1.665,0.456,2.27c0.243,0.272,1.425,1.106,1.751,1.15c0.535,1.735,2.604,0.617,3.692,0.375 c1.154-0.258,0.91-0.359,1.075-1.358C79.102,56.432,79.321,55.898,79.031,55.104z M-7.517,36.327 c-0.329-0.135-0.568-0.402-0.639-0.74c0.217,0.002,0.373,0.065,0.566,0.176l0.291,0.291C-7.343,36.122-7.457,36.228-7.517,36.327z M-6.609,36.617c-0.058-0.388-0.082-0.796,0.18-1.048l0.289,0.676C-6.083,36.518-6.185,36.651-6.609,36.617z M-4.708,35.364 c-0.41-0.039-0.562-0.268-0.369-0.664l0.291,0.096C-4.713,34.94-4.638,35.128-4.708,35.364z M-2.664,39.626l0.58,0.58 C-1.746,41.892-3.592,40.591-2.664,39.626z M-2.1,39.126c-0.584,0.048-0.711-0.625-0.563-1.045h0.388 C-1.957,38.356-1.888,38.766-2.1,39.126z M48.527,43.195c0.154-0.413,0.809-0.505,1.067-0.865l0.479,0.29 c0.188,0.158,0.264,0.779,0.502,1.142c0.326-0.124,0.751-0.368,1.129-0.156c-0.071,0.925-1.754,1.878-2.521,1.236 C48.868,44.575,48.368,43.615,48.527,43.195z M54.405,44.536c-0.873-0.17-1.825,1.217-2.374,1.779 c-0.763,0.786-1.959,1.5-2.847,2.101c-1.036,0.701-2.478,0.793-3.622,1.379c-1.042,0.533-2.114,1.015-3.139,1.588 c-1.481,0.832-2.741,1.667-4.134,2.61c-0.597,0.404-1.436,0.737-1.953,1.161c-0.585,0.475-0.679,1.071-0.94,1.766 c-0.524,1.398-0.866,2.777-1.331,4.148c-0.452,1.339-0.588,3.585-2.524,2.688c0.479-1.148,0.364-2.462,0.765-3.656 c0.39-1.161,0.759-2.315,1.375-3.374c0.318-0.551,0.359-1.32,0.724-1.766c0.293-0.356,1.148-0.578,1.563-0.777 c1.088-0.517,1.977-1.318,2.979-2.022c1.271-0.894,2.684-1.164,4.073-1.813c1.362-0.636,2.705-1.413,4.04-2.053 c1.242-0.596,2.68-1.282,3.768-2.124c1.259-0.974,1.714-2.006,2.55-3.248c0.15-0.063,0.147,0.043,0.271,0.084l0.679-0.098 c0.137-0.112,0.116-0.263,0.371-0.178C54.675,43.261,54.559,44.061,54.405,44.536z"/>
+ </g>
+</g>
+<g id="Layer_45" display="none">
+ <g display="inline">
+ <path fill="none" d="M19.839,64.182c-1.336-3.18,5.115-5.985,1.424-7.598C20.627,58.45,15.978,62.459,19.839,64.182z"/>
+ <path fill="none" d="M30.092,55.903c-0.628-1.86-1.657-3.586-3.13-5.017c-0.346,5.898-8.318,15.384-2.85,18.993 c-0.148-5.163,0.482-9.808,4.273-12.345c0.546,3.577-4.129,8.58,0,11.396c0.769-1.189,1.354-2.496,1.766-3.857L30.092,55.903z"/>
+ <path fill="none" d="M11.291,83.175c-23.309,0.208,0.504,2.292,11.396,0C18.722,83.206,15.712,83.138,11.291,83.175z"/>
+ <path fill="none" d="M48.332,84.126c4.331-0.597,12.272,1.215,14.246-0.951C58.25,83.771,50.307,81.96,48.332,84.126z"/>
+ <path fill="none" d="M48.916,63.364c-0.481,1.12-0.891,2.261-0.667,3.352C48.453,65.684,48.676,64.561,48.916,63.364z"/>
+ <path d="M83.949,60.384c-8.341-0.156-11.516,8.123-15.672,7.598c0.019-1.886,3.889-1.209,2.85-3.8 c9.61-5.775-4.995,1.768-7.123,4.749c-0.523-6.381,9.449-10.771,7.123-15.195c-3.104,5.213-8.143,9.135-11.397,14.246 c-1.874-4.774,6.488-7.65,4.274-9.498c-0.418,0.845-3.853,4.159-4.274,1.9c-3.054-5.837,3.483-9.398,1.426-13.295 c-4.232,5.417-7.435,11.523-11.106,17.317c1.419-8.242,3.553-20.116,5.26-27.421c1.049-0.48,2.375-3.395,3.146-7.07 c0.527-2.513,0.672-4.801,0.467-6.275c0.784-2.496,1.212-3.533,1.212-3.533L59.26,19.67c-0.271,0.588-0.578,1.433-0.907,2.45 c-0.088-0.08-0.181-0.141-0.284-0.163c-1.087-0.228-2.677,2.966-3.55,7.133c-0.769,3.663-0.727,6.857,0.032,7.731 c-1.649,7.183-3.356,15.315-4.74,22.112c-0.241-0.508-0.7-0.979-1.479-1.399c-1.398,4.132-1.644,9.033-4.273,12.345 c-1.762-8.153,5.141-15.548,4.273-19.943c-5.691,6.02-7.024,14.944-9.973,22.792c-4.805-7.309,1.731-17.799,2.851-20.892 c-2.483,2.776-4.21,6.059-8.549,7.596c-0.28-1.918-0.761-3.702-1.35-5.416L30.898,36.13c0.752-1.236,1.287-4.333,1.287-7.968 c0-4.221-0.721-7.718-1.667-8.414l-0.046-1.968l-0.633-1.183l0.02,3.132c-0.961,0.644-1.695,4.168-1.695,8.433 c0,4.425,0.791,8.065,1.805,8.503l0.091,14.126c-0.534-1.249-1.102-2.478-1.673-3.702c-3.108,4.574-7.461,8.32-12.822,11.395 c1.435-2.523,1.486-4.835-1.424-6.646c0.222,3.97-0.126,7.56-1.246,10.635L6.537,47.301c0.25-1.425-0.382-4.504-1.709-7.888 c-1.541-3.93-3.488-6.922-4.623-7.225l-0.76-1.816l-1.022-0.869l1.162,2.908c-0.659,0.95-0.057,4.5,1.499,8.47 c1.615,4.12,3.681,7.22,4.784,7.257l6.356,15.912c-0.904,1.864-2.142,3.507-3.783,4.881C5.397,61.147,3.058,52.892-4.381,48.038 c2.36,5.089,8.922,12.395,7.123,17.095c-1.975-1.532-1.203-4.896-4.273-5.7c-1.262,2.831,4.44,5.782,1.426,6.649 c-2.232-1.362-1.123-4.95-5.699-4.749c-2.014,1.102,7.379,7.669,2.85,10.447c-1.101-2.434-1.421-5.384-4.275-6.647 c2.108,9.139,4.872,19.854,2.85,26.589c0.69-1.122,1.52-2.152,2.85-2.849c3.152,1.368-1.793,2.317,1.426,2.849 c9.377-1.929,16.325,2.099,24.219-2.849c0.326,6.288,0.373,1.659,2.85,0.951c1.549-0.443,1.553,1.969,2.85,1.897 c-0.407,0.022,1.072-1.796,1.424-1.897c2.316-0.68,3.652,1.901,5.699,1.897c0.199,0,0.735-3.093,2.848-2.849 c0.993,0.114,1.307,2.775,2.85,2.849c0.336,0.018,0.11-2.928,2.851-1.897c1.109,0.415-0.566,1.815,1.425,1.897 c0.384,0.018-0.11-2.062,1.424-1.897c0.602,0.063,1.425,1.793,2.849,1.897c3.259,0.238,5.675-2.457,8.549-1.897 c0.692,1.121,1.521,2.151,2.849,2.849c0.246-6.472,11.969,1.278,8.549-0.951C62.122,81.405,71.67,65.253,83.949,60.384z M21.263,56.584c3.691,1.612-2.76,4.418-1.424,7.598C15.978,62.459,20.627,58.45,21.263,56.584z M28.386,68.931 c-4.129-2.815,0.546-7.818,0-11.396c-3.791,2.537-4.422,7.182-4.273,12.345c-5.469-3.609,2.504-13.095,2.85-18.993 c1.473,1.431,2.502,3.156,3.13,5.017l0.06,9.17C29.74,66.435,29.155,67.741,28.386,68.931z M48.916,63.364 c-0.239,1.196-0.463,2.319-0.667,3.352C48.025,65.625,48.434,64.484,48.916,63.364z"/>
+ </g>
+</g>
+<g id="Layer_46">
+ <path fill="#000000" d="M42.806,5.084c1.584,3.068,4.054,9.413,1.258,12.998c-2.522,0.147-4.805,0.053-5.87-1.258 C37.653,10.833,40.616,8.345,42.806,5.084"/>
+ <path fill="#000000" d="M21.84,8.438c2.848,1.282,9.787,2.776,10.063,6.709c0.177,2.5-1.289,4.193-3.773,4.193 C23.411,19.341,23.279,12.701,21.84,8.438z"/>
+ <path fill="#000000" d="M59.998,12.632c0.443,3.086-1.246,10.719-4.612,11.321c-2.331,0.417-4.367-0.861-4.613-3.355 C50.271,15.493,56.899,15.155,59.998,12.632z"/>
+ <path fill="#000000" d="M25.196,21.438c2.5,2.615,4.809,7.374,3.773,12.16c-1.775,1.674-5.314,1.471-6.709-0.42 C21.321,28.633,23.967,25.1,25.196,21.438z"/>
+ <path fill="#000000" d="M32.743,21.856c3.76-0.519,11.733,0.299,12.16,4.193c0.206,1.884-1.289,3.429-3.355,4.612 C36.883,29.455,35.144,25.325,32.743,21.856z"/>
+ <path fill="#000000" d="M51.192,26.05c-0.831,8.544-6.555,15.798-7.547,25.578c7.079-0.233,11.931-6.205,17.191-9.646 c1.601,0.355,2.019,1.896,2.516,3.354c-3.052,2.89-7.382,3.894-10.482,6.711c-3.927,3.564-7.93,9.279-7.128,17.608 c0.309,3.232,2.185,8.023,2.516,12.581c0.192,2.646-0.466,5.821,0,7.547c0.601,2.228,2.538,2.627,3.772,4.612 c-5.771,0.713-14.347,0.672-20.126,0c0.923-2.431,4.441-2.268,5.87-4.192c1.827-16.838-7.143-24.929-22.643-23.063 c-0.471-2.13,2.454-2.693,4.193-3.354c3.553-1.349,9.269-2.669,14.256-0.838c-2.551-8.849-7.512-15.85-12.998-22.224 c-1.527-1.773-4.611-3.483-4.193-6.289c2.543-2.322,3.762,1.168,5.032,2.516c1.391,1.476,3.253,2.815,4.612,4.193 c3.027,3.066,5.637,6.649,9.225,8.386c8.642-3.937,9.415-15.743,13.418-24.319C50.125,24.879,50.447,25.677,51.192,26.05z"/>
+ <path fill="#000000" d="M15.551,27.727c0.217,11.525-11.819,1.95-12.16-1.677C7.372,25.279,13.538,25.209,15.551,27.727z"/>
+ <path fill="#000000" d="M57.9,28.984c3.636,6.052-1.969,17.658-7.128,10.063C50.958,33.504,55.157,31.971,57.9,28.984z"/>
+ <path fill="#000000" d="M35.258,31.5c2.236,2.99,4.623,8.188,2.936,12.579C28.634,47.844,31.977,35.091,35.258,31.5z"/>
+ <path fill="#000000" d="M75.511,33.598c-1.605,2.332-4.07,9.66-7.966,9.644c-2.458-0.011-4.229-2.61-3.774-5.032 C64.507,34.277,70.907,34.588,75.511,33.598z"/>
+ <path fill="#000000" d="M15.131,38.629c1.413,1.881,0.701,4.705-0.419,6.289c-5.024,1.174-8.755-1.99-12.159-3.773 C5.647,39.395,10.924,36.627,15.131,38.629z"/>
+ <path fill="#000000" d="M75.932,55.402c-4.291,1.211-9.774-0.008-12.161-2.099C63.285,42.092,73.843,50.771,75.932,55.402z"/>
+ <path fill="#000000" d="M8.842,49.949c1.568,1.668,2.188,4.937,0.42,6.708c-4.217,1.132-8.792-0.223-11.741-1.676 C0.48,52.489,3.186,49.744,8.842,49.949z"/>
+ <path fill="#000000" d="M26.034,54.144c-1.188,10.654-11.658,0.532-12.16-2.936C18.08,50.403,24.132,51.26,26.034,54.144z"/>
+ <path fill="#000000" d="M64.61,64.206c-3.506-0.101-10.728-2.122-10.901-5.87c-0.137-2.924,3.364-5.139,6.289-3.354 C62.712,56.64,62.933,61.921,64.61,64.206z"/>
+ <path fill="#000000" d="M11.778,62.528c6.385,5.93-3.439,9.253-10.482,7.128C4.042,66.536,5.854,62.477,11.778,62.528z"/>
+ <path fill="#000000" d="M61.674,70.915c-1.25,1.032-2.459,2.736-4.191,3.773c-3.091,1.85-9.707,3.201-8.807-2.516 C49.459,67.205,57.819,69.612,61.674,70.915z"/>
+ <path fill="#000000" d="M18.067,82.237c-1.582-3.356-1.386-11.18,1.678-12.581C29.858,69.791,21.935,80.012,18.067,82.237z"/>
+</g>
+<g id="Layer_47">
+</g>
+<g id="Layer_34">
+ <text transform="matrix(1 0 0 1 72.9907 -116.4771)"><tspan x="0" y="0" font-family="'MyriadPro-Regular'" font-size="12">To do List: </tspan><tspan x="0" y="14.4" font-family="'MyriadPro-Regular'" font-size="12">Forest</tspan><tspan x="0" y="28.8" font-family="'MyriadPro-Regular'" font-size="12">Fort</tspan><tspan x="0" y="43.2" font-family="'MyriadPro-Regular'" font-size="12">Park</tspan><tspan x="0" y="57.6" font-family="'MyriadPro-Regular'" font-size="12">Family</tspan></text>
+</g>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_2218.svg b/images/noun_project_2218.svg
new file mode 100644
index 0000000..667fc6b
--- /dev/null
+++ b/images/noun_project_2218.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<path d="M50.921,3.992c-25.682,0-46.5,20.818-46.5,46.5s20.819,46.501,46.5,46.501c25.681,0,46.5-20.819,46.5-46.501 S76.603,3.992,50.921,3.992z M63.89,29.931c2.796,0,5.062,2.56,5.062,5.719c0,3.16-2.267,5.721-5.062,5.721 c-2.795,0-5.06-2.561-5.06-5.721C58.83,32.491,61.095,29.931,63.89,29.931z M36.686,29.931c2.795,0,5.061,2.56,5.061,5.719 c0,3.16-2.266,5.721-5.061,5.721c-2.795,0-5.061-2.561-5.061-5.721C31.625,32.491,33.891,29.931,36.686,29.931z M50.368,82.069 c-14.708,0-27.052-9.233-30.242-21.584c-0.121-0.467,2.918-1.416,2.918-1.416c2.619,10.977,13.875,19.253,27.324,19.253 c13.45,0,24.706-8.276,27.325-19.253c0,0,3.049,0.906,2.935,1.353C77.463,72.805,65.101,82.069,50.368,82.069z"/>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_2264.svg b/images/noun_project_2264.svg
new file mode 100644
index 0000000..48d2d34
--- /dev/null
+++ b/images/noun_project_2264.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M25.119,2.564c12.434,0.023,18.68,5.892,24.88,17.612 c6.2-11.721,12.446-17.589,24.877-17.612c13.81-0.025,25.035,10.575,25.061,23.66c0.033,23.708-24.952,47.46-49.938,71.212 C25.016,73.685,0.03,49.932,0.064,26.224C0.085,13.14,11.309,2.539,25.119,2.564z"/>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_2288.svg b/images/noun_project_2288.svg
new file mode 100644
index 0000000..29042d0
--- /dev/null
+++ b/images/noun_project_2288.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M34.457,44.069c5.786,5.797,14.198,7.239,21.08,4.343l1.617,1.095l3.041-0.42 l-2.824,3.725l3.477,3.483l6.436-0.438l-1.235,4.891l2.989,3.098l5.283-0.233l-0.977,4.083l3.79,3.8l4.119-1.755l2.211,1.771 l-1.079,2.443l0.259,0.188l12.912,0.767l0.985-4.671L65.053,38.241c2.978-6.876,1.515-14.655-4.268-20.447 c-7.512-7.524-19.499-7.716-26.754-0.472C26.735,24.603,26.948,36.549,34.457,44.069z M37.786,29.181 c-2.397-2.393-2.421-6.17-0.106-8.479c2.331-2.32,6.1-2.289,8.488,0.109c2.397,2.403,2.462,6.206,0.14,8.531 C43.99,31.656,40.173,31.588,37.786,29.181z"/>
+<g>
+ <path d="M31.167,47.354c-4.492-4.494-7.021-10.416-7.123-16.669c-0.034-1.987,0.265-3.912,0.708-5.786 c-3.955,4.806-5.491,11.5-3.404,18.033c2.479,7.8,9.304,12.937,16.746,13.518l0.928,1.708l2.896,1.022l-4.209,2.024l1.489,4.681 l5.921,2.56l-3.336,3.786l1.24,4.116l4.8,2.215l-2.745,3.182l1.634,5.116l4.474,0.328l1.151,2.59l-2.081,1.67l0.14,0.28 l11.124,6.606l3.021-3.694L51.973,54.208c-1.208,0.193-2.432,0.303-3.678,0.303C41.857,54.511,35.772,51.967,31.167,47.354z"/>
+</g>
+<g>
+ <path d="M23.907,1.448c-11.235,0-20.374,9.139-20.374,20.374c0,8.718,5.574,16.015,13.29,18.906 c-0.081-0.634-0.165-1.262-0.223-1.92c-0.062-0.738-0.054-1.443-0.052-2.149c-5.504-2.724-9.346-8.292-9.346-14.836 c0-9.211,7.494-16.705,16.705-16.705c9.211,0,16.705,7.493,16.705,16.705c0,1.11-0.14,2.18-0.358,3.228 c0.141,0.716,0.566,1.422,1.697,1.64c1.022,0.197,1.609-0.395,1.951-1.069c0.239-1.23,0.379-2.497,0.379-3.799 C44.281,10.587,35.143,1.448,23.907,1.448z"/>
+</g>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_2372.svg b/images/noun_project_2372.svg
new file mode 100644
index 0000000..203c528
--- /dev/null
+++ b/images/noun_project_2372.svg
@@ -0,0 +1,17 @@
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="54.770451" height="56.154297" id="svg2">
+ <metadata id="metadata8">
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs id="defs6"/>
+ <g transform="matrix(0.02870387,0,0,0.02870387,-83.894895,102.76536)" id="g3763">
+ <g transform="matrix(-1,0,0,1,1010.0388,-3547.0452)" id="g4040">
+ <path d="m -2791.3367,-20.109354 a 96.337933,96.337933 0 0 0 -142.8748,102.127093 l 129.0403,632.732101 -44.2955,7.53163 -336.9793,-607.0447 -0.9864,-1.81249 a 96.337933,96.337933 0 0 0 -169.4534,91.6444 l 322.3731,611.7296 -25.8421,31.31677 -425.6593,-439.88722 a 96.337933,96.337933 0 0 0 -140.942,131.31034 l 441.8022,492.67733 -24.0221,48.3529 -490.886,-130.612 a 96.337933,96.337933 0 0 0 -55.7924,184.281 l 527.8254,179.4309 332.9778,374.6418 21.9213,152.2686 a 96.337933,96.337933 0 0 0 95.4796,82.6064 l 395.0509,-0.4937 a 96.337933,96.337933 0 0 0 95.2665,-82.8616 l 78.2558,-553.8129 109.4015,-257.3185 a 96.337933,96.337933 0 0 0 3.9714,-11.2244 l 64.1616,-224.62111 107.1092,-196.39141 a 96.337933,96.337933 0 0 0 -165.3361,-98.63459 l -119.6739,184.18838 a 96.337933,96.337933 0 0 0 -5.6765,9.99093 l -109.6693,222.90626 -66.8137,26.17985 -79.2117,-45.59451 -102.0467,-146.81028 -173.3913,-708.81099 a 96.337933,96.337933 0 0 0 -45.0841,-59.985884 z" id="path5137" style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:190.19999695;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"/>
+ </g>
+ </g>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_2417.svg b/images/noun_project_2417.svg
new file mode 100644
index 0000000..dd7504d
--- /dev/null
+++ b/images/noun_project_2417.svg
@@ -0,0 +1,15 @@
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="100" height="100" id="svg6584">
+ <defs id="defs6586"/>
+ <metadata id="metadata6589">
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g transform="translate(0,-952.362)" id="layer1">
+ <path d="m 18.75,964.86195 c -1.964167,0 -4.166667,2.08334 -4.166667,4.16667 l 0,29.16672 c 0,9.23336 4.166667,20.83346 20.833334,20.83346 1.4945,0 2.859083,-0.071 4.166666,-0.2584 l 0,-12.2396 -16.666667,0 c 0,0 2.083334,-8.33338 12.500001,-8.33338 2.083333,0 2.902208,0.30834 4.166666,0.78125 l 0,-9.11459 c 0,-3.81959 1.522042,-7.01085 4.166667,-8.33335 4.166667,-2.08334 5.848833,-1.24209 8.333333,0 C 56.25,983.61407 56.25,983.61407 56.25,983.61407 l 0,-14.58336 c 0,-2.08334 -2.2025,-4.16668 -4.166667,-4.16668 -4.166666,0 -8.333333,4.16668 -16.666666,4.16668 -8.333334,0 -12.500001,-4.16668 -16.666667,-4.16668 z m 7.291666,14.58336 c 2.8765,0 5.208334,2.33167 5.208334,5.20834 0,2.87667 -2.331834,5.20834 -5.208334,5.20834 -2.8765,0 -5.208333,-2.33167 -5.208333,-5.20834 0,-2.87667 2.331833,-5.20834 5.208333,-5.20834 z m 21.875001,6.25001 c -1.964167,0 -4.166667,2.08334 -4.166667,4.16666 l 0,29.16682 c 0,9.2333 4.166667,20.8333 20.833333,20.8333 16.666667,0 20.833334,-11.6 20.833334,-20.8333 l 0,-29.16682 c 0,-2.08333 -2.2025,-4.16666 -4.166667,-4.16666 -4.166666,0 -8.333333,4.16666 -16.666667,4.16666 -8.333333,0 -12.5,-4.16666 -16.666666,-4.16666 z m 7.291666,14.58338 c 2.8765,0 5.208334,2.3317 5.208334,5.2084 0,2.8766 -2.331834,5.2083 -5.208334,5.2083 -2.8765,0 -5.208333,-2.3317 -5.208333,-5.2083 0,-2.8767 2.331833,-5.2084 5.208333,-5.2084 z m 18.75,0 c 2.8765,0 5.208334,2.3317 5.208334,5.2084 0,2.8766 -2.331834,5.2083 -5.208334,5.2083 -2.8765,0 -5.208333,-2.3317 -5.208333,-5.2083 0,-2.8767 2.331833,-5.2084 5.208333,-5.2084 z m -21.875,22.9167 25.000001,0 c 0,0 -2.083334,8.3334 -12.500001,8.3334 -10.416666,0 -12.5,-8.3334 -12.5,-8.3334 z" id="path6342" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.055;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"/>
+ </g>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_2418.svg b/images/noun_project_2418.svg
new file mode 100644
index 0000000..10ebfe5
--- /dev/null
+++ b/images/noun_project_2418.svg
@@ -0,0 +1,15 @@
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="100" height="100" id="svg6584">
+ <defs id="defs6586"/>
+ <metadata id="metadata6589">
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g transform="translate(0,-952.362)" id="layer1">
+ <path d="m 62.5,973.19528 -2.083334,4.16667 8.333334,3.12501 0,9.37501 -29.166667,0 0,-4.16667 4.166667,0 0,-2.08325 c 0,-1.02538 -1.057959,-2.08334 -2.083334,-2.08334 l -10.416667,-8e-5 c -2.083333,0 -2.083333,2.08333 -2.083333,2.08333 l 0,2.08334 6.25,0 0,4.16667 -4.427083,8.85416 c -1.248667,-0.3 -2.566042,-0.5208 -3.90625,-0.5208 -9.20475,0 -16.666667,7.46207 -16.666667,16.66667 0,9.2046 7.461917,16.6667 16.666667,16.6667 9.20475,0 16.666667,-7.4621 16.666667,-16.6667 0,0 4.166666,1e-4 6.25,1e-4 2.083334,0 2.083334,-2.0834 2.083334,-2.0834 0.428041,-6.1275 3.58475,-10.9334 7.682291,-14.06257 2.833,-2.1633 5.886375,-3.49832 8.984375,-4.16665 l 0,2.60415 0,1.6927 c -7.184624,1.85247 -12.5,8.25227 -12.5,16.01567 0,9.2046 7.461916,16.6667 16.666667,16.6667 9.204751,0 16.666667,-7.4621 16.666667,-16.6667 0,-7.6179 -5.129541,-13.8967 -12.109375,-15.88547 l -4.557292,-9.11456 0,-10.41668 c 0,-1.20792 -0.968791,-2.55146 -2.083333,-2.9948 z m -22.916667,20.83337 18.75,0 c -4.166667,2.08338 -10.416667,12.50005 -10.416667,16.66675 l -4.817708,-10e-5 c -1.053458,-4.085 -3.458208,-7.5248 -6.901042,-9.7656 z m -12.5,10.41665 c 5.752958,0 10.416667,4.6637 10.416667,10.4167 0,5.753 -4.663709,10.4167 -10.416667,10.4167 -5.752959,0 -10.416667,-4.6637 -10.416667,-10.4167 0,-5.753 4.663708,-10.4167 10.416667,-10.4167 z m 45.833333,0 c 5.752959,0 10.416667,4.6637 10.416667,10.4167 0,5.753 -4.663708,10.4167 -10.416667,10.4167 -5.752958,0 -10.416666,-4.6637 -10.416666,-10.4167 0,-5.753 4.663708,-10.4167 10.416666,-10.4167 z" id="path5421" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"/>
+ </g>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_298.svg b/images/noun_project_298.svg
new file mode 100644
index 0000000..5586025
--- /dev/null
+++ b/images/noun_project_298.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="48.318px" height="100px" viewBox="0 0 48.318 100" enable-background="new 0 0 48.318 100" xml:space="preserve">
+<path d="M48.318,24.159C48.318,10.816,37.503,0,24.159,0C10.816,0,0,10.816,0,24.159c0,10.214,6.349,18.93,15.309,22.463L1.282,100
+ H21.21h5.898h19.93L33.011,46.622C41.971,43.089,48.318,34.374,48.318,24.159z"/>
+</svg>
diff --git a/images/noun_project_329.svg b/images/noun_project_329.svg
new file mode 100644
index 0000000..f75e8bb
--- /dev/null
+++ b/images/noun_project_329.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="100.001px" height="99.254px" viewBox="0 0 100.001 99.254" enable-background="new 0 0 100.001 99.254"
+ xml:space="preserve">
+<path d="M38.916,13.922c3.858,0,6.974-3.115,6.974-6.949C45.89,3.115,42.774,0,38.916,0c-3.834,0-6.949,3.115-6.949,6.973
+ C31.967,10.807,35.082,13.922,38.916,13.922"/>
+<path d="M90.652,33.979l-7.381-1.414l-4.289,8.531c0.695,0.167,1.414,0.24,2.156,0.24C85.717,41.336,89.551,38.221,90.652,33.979
+ M0,48.381c0-5.655,4.578-10.256,10.232-10.256h21.592V22.621c0-3.858,3.114-6.973,6.973-6.973c3.857,0,6.973,3.115,6.973,6.973
+ v2.396l10.281,2.636c1.797,0.408,2.947,2.205,2.539,4.002c-0.407,1.821-2.204,2.948-4.025,2.54l-8.795-2.061v5.991h10.353
+ L84.446,8.818l-0.839,7.62l13.947,9.273c2.3,1.318,3.139,4.289,1.82,6.602c-1.03,1.833-3.092,2.72-5.032,2.36l-1.126-0.215
+ c-1.342,5.439-6.254,9.441-12.078,9.441c-1.149,0-2.275-0.167-3.33-0.456L67.24,65.023v29.63c0,2.54-2.084,4.601-4.625,4.601
+ c-2.539,0-4.6-2.061-4.6-4.601V64.364H34.699l-4.17,7.141l8.723,20.8c1.27,2.229,0.479,5.032-1.725,6.278
+ c-2.229,1.271-5.033,0.479-6.303-1.749L21.04,72.848v-7.645l-4.553,7.165v22.285c0,2.54-2.062,4.601-4.601,4.601
+ c-2.541,0-4.625-2.061-4.625-4.601V68.917l3.811-5.967V42.75l-3.787,5.799v16.822H0V48.381z"/>
+</svg>
diff --git a/images/noun_project_331.svg b/images/noun_project_331.svg
new file mode 100644
index 0000000..3263618
--- /dev/null
+++ b/images/noun_project_331.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="100px" height="91px" viewBox="0 0 100 91" enable-background="new 0 0 100 91" xml:space="preserve">
+<path d="M85.152,20H86c1.657,0,3-1.343,3-3s-1.343-3-3-3H53.274L53,3c0-1.657-1.343-3-3-3s-3,1.343-3,3l-0.274,11H14
+ c-1.657,0-3,1.343-3,3s1.343,3,3,3h0.848L0,63c0,0,0,10,18,10s18-10,18-10L21.152,20h25.425l-0.053,2.116
+ C44.998,23.204,44,24.983,44,27c0,1.909,0.895,3.607,2.285,4.706l-1.232,49.458C26.015,82.437,26,91,26,91h48
+ c0,0-0.016-8.563-19.053-9.837l-1.232-49.458C55.104,30.606,56,28.909,56,27c0-2.016-0.998-3.796-2.523-4.884L53.424,20h25.424
+ L64,63c0,0,0,10,18,10s18-10,18-10L85.152,20z M16,29.082V63H4.453L16,29.082z M20,63V29.082L31.547,63H20z M84,29.082L95.547,63H84
+ V29.082z M80,29.082V63H68.453L80,29.082z"/>
+</svg>
diff --git a/images/noun_project_34.svg b/images/noun_project_34.svg
new file mode 100644
index 0000000..f2b3b96
--- /dev/null
+++ b/images/noun_project_34.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="100px" height="83.641px" viewBox="0 0 100 83.641" enable-background="new 0 0 100 83.641" xml:space="preserve">
+<polygon points="58.263,0.056 100,41.85 58.263,83.641 30.662,83.641 62.438,51.866 0,51.866 0,31.611 62.213,31.611 30.605,0
+ 58.263,0.056 "/>
+</svg>
diff --git a/images/noun_project_364.svg b/images/noun_project_364.svg
new file mode 100644
index 0000000..7eac31a
--- /dev/null
+++ b/images/noun_project_364.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="100px" height="95.152px" viewBox="0 0 100 95.152" enable-background="new 0 0 100 95.152" xml:space="preserve">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M75.754,91.754c-11.632,1.836-9.73-4.492-9.864-11.711l-0.686-14.15l-2.987,13.671
+ c-0.545,2.594-1.23,4.972,2.446,6.876c2.59,2.248-0.332,5.448-3.121,5.037c-8.518,0.277-7.284-5.376-6.548-9.385l0.479-5.79
+ c0.343-3.944,1.093-6.4,1.295-11.913l-1.15-2.988c-9.188-2.381-15.524-4.152-22.664-7.962l-5.114,0.679
+ c-2.311,0.342-1.692,3.066-1.966,4.834l-0.747,4.827l-4.228,10.961l-0.331,0.952c-0.279,0.754-0.211,3.745,0.886,5.304l2.237,4.561
+ c1.77,2.59,2.244,8.987-2.515,6.938l-3.541-1.49c-2.513-1.021-4.562-8.028-5.436-13.133l0.069-7.151
+ c-2.183-0.675-3.07,12.191-2.183,14.836l2.183,6.675c0.671,2.168-1.84,2.922-3.61,2.922c-4.154,0-5.992-4.218-6.876-7.76
+ l-0.675-2.646c-1.03-4.084-0.488-10.285,1.625-13.894l0.951-2.233c1.903-4.431-0.41-7.631-0.951-9.878
+ c-1.77-7.216-3.2-14.225,1.771-21.167l0.346-0.475c-0.144-0.542-1.576-1.695-2.46-4.417c-1.907-6.133-3.608-16.197-1.22-16.197
+ l1.562-0.077c4.021,0,2.854,16.607,7.627,15.522l34.574,0.343l6.056-1.64c2.25-0.606,4.152-2.035,6.122-3.264l3.94-2.447
+ c4.561,4.562,8.514,7.352,15.045,9.732c1.774,13.537-0.199,16.54-1.902,24.628l-0.688,3.269c-1.216,5.787-1.627,11.779-1.35,17.7
+ l0.134,2.789c-0.065,2.857,1.559,3.06,3.807,3.741C77.526,87.536,78.543,90.394,75.754,91.754L75.754,91.754L75.754,91.754z"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M83.062,9.073c1.901,1.297,4.286,3.608,6.191,5.646l2.388,2.592
+ c1.562,1.625,3.94,1.425,6.055,1.834l0.743,0.135c2.312,1.218,1.576,3.673,0.819,5.512l-0.477,1.153
+ c-2.183,5.247-8.645,5.657-13.208,3.198l-2.035-1.083H82.85l-1.422,0.952l-2.927,2.314c-5.92-2.591-10.751-5.714-14.637-9.866
+ l8.922-11.167l2.991-4.352l0.61-1.43l0.686-1.572c0.544-1.759,2.788-3.464,4.43-2.789c1.559,0.686,2.58,3.674,2.169,5.249
+ l-0.408,1.77L83.062,9.073L83.062,9.073L83.062,9.073z"/>
+</svg>
diff --git a/images/noun_project_421.svg b/images/noun_project_421.svg
new file mode 100644
index 0000000..1510c51
--- /dev/null
+++ b/images/noun_project_421.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="100px" height="56.533px" viewBox="0 0 100 56.533" enable-background="new 0 0 100 56.533" xml:space="preserve">
+<path d="M99.995,28.08c-0.002-0.042-0.006-0.082-0.009-0.123c-0.002-0.021-0.003-0.042-0.005-0.062
+ c-0.003-0.03-0.008-0.06-0.012-0.089c-0.004-0.035-0.008-0.07-0.014-0.104c-0.001-0.004-0.002-0.009-0.002-0.013
+ c-0.123-0.773-0.487-1.498-1.045-2.056c-3.19-3.781-6.985-7.146-10.844-10.219C79.753,8.792,70.248,3.252,59.756,1.022
+ C53.692-0.266,47.59-0.321,41.494,0.769c-5.545,0.992-10.889,3.054-15.891,5.61c-7.829,4-14.979,9.515-21.209,15.698
+ c-1.153,1.144-2.3,2.312-3.348,3.555c-1.396,1.654-1.396,3.613,0,5.267c3.19,3.781,6.985,7.145,10.844,10.219
+ c8.312,6.622,17.817,12.161,28.309,14.391c6.064,1.289,12.167,1.344,18.263,0.254c5.544-0.992,10.888-3.054,15.891-5.61
+ c7.829-4.001,14.979-9.515,21.209-15.698c1.153-1.145,2.3-2.312,3.348-3.555c0.558-0.559,0.922-1.283,1.045-2.057
+ c0-0.004,0.001-0.009,0.002-0.013c0.006-0.035,0.01-0.069,0.014-0.104c0.004-0.029,0.009-0.059,0.012-0.089
+ c0.002-0.021,0.003-0.041,0.005-0.062c0.003-0.04,0.007-0.08,0.009-0.122c0.003-0.062,0.005-0.124,0.005-0.187
+ S99.998,28.142,99.995,28.08z M50,47.507c-10.627,0-19.241-8.614-19.241-19.241C30.759,17.64,39.373,9.025,50,9.025
+ s19.241,8.614,19.241,19.241C69.241,38.893,60.627,47.507,50,47.507z"/>
+<circle cx="50" cy="28.266" r="6.369"/>
+</svg>
diff --git a/images/noun_project_454.svg b/images/noun_project_454.svg
new file mode 100644
index 0000000..bb7ee72
--- /dev/null
+++ b/images/noun_project_454.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<path d="M41.464,0H5.614C2.514,0,0,2.513,0,5.614v35.85c0,3.1,2.514,5.614,5.614,5.614h35.85c3.101,0,5.613-2.514,5.613-5.614V5.614
+ C47.077,2.513,44.564,0,41.464,0z M11.204,6.588c2.549,0,4.615,2.066,4.615,4.615s-2.066,4.615-4.615,4.615
+ s-4.615-2.066-4.615-4.615S8.655,6.588,11.204,6.588z M11.204,40.488c-2.549,0-4.615-2.066-4.615-4.615
+ c0-2.549,2.066-4.615,4.615-4.615s4.615,2.066,4.615,4.615C15.819,38.422,13.753,40.488,11.204,40.488z M23.539,28.154
+ c-2.549,0-4.615-2.066-4.615-4.615s2.066-4.615,4.615-4.615s4.615,2.066,4.615,4.615S26.088,28.154,23.539,28.154z M35.874,40.488
+ c-2.55,0-4.615-2.066-4.615-4.615c0-2.549,2.065-4.615,4.615-4.615c2.549,0,4.614,2.066,4.614,4.615
+ C40.488,38.422,38.423,40.488,35.874,40.488z M35.874,15.819c-2.55,0-4.615-2.066-4.615-4.615s2.065-4.615,4.615-4.615
+ c2.549,0,4.614,2.066,4.614,4.615S38.423,15.819,35.874,15.819z"/>
+<path d="M98.356,65.067l-25.35-25.349c-2.192-2.193-5.747-2.193-7.939,0l-25.35,25.35c-2.192,2.192-2.192,5.747,0,7.939l25.35,25.35
+ c2.192,2.191,5.747,2.191,7.939,0l25.35-25.35C100.548,70.814,100.548,67.259,98.356,65.067z M72.301,48.329
+ c1.802,1.802,1.802,4.724,0,6.527c-1.803,1.802-4.725,1.802-6.527,0c-1.803-1.803-1.803-4.725,0-6.527S70.498,46.527,72.301,48.329z
+ M48.33,72.3c-1.803-1.803-1.803-4.725,0-6.527c1.802-1.802,4.724-1.802,6.526,0c1.802,1.803,1.802,4.725,0,6.527
+ C53.054,74.102,50.132,74.102,48.33,72.3z M65.773,72.299c-1.803-1.802-1.803-4.724,0-6.526c1.803-1.802,4.725-1.802,6.527,0
+ c1.802,1.803,1.802,4.725,0,6.526C70.498,74.102,67.576,74.102,65.773,72.299z M65.773,89.744c-1.803-1.802-1.803-4.725,0-6.526
+ c1.803-1.803,4.725-1.803,6.527,0c1.802,1.802,1.802,4.725,0,6.526C70.498,91.546,67.576,91.546,65.773,89.744z M83.218,72.299
+ c-1.803-1.802-1.803-4.724,0-6.526c1.802-1.802,4.725-1.802,6.526,0c1.803,1.803,1.803,4.725,0,6.526
+ C87.942,74.102,85.02,74.102,83.218,72.299z"/>
+</svg>
diff --git a/images/noun_project_47.svg b/images/noun_project_47.svg
new file mode 100644
index 0000000..08cb78e
--- /dev/null
+++ b/images/noun_project_47.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="70.339px" height="100px" viewBox="0 0 70.339 100" enable-background="new 0 0 70.339 100" xml:space="preserve">
+<path d="M35.171,28.241c7.796-0.008,14.121-6.33,14.121-14.121c0-7.814-6.324-14.137-14.121-14.12
+ c-7.806-0.018-14.129,6.306-14.123,14.12C21.042,21.911,27.365,28.233,35.171,28.241L35.171,28.241z"/>
+<path d="M35.171,14.12"/>
+<path d="M35.171,57.791H20.198V46.956L8.798,58.47c-5.165,5.165-12.157-1.448-6.976-6.635l18.885-18.943
+ c1.542-1.508,3.22-2.476,5.899-2.497h8.565l0,0h8.393c2.646,0.021,4.442,0.96,6.011,2.497l19.113,19.169
+ c4.917,4.896-2.264,11.573-6.976,6.578L49.972,46.9v10.89H35.171L35.171,57.791L35.171,57.791z"/>
+<path d="M49.915,63.349L38.688,74.577l8.278,8.221l-8.448,8.452c-5.001,4.977,1.873,12.104,7.029,6.977l13.328-13.895
+ c2.887-2.939,3.678-8.34,0.626-11.399C59.47,72.911,49.915,63.349,49.915,63.349L49.915,63.349z"/>
+<path d="M20.198,63.349l11.229,11.228l-8.221,8.221l8.45,8.452c4.967,4.977-1.906,12.104-7.035,6.977L11.236,84.332
+ c-2.857-2.939-3.649-8.34-0.566-11.399C10.67,72.911,20.198,63.349,20.198,63.349L20.198,63.349z"/>
+</svg>
diff --git a/images/noun_project_486.svg b/images/noun_project_486.svg
new file mode 100644
index 0000000..40b8af6
--- /dev/null
+++ b/images/noun_project_486.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="100px" height="72px" viewBox="0 0 100 72" enable-background="new 0 0 100 72" xml:space="preserve">
+<path d="M100,20c0-2.209-1.791-4-4-4c-1.104,0-2.104,0.448-2.828,1.171L84.344,26H15.656l-8.828-8.829C6.104,16.448,5.104,16,4,16
+ c-2.209,0-4,1.791-4,4c0,1.104,0.447,2.104,1.172,2.829L14,35.657V53c0,10.493,8.506,19,19,19h34c10.494,0,19-8.507,19-19V35.657
+ l12.828-12.828C99.553,22.104,100,21.104,100,20z"/>
+<path d="M54,11.2V4c0-2.208-1.792-4-4-4c-2.209,0-4,1.792-4,4v7.2C30.434,12.668,16,22,16,22h34h34C84,22,69.566,12.668,54,11.2z"/>
+</svg>
diff --git a/images/noun_project_504.svg b/images/noun_project_504.svg
new file mode 100644
index 0000000..6861361
--- /dev/null
+++ b/images/noun_project_504.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="100px" height="87px" viewBox="0 0 100 87" enable-background="new 0 0 100 87" xml:space="preserve">
+<path d="M95.454,21.046l0.001-0.025l-37.454-4.766L55.533,7H61V5h-6h-2l-3-5l-3,5h-2h-6v2h5.467l-2.468,9.255L4.545,21.021
+ l0.001,0.025C2,21.278,0,23.394,0,26c0,2.762,2.238,5,5,5l37.031,1.899L45,70c0,0-13,4-13,11h14l4,6l4-6h14c0-7-13-11-13-11
+ l2.969-37.101L95,31c2.762,0,5-2.238,5-5C100,23.394,98,21.278,95.454,21.046z"/>
+</svg>
diff --git a/images/noun_project_516.svg b/images/noun_project_516.svg
new file mode 100644
index 0000000..7d729db
--- /dev/null
+++ b/images/noun_project_516.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="100px" height="42px" viewBox="0 0 100 42" enable-background="new 0 0 100 42" xml:space="preserve">
+<path d="M85,21c0-3.72-2.555-6.845-6-7.736V7H65c-4.756,0-8.95,2.376-11.48,6H8c-4.418,0-8,3.582-8,8s3.582,8,8,8h45.52
+ c2.53,3.624,6.725,6,11.48,6h14v-6.264C82.445,27.845,85,24.72,85,21z M81,21c0,1.475-0.811,2.75-2,3.443v-6.887
+ C80.189,18.25,81,19.525,81,21z"/>
+<rect x="89" y="19" width="11" height="4"/>
+<rect x="86.42" y="27.665" transform="matrix(-0.866 -0.5 0.5 -0.866 157.0086 101.4014)" width="11.34" height="4.001"/>
+<rect x="79.994" y="34.089" transform="matrix(-0.4998 -0.8661 0.8661 -0.4998 97.2252 128.3234)" width="11.339" height="4.001"/>
+<rect x="86.42" y="10.335" transform="matrix(-0.866 0.5 -0.5 -0.866 178.009 -23.0286)" width="11.34" height="4.001"/>
+<rect x="83.664" y="0.241" transform="matrix(0.8661 0.4999 -0.4999 0.8661 14.4277 -42.0336)" width="4.001" height="11.339"/>
+<path d="M46,7h-2c-2,0-4,2-4,4h10C50,9,48,7,46,7z"/>
+</svg>
diff --git a/images/noun_project_572.svg b/images/noun_project_572.svg
new file mode 100644
index 0000000..15ea418
--- /dev/null
+++ b/images/noun_project_572.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="75.344px" height="100px" viewBox="0 0 75.344 100" enable-background="new 0 0 75.344 100" xml:space="preserve">
+<path d="M37.674,54.126c7.482,0,10.953,5.679,11.683,13.745c0.174,1.93-0.008,4.743-0.255,8.001
+ C48.261,86.697,47.294,100,54.502,100c6.096,0,9.228-11.695,11.035-25.027c1.745-13.197-0.103-19.765,0.806-25.625
+ c1.733-11.103,11.425-21.058,8.431-35.214c-1.658-7.853-5.982-11.547-10.266-13.1C54.64-2.558,48.269,4.363,37.674,4.363
+ S20.708-2.558,10.835,1.034c-4.28,1.553-8.604,5.247-10.266,13.1C-2.421,28.29,7.267,38.245,9.004,49.348
+ c0.908,5.86-0.939,12.427,0.806,25.625C11.617,88.304,14.75,100,20.845,100c7.205,0,6.242-13.303,5.4-24.127
+ c-0.248-3.258-0.428-6.071-0.255-8.001C26.717,59.805,30.234,54.126,37.674,54.126z"/>
+</svg>
diff --git a/images/noun_project_627.svg b/images/noun_project_627.svg
new file mode 100644
index 0000000..98e25bb
--- /dev/null
+++ b/images/noun_project_627.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="100px" height="77.913px" viewBox="0 0 100 77.913" enable-background="new 0 0 100 77.913" xml:space="preserve">
+<path d="M87.838,3.242c-1.454-3.438-16.457-8.989-21.414,13.153l-26.173,19.63L1.098,59.468l1.961,0.679l5.202-1.518L0,63.508
+ l2.709,0.938l28.024-8.328c0,0,12.643,1.727,22.494,1.734c-0.464,0.929-0.928,1.857-1.393,2.786
+ c-0.469,0.939,3.497,10.33,4.962,14.802c-2.47,0.375-4.941,0.751-7.411,1.126c-0.883,0.134-0.506,1.471,0.369,1.338
+ c2.602-0.395,5.203-0.79,7.804-1.185c2.601,0.395,5.203,0.79,7.803,1.185c0.875,0.133,1.252-1.204,0.369-1.338
+ c-2.491-0.379-4.983-0.757-7.475-1.136c-0.113-0.385-0.227-0.77-0.341-1.154c-0.442-1.498-0.884-2.995-1.327-4.493
+ c-0.827-2.798-1.652-5.596-2.479-8.394c-0.006-0.02-0.012-0.032-0.017-0.049c0.3-0.602,9.757-4.912,9.757-4.912
+ s-0.004,0-0.005-0.001C98.2,44.06,79.276,15.709,86.517,11.306C89.562,9.455,100,6.679,100,6.679
+ C100,3.52,87.838,3.242,87.838,3.242z"/>
+</svg>
diff --git a/images/noun_project_638.svg b/images/noun_project_638.svg
new file mode 100644
index 0000000..d644af1
--- /dev/null
+++ b/images/noun_project_638.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="100px" height="53.037px" viewBox="0 0 100 53.037" enable-background="new 0 0 100 53.037" xml:space="preserve">
+<path d="M100,30.08c0-9.142-15.332-18.619-28.749-23.267c-3.632-3.661-9.089-7.459-10.42-6.72c-0.937,0.521,0.405,2.413,1.405,4.294
+ c-1.832-0.328-3.516-0.503-4.977-0.503c-29.213,0-40.689,16.579-43.597,16.655C10.901,20.611,4.437,3.069,0.104,5.797
+ c-1.026,0.646,5.888,8.992,5.888,18.037c0,1.332,1.404,2.262,2.075,2.408c-0.67,0.146-2.075,1.076-2.075,2.409
+ c0,9.045-6.914,17.392-5.888,18.037C4.437,49.415,10.9,31.873,13.663,31.945c0.126,0.002,0.271,0.039,0.43,0.103
+ c4.858,3.978,22.921,16.004,45.017,16.828c0.361,0.013,0.81-0.001,1.328-0.039c-1.664,1.771-3.916,3.358-3.73,3.769
+ c0.809,1.799,9.881-2.416,13.658-5.438c8.32-1.807,18.763-4.741,24.328-7.332c2.584-1.203-0.553-3.219-0.145-5.883
+ C94.799,32.322,100,32.537,100,30.08z M80.395,22.978c-1.367,0-2.476-1.108-2.476-2.475c0-1.367,1.108-2.475,2.476-2.475
+ s2.475,1.108,2.475,2.475C82.869,21.87,81.762,22.978,80.395,22.978z"/>
+</svg>
diff --git a/images/noun_project_640.svg b/images/noun_project_640.svg
new file mode 100644
index 0000000..56e7d12
--- /dev/null
+++ b/images/noun_project_640.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="75.646px" height="100px" viewBox="0 0 75.646 100" enable-background="new 0 0 75.646 100" xml:space="preserve">
+<path d="M42.834,19.013c2.431-7.503,6.998-12.686,12.104-12.686V0c-8.785,0-16.098,8.165-18.97,19.929
+ C-13.594,4.448-0.195,58.127,8.213,72.525c5.506,9.43,1.528,27.691,21.914,27.473c3.069-0.033,5.617,0.26,7.697-2.692
+ c2.079,2.952,4.627,2.659,7.696,2.692c20.385,0.219,16.407-18.043,21.914-27.473C75.658,58.44,88.658,6.771,42.834,19.013z"/>
+</svg>
diff --git a/images/noun_project_714.svg b/images/noun_project_714.svg
new file mode 100644
index 0000000..4d56796
--- /dev/null
+++ b/images/noun_project_714.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="49.024px" height="100px" viewBox="0 0 49.024 100" enable-background="new 0 0 49.024 100" xml:space="preserve">
+<path d="M34.347,21.624l-0.022-0.051c-0.384-0.874-1.168-1.53-2.121-1.737c-0.108-0.018-8.336-1.567-13.633-1.567
+ c-19.561,0-18.562,7.826-18.562,15.141l2.108,25.417h4.047l0.001-0.001L9.579,100h7.564V59.752h2.854V100h7.563l5.043-60.799
+ l9.182,15.01l5.947-2.783L34.347,21.624z"/>
+<circle cx="18.571" cy="8.087" r="8.087"/>
+<path d="M42.41,54.181c-3.647,0-6.615,2.968-6.615,6.614h4.282c0-1.286,1.047-2.332,2.333-2.332s2.333,1.046,2.333,2.332V100h4.281
+ V60.795C49.024,57.149,46.058,54.181,42.41,54.181z"/>
+</svg>
diff --git a/images/noun_project_795.svg b/images/noun_project_795.svg
new file mode 100644
index 0000000..24ac992
--- /dev/null
+++ b/images/noun_project_795.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="95.574px" height="100px" viewBox="0 0 95.574 100" enable-background="new 0 0 95.574 100" xml:space="preserve">
+<path fill="#000000" d="M50.644,2.894V2.857C50.644,1.279,49.365,0,47.787,0S44.93,1.279,44.93,2.857v0.04 C21.211,4.301,2.131,22.916,0,46.433c2.26-4.089,6.613-6.862,11.616-6.862c5.404,0,10.043,3.236,12.112,7.872 c2.068-4.636,6.708-7.872,12.112-7.872c3.524,0,6.717,1.382,9.09,3.624v41.092c0,5.514-4.486,10-10,10c-5.514,0-10-4.486-10-10 c0-1.579-1.279-2.857-2.857-2.857c-1.578,0-2.857,1.278-2.857,2.857C19.216,92.95,26.265,100,34.93,100 c8.665,0,15.714-7.05,15.714-15.714V43.511c2.402-2.431,5.732-3.94,9.421-3.94c5.404,0,10.044,3.236,12.112,7.872 c2.069-4.636,6.709-7.872,12.112-7.872c4.775,0,8.949,2.531,11.285,6.318C93.2,22.613,74.201,4.267,50.644,2.894z"/>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_865.svg b/images/noun_project_865.svg
new file mode 100644
index 0000000..d24acc7
--- /dev/null
+++ b/images/noun_project_865.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<g>
+ <polygon points="35.009,97.063 35.009,97.063 47.875,50.553 25.601,51.904 42.521,7.001 67.758,2.937 49.133,36.511 74.399,33.256 "/>
+</g>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_921.svg b/images/noun_project_921.svg
new file mode 100644
index 0000000..8e521ee
--- /dev/null
+++ b/images/noun_project_921.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="54.0540540541px" height="100px" viewBox="0 0 100 185.708" enable-background="new 0 0 100 185.708" xml:space="preserve">
+<rect x="4.472" y="161.291" width="37.093" height="20.815"/>
+<rect x="58.969" y="161.291" width="37.094" height="20.815"/>
+<path d="M4.472,159.871h91.591V27.24H4.472V159.871z M69.338,36.476h17.403v21.525H69.338V36.476z M69.338,64.61h17.403v21.525 H69.338V64.61z M69.338,93.649h17.403v21.525H69.338V93.649z M69.338,125.432h17.403v21.525H69.338V125.432z M41.565,36.476h17.404 v21.525H41.565V36.476z M41.565,64.61h17.404v21.525H41.565V64.61z M41.565,93.649h17.404v21.525H41.565V93.649z M41.565,125.432 h17.404v21.525H41.565V125.432z M14.293,36.476h17.404v21.525H14.293V36.476z M14.293,64.61h17.404v21.525H14.293V64.61z M14.293,93.649h17.404v21.525H14.293V93.649z M14.293,125.432h17.404v21.525H14.293V125.432z"/>
+<polygon points="78.039,13.422 78.039,5.119 22.495,5.119 22.495,13.422 4.472,13.422 4.472,25.821 96.062,25.821 96.062,13.422 "/>
+</svg> \ No newline at end of file
diff --git a/images/noun_project_95.svg b/images/noun_project_95.svg
new file mode 100644
index 0000000..952065b
--- /dev/null
+++ b/images/noun_project_95.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<path d="M88.895,11.105c-14.807-14.807-38.812-14.807-53.619,0c-14.807,14.806-14.807,38.812,0,53.619
+ c14.807,14.807,38.812,14.807,53.619,0S103.702,25.912,88.895,11.105z M84.662,60.492c-12.469,12.468-32.684,12.468-45.153,0
+ c-12.468-12.469-12.468-32.685,0-45.153c12.469-12.468,32.685-12.469,45.153,0S97.13,48.022,84.662,60.492z"/>
+<rect x="12.357" y="61.701" transform="matrix(0.7071 0.7071 -0.7071 0.7071 63.1103 10.9445)" width="11.973" height="39.91"/>
+</svg>
diff --git a/images/noun_project_99.svg b/images/noun_project_99.svg
new file mode 100644
index 0000000..b9b2293
--- /dev/null
+++ b/images/noun_project_99.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="71px" height="100px" viewBox="0 0 71 100" enable-background="new 0 0 71 100" xml:space="preserve">
+<path d="M65.5,45V30c0-16.542-13.458-30-30-30s-30,13.458-30,30v15H0v55h71V45H65.5z M13.5,30c0-12.131,9.869-22,22-22
+ s22,9.869,22,22v15h-44V30z"/>
+</svg>
diff --git a/po/Recall.pot b/po/Recall.pot
new file mode 100644
index 0000000..bd06631
--- /dev/null
+++ b/po/Recall.pot
@@ -0,0 +1,34 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-05-10 19:32-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: activity/activity.info:2
+msgid "Recall"
+msgstr ""
+
+#: game.py:194
+msgid "Which image was repeated?"
+msgstr ""
+
+#: RecallActivity.py:110
+msgid "Game"
+msgstr ""
+
+#: RecallActivity.py:117
+msgid "Load new images."
+msgstr ""
diff --git a/setup.py b/setup.py
new file mode 100755
index 0000000..e5026ee
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python
+import os
+import sys
+
+if len(sys.argv) > 1 and '--no-sugar' == sys.argv[1]:
+ # Remove the argument from the stack so we don't cause problems
+ # for distutils
+ sys.argv.pop(1)
+
+ import glob, os.path, string
+ from distutils.core import setup
+
+ DATA_FILES = [
+ ('icons', glob.glob('icons/*')),
+ ('images', glob.glob('images/*')),
+ ('/usr/share/applications', ['turtleart.desktop'])
+ ]
+
+ setup (name = 'Turtle Art',
+ description = "A LOGO-like tool for teaching programming",
+ author = "Walter Bender",
+ author_email = "walter.bender@gmail.com",
+ version = '0.9.4',
+ packages = ['TurtleArt'],
+ scripts = ['turtleart'],
+ data_files = DATA_FILES,
+ )
+else:
+ from sugar.activity import bundlebuilder
+
+ if __name__ == "__main__":
+ bundlebuilder.start()
diff --git a/sprites.py b/sprites.py
new file mode 100644
index 0000000..2b8bb55
--- /dev/null
+++ b/sprites.py
@@ -0,0 +1,459 @@
+# -*- coding: utf-8 -*-
+
+#Copyright (c) 2007-8, Playful Invention Company.
+#Copyright (c) 2008-11 Walter Bender
+
+#Permission is hereby granted, free of charge, to any person obtaining a copy
+#of this software and associated documentation files (the "Software"), to deal
+#in the Software without restriction, including without limitation the rights
+#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+#copies of the Software, and to permit persons to whom the Software is
+#furnished to do so, subject to the following conditions:
+
+#The above copyright notice and this permission notice shall be included in
+#all copies or substantial portions of the Software.
+
+#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+#THE SOFTWARE.
+
+'''
+
+sprites.py is a simple sprites library for managing graphics objects,
+'sprites', on a gtk.DrawingArea. It manages multiple sprites with
+methods such as move, hide, set_layer, etc.
+
+There are two classes:
+
+class Sprites maintains a collection of sprites
+class Sprite manages individual sprites within the collection.
+
+Example usage:
+ # Import the classes into your program.
+ from sprites import Sprites Sprite
+
+ # Create a new sprite collection associated with your widget
+ self.sprite_list = Sprites(widget)
+
+ # Create a "pixbuf" (in this example, from SVG).
+ my_pixbuf = svg_str_to_pixbuf("<svg>...some svg code...</svg>")
+
+ # Create a sprite at position x1, y1.
+ my_sprite = sprites.Sprite(self.sprite_list, x1, y1, my_pixbuf)
+
+ # Move the sprite to a new position.
+ my_sprite.move((x1+dx, y1+dy))
+
+ # Create another "pixbuf".
+ your_pixbuf = svg_str_to_pixbuf("<svg>...some svg code...</svg>")
+
+ # Create a sprite at position x2, y2.
+ your_sprite = sprites.Sprite(self.sprite_list, x2, y2, my_pixbuf)
+
+ # Assign the sprites to layers.
+ # In this example, your_sprite will be on top of my_sprite.
+ my_sprite.set_layer(100)
+ your_sprite.set_layer(200)
+
+ # Now put my_sprite on top of your_sprite.
+ my_sprite.set_layer(300)
+
+ cr = self.window.cairo_create()
+ # In your activity's do_expose_event, put in a call to redraw_sprites
+ self.sprites.redraw_sprites(event.area, cairo_context)
+
+# method for converting SVG to a gtk pixbuf
+def svg_str_to_pixbuf(svg_string):
+ pl = gtk.gdk.PixbufLoader('svg')
+ pl.write(svg_string)
+ pl.close()
+ pixbuf = pl.get_pixbuf()
+ return pixbuf
+
+'''
+
+import pygtk
+pygtk.require('2.0')
+import gtk
+import pango
+import pangocairo
+import cairo
+
+class Sprites:
+ ''' A class for the list of sprites and everything they share in common '''
+
+ def __init__(self, widget):
+ ''' Initialize an empty array of sprites '''
+ self.widget = widget
+ self.list = []
+ self.cr = None
+
+ def set_cairo_context(self, cr):
+ ''' Cairo context may be set or reset after __init__ '''
+ self.cr = cr
+
+ def get_sprite(self, i):
+ ''' Return a sprint from the array '''
+ if i < 0 or i > len(self.list) - 1:
+ return(None)
+ else:
+ return(self.list[i])
+
+ def length_of_list(self):
+ ''' How many sprites are there? '''
+ return(len(self.list))
+
+ def append_to_list(self, spr):
+ ''' Append a new sprite to the end of the list. '''
+ self.list.append(spr)
+
+ def insert_in_list(self, spr, i):
+ ''' Insert a sprite at position i. '''
+ if i < 0:
+ self.list.insert(0, spr)
+ elif i > len(self.list) - 1:
+ self.list.append(spr)
+ else:
+ self.list.insert(i, spr)
+
+ def remove_from_list(self, spr):
+ ''' Remove a sprite from the list. '''
+ if spr in self.list:
+ self.list.remove(spr)
+
+ def find_sprite(self, pos, inverse=False):
+ ''' Search based on (x, y) position. Return the 'top/first' one. '''
+ list = self.list[:]
+ if not inverse:
+ list.reverse()
+ for spr in list:
+ if spr.hit(pos):
+ return spr
+ return None
+
+ def redraw_sprites(self, area=None, cr=None):
+ ''' Redraw the sprites that intersect area. '''
+ # I think I need to do this to save Cairo some work
+ if cr is None:
+ cr = self.cr
+ else:
+ self.cr = cr
+ if cr is None:
+ print 'sprites.redraw_sprites: no Cairo context'
+ return
+ for spr in self.list:
+ if area == None:
+ spr.draw(cr=cr)
+ else:
+ intersection = spr.rect.intersect(area)
+ if intersection.width > 0 or intersection.height > 0:
+ spr.draw(cr=cr)
+
+
+class Sprite:
+ ''' A class for the individual sprites '''
+
+ def __init__(self, sprites, x, y, image):
+ ''' Initialize an individual sprite '''
+ self._sprites = sprites
+ self.save_xy = (x, y) # remember initial (x, y) position
+ self.rect = gtk.gdk.Rectangle(int(x), int(y), 0, 0)
+ self._scale = [12]
+ self._rescale = [True]
+ self._horiz_align = ["center"]
+ self._vert_align = ["middle"]
+ self._fd = None
+ self._bold = False
+ self._italic = False
+ self._color = None
+ self._margins = [0, 0, 0, 0]
+ self.layer = 100
+ self.labels = []
+ self.cached_surfaces = []
+ self._dx = [] # image offsets
+ self._dy = []
+ self.type = None
+ self.set_image(image)
+ self._sprites.append_to_list(self)
+
+ def set_image(self, image, i=0, dx=0, dy=0):
+ ''' Add an image to the sprite. '''
+ while len(self.cached_surfaces) < i + 1:
+ self.cached_surfaces.append(None)
+ self._dx.append(0)
+ self._dy.append(0)
+ self._dx[i] = dx
+ self._dy[i] = dy
+ if isinstance(image, gtk.gdk.Pixbuf) or \
+ isinstance(image, cairo.ImageSurface):
+ w = image.get_width()
+ h = image.get_height()
+ else:
+ w, h = image.get_size()
+ if i == 0: # Always reset width and height when base image changes.
+ self.rect.width = w + dx
+ self.rect.height = h + dy
+ else:
+ if w + dx > self.rect.width:
+ self.rect.width = w + dx
+ if h + dy > self.rect.height:
+ self.rect.height = h + dy
+ if isinstance(image, cairo.ImageSurface):
+ self.cached_surfaces[i] = image
+ else: # Convert to Cairo surface
+ surface = cairo.ImageSurface(
+ cairo.FORMAT_ARGB32, self.rect.width, self.rect.height)
+ context = cairo.Context(surface)
+ context = gtk.gdk.CairoContext(context)
+ context.set_source_pixbuf(image, 0, 0)
+ context.rectangle(0, 0, self.rect.width, self.rect.height)
+ context.fill()
+ self.cached_surfaces[i] = surface
+
+ def move(self, pos):
+ ''' Move to new (x, y) position '''
+ self.inval()
+ self.rect.x, self.rect.y = int(pos[0]), int(pos[1])
+ self.inval()
+
+ def move_relative(self, pos):
+ ''' Move to new (x+dx, y+dy) position '''
+ self.inval()
+ self.rect.x += int(pos[0])
+ self.rect.y += int(pos[1])
+ self.inval()
+
+ def get_xy(self):
+ ''' Return current (x, y) position '''
+ return (self.rect.x, self.rect.y)
+
+ def get_dimensions(self):
+ ''' Return current size '''
+ return (self.rect.width, self.rect.height)
+
+ def get_layer(self):
+ ''' Return current layer '''
+ return self.layer
+
+ def set_shape(self, image, i=0):
+ ''' Set the current image associated with the sprite '''
+ self.inval()
+ self.set_image(image, i)
+ self.inval()
+
+ def set_layer(self, layer=None):
+ ''' Set the layer for a sprite '''
+ self._sprites.remove_from_list(self)
+ if layer is not None:
+ self.layer = layer
+ for i in range(self._sprites.length_of_list()):
+ if layer < self._sprites.get_sprite(i).layer:
+ self._sprites.insert_in_list(self, i)
+ self.inval()
+ return
+ self._sprites.append_to_list(self)
+ self.inval()
+
+ def set_label(self, new_label, i=0):
+ ''' Set the label drawn on the sprite '''
+ self._extend_labels_array(i)
+ if type(new_label) is str or type(new_label) is unicode:
+ # pango doesn't like nulls
+ self.labels[i] = new_label.replace("\0", " ")
+ else:
+ self.labels[i] = str(new_label)
+ self.inval()
+
+ def set_margins(self, l=0, t=0, r=0, b=0):
+ ''' Set the margins for drawing the label '''
+ self._margins = [l, t, r, b]
+
+ def _extend_labels_array(self, i):
+ ''' Append to the labels attribute list '''
+ if self._fd is None:
+ self.set_font('Sans')
+ if self._color is None:
+ self._color = (0., 0., 0.)
+ while len(self.labels) < i + 1:
+ self.labels.append(" ")
+ self._scale.append(self._scale[0])
+ self._rescale.append(self._rescale[0])
+ self._horiz_align.append(self._horiz_align[0])
+ self._vert_align.append(self._vert_align[0])
+
+ def set_font(self, font):
+ ''' Set the font for a label '''
+ self._fd = pango.FontDescription(font)
+
+ def set_label_color(self, rgb):
+ ''' Set the font color for a label '''
+ COLORTABLE = {'black': '#000000', 'white': '#FFFFFF',
+ 'red': '#FF0000', 'yellow': '#FFFF00',
+ 'green': '#00FF00', 'cyan': '#00FFFF',
+ 'blue': '#0000FF', 'purple': '#FF00FF',
+ 'gray': '#808080'}
+ if rgb.lower() in COLORTABLE:
+ rgb = COLORTABLE[rgb.lower()]
+ # Convert from '#RRGGBB' to floats
+ self._color = (int('0x' + rgb[1:3], 16) / 256.,
+ int('0x' + rgb[3:5], 16) / 256.,
+ int('0x' + rgb[5:7], 16) / 256.)
+ return
+
+ def set_label_attributes(self, scale, rescale=True, horiz_align="center",
+ vert_align="middle", i=0):
+ ''' Set the various label attributes '''
+ self._extend_labels_array(i)
+ self._scale[i] = scale
+ self._rescale[i] = rescale
+ self._horiz_align[i] = horiz_align
+ self._vert_align[i] = vert_align
+
+ def hide(self):
+ ''' Hide a sprite '''
+ self.inval()
+ self._sprites.remove_from_list(self)
+
+ def restore(self):
+ ''' Restore a hidden sprite '''
+ self.set_layer()
+
+ def inval(self):
+ ''' Invalidate a region for gtk '''
+ self._sprites.widget.queue_draw_area(self.rect.x,
+ self.rect.y,
+ self.rect.width,
+ self.rect.height)
+
+ def draw(self, cr=None):
+ ''' Draw the sprite (and label) '''
+ if cr is None:
+ print 'sprite.draw: no Cairo context.'
+ return
+ for i, surface in enumerate(self.cached_surfaces):
+ cr.set_source_surface(surface,
+ self.rect.x + self._dx[i],
+ self.rect.y + self._dy[i])
+ cr.rectangle(self.rect.x + self._dx[i],
+ self.rect.y + self._dy[i],
+ self.rect.width,
+ self.rect.height)
+ cr.fill()
+ if len(self.labels) > 0:
+ self.draw_label(cr)
+
+ def hit(self, pos):
+ ''' Is (x, y) on top of the sprite? '''
+ x, y = pos
+ if x < self.rect.x:
+ return False
+ if x > self.rect.x + self.rect.width:
+ return False
+ if y < self.rect.y:
+ return False
+ if y > self.rect.y + self.rect.height:
+ return False
+ return True
+
+ def draw_label(self, cr):
+ ''' Draw the label based on its attributes '''
+ # Create a pangocairo context
+ cr = pangocairo.CairoContext(cr)
+ my_width = self.rect.width - self._margins[0] - self._margins[2]
+ if my_width < 0:
+ my_width = 0
+ my_height = self.rect.height - self._margins[1] - self._margins[3]
+ for i in range(len(self.labels)):
+ pl = cr.create_layout()
+ pl.set_text(str(self.labels[i]))
+ self._fd.set_size(int(self._scale[i] * pango.SCALE))
+ pl.set_font_description(self._fd)
+ w = pl.get_size()[0] / pango.SCALE
+ if w > my_width:
+ if self._rescale[i]:
+ self._fd.set_size(
+ int(self._scale[i] * pango.SCALE * my_width / w))
+ pl.set_font_description(self._fd)
+ w = pl.get_size()[0] / pango.SCALE
+ else:
+ j = len(self.labels[i]) - 1
+ while(w > my_width and j > 0):
+ pl.set_text(
+ "…" + self.labels[i][len(self.labels[i]) - j:])
+ self._fd.set_size(int(self._scale[i] * pango.SCALE))
+ pl.set_font_description(self._fd)
+ w = pl.get_size()[0] / pango.SCALE
+ j -= 1
+ if self._horiz_align[i] == "center":
+ x = int(self.rect.x + self._margins[0] + (my_width - w) / 2)
+ elif self._horiz_align[i] == 'left':
+ x = int(self.rect.x + self._margins[0])
+ else: # right
+ x = int(self.rect.x + self.rect.width - w - self._margins[2])
+ h = pl.get_size()[1] / pango.SCALE
+ if self._vert_align[i] == "middle":
+ y = int(self.rect.y + self._margins[1] + (my_height - h) / 2)
+ elif self._vert_align[i] == "top":
+ y = int(self.rect.y + self._margins[1])
+ else: # bottom
+ y = int(self.rect.y + self.rect.height - h - self._margins[3])
+ cr.save()
+ cr.translate(x, y)
+ cr.set_source_rgb(self._color[0], self._color[1], self._color[2])
+ cr.update_layout(pl)
+ cr.show_layout(pl)
+ cr.restore()
+
+ def label_width(self):
+ ''' Calculate the width of a label '''
+ cr = pangocairo.CairoContext(self._sprites.cr)
+ if cr is not None:
+ max = 0
+ for i in range(len(self.labels)):
+ pl = cr.create_layout()
+ pl.set_text(self.labels[i])
+ self._fd.set_size(int(self._scale[i] * pango.SCALE))
+ pl.set_font_description(self._fd)
+ w = pl.get_size()[0] / pango.SCALE
+ if w > max:
+ max = w
+ return max
+ else:
+ return self.rect.width
+
+ def label_safe_width(self):
+ ''' Return maximum width for a label '''
+ return self.rect.width - self._margins[0] - self._margins[2]
+
+ def label_safe_height(self):
+ ''' Return maximum height for a label '''
+ return self.rect.height - self._margins[1] - self._margins[3]
+
+ def label_left_top(self):
+ ''' Return the upper-left corner of the label safe zone '''
+ return(self._margins[0], self._margins[1])
+
+ def get_pixel(self, pos, i=0):
+ ''' Return the pixel at (x, y) '''
+ x = int(pos[0] - self.rect.x)
+ y = int(pos[1] - self.rect.y)
+ if x < 0 or x > (self.rect.width - 1) or \
+ y < 0 or y > (self.rect.height - 1):
+ return(-1, -1, -1, -1)
+
+ # create a new 1x1 cairo surface
+ cs = cairo.ImageSurface(cairo.FORMAT_RGB24, 1, 1);
+ cr = cairo.Context(cs)
+ cr.set_source_surface(self.cached_surfaces[i], -x, -y)
+ cr.rectangle(0,0,1,1)
+ cr.set_operator(cairo.OPERATOR_SOURCE)
+ cr.fill()
+ cs.flush() # ensure all writing is done
+ # Read the pixel
+ pixels = cs.get_data()
+ return (ord(pixels[2]), ord(pixels[1]), ord(pixels[0]), 0)
+
diff --git a/toolbar_utils.py b/toolbar_utils.py
new file mode 100644
index 0000000..94e6883
--- /dev/null
+++ b/toolbar_utils.py
@@ -0,0 +1,164 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2011, Walter Bender
+
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this library; if not, write to the Free Software
+# Foundation, 51 Franklin Street, Suite 500 Boston, MA 02110-1335 USA
+
+
+import gtk
+
+from sugar.graphics.radiotoolbutton import RadioToolButton
+from sugar.graphics.toolbutton import ToolButton
+from sugar.graphics.combobox import ComboBox
+from sugar.graphics.toolcombobox import ToolComboBox
+
+
+def combo_factory(combo_array, toolbar, callback, cb_arg=None,
+ tooltip=None, default=None):
+ '''Factory for making a toolbar combo box'''
+ combo = ComboBox()
+ if tooltip is not None and hasattr(combo, 'set_tooltip_text'):
+ combo.set_tooltip_text(tooltip)
+ if cb_arg is not None:
+ combo.connect('changed', callback, cb_arg)
+ else:
+ combo.connect('changed', callback)
+ for i, selection in enumerate(combo_array):
+ combo.append_item(i, selection, None)
+ combo.show()
+ toolitem = gtk.ToolItem()
+ toolitem.add(combo)
+ if hasattr(toolbar, 'insert'): # the main toolbar
+ toolbar.insert(toolitem, -1)
+ else: # or a secondary toolbar
+ toolbar.props.page.insert(toolitem, -1)
+ toolitem.show()
+ if default is not None:
+ combo.set_active(combo_array.index(default))
+ return combo
+
+
+def entry_factory(default_string, toolbar, tooltip=None, max=3):
+ ''' Factory for adding a text box to a toolbar '''
+ entry = gtk.Entry()
+ entry.set_text(default_string)
+ if tooltip is not None and hasattr(entry, 'set_tooltip_text'):
+ entry.set_tooltip_text(tooltip)
+ entry.set_width_chars(max)
+ entry.show()
+ toolitem = gtk.ToolItem()
+ toolitem.add(entry)
+ if hasattr(toolbar, 'insert'): # the main toolbar
+ toolbar.insert(toolitem, -1)
+ else: # or a secondary toolbar
+ toolbar.props.page.insert(toolitem, -1)
+ toolitem.show()
+ return entry
+
+
+def button_factory(icon_name, toolbar, callback, cb_arg=None, tooltip=None,
+ accelerator=None):
+ '''Factory for making tooplbar buttons'''
+ button = ToolButton(icon_name)
+ if tooltip is not None:
+ button.set_tooltip(tooltip)
+ button.props.sensitive = True
+ if accelerator is not None:
+ button.props.accelerator = accelerator
+ if cb_arg is not None:
+ button.connect('clicked', callback, cb_arg)
+ else:
+ button.connect('clicked', callback)
+ if hasattr(toolbar, 'insert'): # the main toolbar
+ toolbar.insert(button, -1)
+ else: # or a secondary toolbar
+ toolbar.props.page.insert(button, -1)
+ button.show()
+ return button
+
+
+def radio_factory(name, toolbar, callback, cb_arg=None, tooltip=None,
+ group=None):
+ ''' Add a radio button to a toolbar '''
+ button = RadioToolButton(group=group)
+ button.set_named_icon(name)
+ if callback is not None:
+ if cb_arg is None:
+ button.connect('clicked', callback)
+ else:
+ button.connect('clicked', callback, cb_arg)
+ if hasattr(toolbar, 'insert'): # Add button to the main toolbar...
+ toolbar.insert(button, -1)
+ else: # ...or a secondary toolbar.
+ toolbar.props.page.insert(button, -1)
+ button.show()
+ if tooltip is not None:
+ button.set_tooltip(tooltip)
+ return button
+
+
+def label_factory(toolbar, label_text, width=None):
+ ''' Factory for adding a label to a toolbar '''
+ label = gtk.Label(label_text)
+ label.set_line_wrap(True)
+ if width is not None:
+ label.set_size_request(width, -1) # doesn't work on XOs
+ label.show()
+ toolitem = gtk.ToolItem()
+ toolitem.add(label)
+ if hasattr(toolbar, 'insert'): # the main toolbar
+ toolbar.insert(toolitem, -1)
+ else: # or a secondary toolbar
+ toolbar.props.page.insert(toolitem, -1)
+ toolitem.show()
+ return label
+
+
+def separator_factory(toolbar, expand=False, visible=True):
+ ''' add a separator to a toolbar '''
+ separator = gtk.SeparatorToolItem()
+ separator.props.draw = visible
+ separator.set_expand(expand)
+ if hasattr(toolbar, 'insert'): # the main toolbar
+ toolbar.insert(separator, -1)
+ else: # or a secondary toolbar
+ toolbar.props.page.insert(separator, -1)
+ separator.show()
+
+
+def image_factory(image, toolbar, tooltip=None):
+ ''' Add an image to the toolbar '''
+ img = gtk.Image()
+ img.set_from_pixbuf(image)
+ img_tool = gtk.ToolItem()
+ img_tool.add(img)
+ if tooltip is not None:
+ img.set_tooltip_text(tooltip)
+ if hasattr(toolbar, 'insert'): # the main toolbar
+ toolbar.insert(img_tool, -1)
+ else: # or a secondary toolbar
+ toolbar.props.page.insert(img_tool, -1)
+ img_tool.show()
+ return img
+
+
+def spin_factory(default, min, max, callback, toolbar):
+ spin_adj = gtk.Adjustment(default, min, max, 1, 32, 0)
+ spin = gtk.SpinButton(spin_adj, 0, 0)
+ spin_id = spin.connect('value-changed', callback)
+ spin.set_numeric(True)
+ spin.show()
+ toolitem = gtk.ToolItem()
+ toolitem.add(spin)
+ if hasattr(toolbar, 'insert'): # the main toolbar
+ toolbar.insert(toolitem, -1)
+ else:
+ toolbar.props.page.insert(toolitem, -1)
+ toolitem.show()
+ return spin
diff --git a/utils.py b/utils.py
new file mode 100644
index 0000000..ffab831
--- /dev/null
+++ b/utils.py
@@ -0,0 +1,53 @@
+#Copyright (c) 2011 Walter Bender
+
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this library; if not, write to the Free Software
+# Foundation, 51 Franklin Street, Suite 500 Boston, MA 02110-1335 USA
+
+
+from StringIO import StringIO
+try:
+ OLD_SUGAR_SYSTEM = False
+ import json
+ json.dumps
+ from json import load as jload
+ from json import dump as jdump
+except (ImportError, AttributeError):
+ try:
+ import simplejson as json
+ from simplejson import load as jload
+ from simplejson import dump as jdump
+ except:
+ OLD_SUGAR_SYSTEM = True
+
+
+def json_load(text):
+ """ Load JSON data using what ever resources are available. """
+ if OLD_SUGAR_SYSTEM is True:
+ listdata = json.read(text)
+ else:
+ # strip out leading and trailing whitespace, nulls, and newlines
+ io = StringIO(text)
+ try:
+ listdata = jload(io)
+ except ValueError:
+ # assume that text is ascii list
+ listdata = text.split()
+ for i, value in enumerate(listdata):
+ listdata[i] = int(value)
+ return listdata
+
+
+def json_dump(data):
+ """ Save data using available JSON tools. """
+ if OLD_SUGAR_SYSTEM is True:
+ return json.write(data)
+ else:
+ _io = StringIO()
+ jdump(data, _io)
+ return _io.getvalue()