From b4f5786b00d6fbc53787775cb913423366f175ee Mon Sep 17 00:00:00 2001 From: Mathias Markl Date: Mon, 11 Sep 2017 15:47:15 +0200 Subject: [PATCH] update --- muk_web_client_notification/LICENSE | 619 ++++++++++++++++++ muk_web_client_notification/README.md | 3 + muk_web_client_notification/__init__.py | 20 + muk_web_client_notification/__manifest__.py | 59 ++ .../static/description/banner.png | Bin 0 -> 47297 bytes .../static/description/icon.png | Bin 0 -> 12338 bytes .../static/description/index.html | 32 + .../static/description/logo.png | Bin 0 -> 38064 bytes .../static/src/js/client_notification.js | 65 ++ .../template/assets.xml | 26 + 10 files changed, 824 insertions(+) create mode 100644 muk_web_client_notification/LICENSE create mode 100644 muk_web_client_notification/README.md create mode 100644 muk_web_client_notification/__init__.py create mode 100644 muk_web_client_notification/__manifest__.py create mode 100644 muk_web_client_notification/static/description/banner.png create mode 100644 muk_web_client_notification/static/description/icon.png create mode 100644 muk_web_client_notification/static/description/index.html create mode 100644 muk_web_client_notification/static/description/logo.png create mode 100644 muk_web_client_notification/static/src/js/client_notification.js create mode 100644 muk_web_client_notification/template/assets.xml diff --git a/muk_web_client_notification/LICENSE b/muk_web_client_notification/LICENSE new file mode 100644 index 0000000..faf7bf4 --- /dev/null +++ b/muk_web_client_notification/LICENSE @@ -0,0 +1,619 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are 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. + + 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. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + 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 Affero 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. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + 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 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 work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero 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 Affero 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 Affero 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 Affero 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 \ No newline at end of file diff --git a/muk_web_client_notification/README.md b/muk_web_client_notification/README.md new file mode 100644 index 0000000..98980a0 --- /dev/null +++ b/muk_web_client_notification/README.md @@ -0,0 +1,3 @@ +# MuK Web Client Notification + +Adds a notification channel to the web client. By sending a message to this channel, a global notification is send. \ No newline at end of file diff --git a/muk_web_client_notification/__init__.py b/muk_web_client_notification/__init__.py new file mode 100644 index 0000000..48ccf85 --- /dev/null +++ b/muk_web_client_notification/__init__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- + +################################################################################### +# +# Copyright (C) 2017 MuK IT GmbH +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### diff --git a/muk_web_client_notification/__manifest__.py b/muk_web_client_notification/__manifest__.py new file mode 100644 index 0000000..90c689b --- /dev/null +++ b/muk_web_client_notification/__manifest__.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- + +################################################################################### +# +# Copyright (C) 2017 MuK IT GmbH +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +{ + "name": "MuK Web Notification", + "summary": """Web Client Notification""", + "description": """ + Adds a notification channel to the web client. + By sending a message to this channel, a global + notification is send. + """, + "version": "10.0.1.0.0", + "category": "Extra Tools", + "license": "AGPL-3", + "website": "http://www.mukit.at", + "author": "MuK IT", + "contributors": [ + "Mathias Markl ", + ], + "depends": [ + "muk_web_client", + ], + "data": [ + "template/assets.xml", + ], + "demo": [ + ], + "qweb": [ + "static/src/xml/*.xml", + ], + "images": [ + 'static/description/banner.png' + ], + "external_dependencies": { + "python": [], + "bin": [], + }, + "application": False, + "installable": True, + +} \ No newline at end of file diff --git a/muk_web_client_notification/static/description/banner.png b/muk_web_client_notification/static/description/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..e0f8ad7c5e6467025176447c81b517e436248d71 GIT binary patch literal 47297 zcmd>mg;!MF_qPln3@9BUokJrfgM>&)gLEUU(jW~I(k0R{G=fM8NJ&a}NOwzvw1B{S z=BeNJ`K~wqfOoCCT;tq1_w2pT&d=VLP!*-8cd_nc-MV$_uB?ot>aAO-_P1`K)L`BQ z-=Gbk!*1Q8xg{(4MBUABCkl~?%)2sB7KS5Xqu&{omCh8N86p`6SLvOm@P%J`3$>?p6Bpy8XKhJm zoc@7mGQR)5Xm+4&&zb`pBH>R6Xi)xjsbH!!JJ3hpg8u6g3&8u#xX5EJQ_8--n(Xwo zw=b51_mo-$pZ4ByKFc=T{fBjPrLKkXkZI<*k>BES6ixgbKKeK-IZkTX$p_t658f9c=pTUEbrHgHR%s? zt?_c3QEbkly0x^6^=97uc3h#U;j4A}%57WI96|@DT94rbPPkgE#eIXWk-D+(Pkw)O zq7E837k4Vz@`xNa>AqE@0AUdOj|*=c&DwoYGC-X}gJ{l3FS8bouV*?ls)06PbcvIC zJCkwo>u4ziUtQX}!2icYnx})>l6(uB-DzJ~wbeP-Oxb=Hqg|#~B7~J~`;amMGH~qjT&p&K-|q{o42fK0t4Y%&5-NzoPXLk}w zJT#hRYgQLwuQstHi>s8-_3JS9)mu0s#raRFA}}?VXxGO_>3kBG$!#~;7DpepbU$9g z9&A47mHm%%0B5qO++6OfCZa(=Rj@`&xWs58Ie?Ju%JNWB>OESeUjB#$7qnzbrj}Ab z?|HphcP}5JR3GLzUfjw?oifk3^_wwS{+u9?xHPBl?1OtR?NU-BL}{SE+maPSHi*tg zlh;EoB>#)r1l#ue$2YZS(LcP*tSjbaN3c!)>rDJUGd7p+s}~XX5m6TVS)M;meVofU z;Zu#ORQl+R_1uqMh>~Q@{m5dISn6piLhMtOWuB75Vjx#iV=NxRt@l7NoD zybFybLRsIAB;<<2e1uQ3?0j@qqJwY${cQ5#NnE>&k4+;B7eWoib@P+ILP|2fdH=*( zZ$aPFtq?J_zywS_T@spNJgPd5u zGU@Jn^GftwjQ)Ja|9d#p_sD#MO;ZE+|3op^!Iis;)$8}5v$Kr~x&ZM&zT2957Ho=9 zibl5MDbR@+$x+#10{d4&=fXqoZ~-(#L{^YYPewaAOjgni=T(C2LT`5(CVbNf-gO~$ z4;$NPkO>{J?U_ay^Pk>Ttc~z9!=j{F7gu-9#&%lFPAuKBI&Gfnv+ct5wcL4n*F;Up zv@fI%$K#3HoWc5^y2VE?UOlFZW8iyM&i5%R^?Ft6cPLGa(X00dR836?o*=`APdTvV z>M(j2LLA$%4I1x@@hHkI&}~6Z_M0p;hmW4W+p{SSwG?j~L)oM;=^we3rD z{-<7m&oneB@{lO@f2qqKKM{ZG3*mgdBgpgbAaM(-O^0{(>!a&_#i)P$|7Mvu4JSj6 zqsqT@rlV}`I=WLXq5LT zjGsZx8^byM(&Pv3UF3wHwZNT3s7iC~ow&L8f9p#CE|AC1GIUFE;4yJfu;8xna?-ya z;rD<6@E#<+6bE>uz|Zt`3V0X!&ndJ3iRr`jf}Q9=7?$vb4B+rr(f%F!Lofla_{L01 zF=#T)5b#{=&)WY;kft1@1X2kNa6Pb-DfnSWg!bFN#Y-a&Xq5W61h)Y<4ZzJ=ihs`P znLJRFSBkxX@5TBEGJV5!Mx2)Zx`}rMq@KOdp-&5KyAOEMu7FR-{}mCqCBd?wi2e^T zVi9;?8NP&5^54tC!7`KKEqz|7qySj9QN^Y8^zUVgU|C-OV0)~XI&wF;3dd*vkRt92 ziMm9d_B4{0RH<63f24-gy&5tgvg}A8p)Wdd+y96q(|3gm9AtDbN z_kisDUeE)H+mNhz{G(MHe*gb1sjNvy2s&kp2V!Ye>Xw^@wx?^)ar)iof2BWmJd`D& zU11S9$2k@Chwv7SkUD||4rW*yoYyq_D+iJGaMGv2IFu!?#wsk8!$r!z8bETSBfoyy ztg@MT;C^UUXHZW0rxBu4oB>l1iz5gjLz(!b!4}7=fyHY%&=z!;JbM%|o+yQ4*;k}p zW|GJTrULTx@cuYGJU$c{gq4M5ll2X`fNfj3 zd9UzV3b(0rZeAX%X_p(XMc>cY!khK4#y*8TKj!L9PPT*9@|D~l^I&bH7+x5h;gsry}(m~oMVtG7I zt(6HS<2ViObLdsozY<(>D+z_{#Z;>kguZ~<3Y_MKz^9x%+M|34>of{frIIT!+bXRl zg5oVF?%MABVd%3oVkqmkrB0E&C?R<<8>U;7>^djS!O({_x21lsbKPhA`twnQs)*hC zW4qG897?4!_C+(UFiTA<ZvcO;2?wwZz}A_ouF(j!sb{4^@&6*m1~1 zY8c=r^9jvIh>|cRf!wB1+uH}$lMh-|c!fwt$wvxRq&dDZA0_0HvaqnYBrLv6)h4$0 zpzC6rw1vW_j1K7}2le2#vv8STOxS;@N;4x;&!B(k8F=V`Kyt`qnbLYS55va?>Td6a zKUnmq$idTnpj!Jf>{#%Iqa(746>92BURZN8Bijl?g9_n5+|mDj(89q&0idzvqq~k&{C@dNvn$ub~w5F(rWcT^mk1nytk0hJJVdGj| zwTz39hPY@!_qFb*JnDGec~$(~J0g)xY)%{uKdFIx-@E;%`oBhj-8!jPxAnw5?syit zaq8wVpJxB&V-zupH+$1Z{H;*VClFgguui_YMoneUN3MHO&J)O(rmZSQ5x^IyjcwnEs)!3h!#mkj$ zyr%RpfAI#4fj)SVQ>ZWDyqOHpVs~ISbb}TMZs1LxLum2sc|KUCyG!#rW$5|C`1!|1 z+xu+IgGaF^Udz*XRKCwKXx=PVUfUeUMunYbW!j4mdgvWi4McFr(8M6)U-=2#70|^2 zp(V8Uu#B0lAsk>H`^tqW(87EoDb9e94Rb-6$dbTd6w1|fxV)1)N6k${qHU zri>UW$qI}>rjlY^5g5T!8Z(HJcoV2T(w7d>GDmW$J(gmZ=SJiX_C~P@L%ZeG=ZD!B zA!%=4OVrezmLbSlsQh30Ow`WiwdF5|%5;6%@c zRTI0LWd>_CyLx+NLjr6F=a8UGJ{NTMH@^6jB__p{#;%zpe5+_NKIEA)Svhh5O%$ie z1?L{zwnu5>k(IoKdYSp;ZOP$AFA;1NFTQEyYosz zr7JuPf{vx%u4G8j#U&(lK~&cx54|Z$Gtnz6nAH3=#qqt#XE?Q@PeOQeOMmooFSoI; zbtgS>KjP+0y5zwDS9uArNW+tT$Aq!&l-+U@AwcUHpu4s+Mg$~@0T_PK*zj+eq^B>& z*z!(>IB}l?cd0exLT{C8ct{{5u42U&lK)vQp7krs&#Rd(iQ?S$#D!uaUWn2-t5bn? z*|G+1tFCFc#Oc|BPiY@aU26Y#s@~akZ7pXZL}}2%r9=wPL9N0!8sZvG9zd?Ea7)adogNXDwTQ$It)uIX2!AB~+qC2oh?rwO~4@19yC4bKC(<*aHH zOJvE<>Gv7W-orRjb1z`zX!T{NSi`|;@pS|luLAxlt9xjX1X|wwoVj!?AqtG@X$6%a zJ&NU;-?WeI;b$)4x4Yjk<0v}!be_`hDT(67`w|+{Lpqi4XXH$1*tqUMpzyj&!_!)X zz}So_k-bY%??VPW17P&oz3KXQfzgLls9f9^<0=}q{_0w>6uXtA)XIFq8R9~RC+Q~B zWFbuJ_pp?BiAbhd(7pLAEklR=>q+3KUhFY-RJXZ5$D)}}rS;VJQ+bGyP^iE_QND(9 zv+N;F{^gt58iy3RD9Avu9q}ctUl$`#&)TY$J`g0nKm!6Xl=AWtUyING?3Ji~Hr!)T zKrC8ty0ZE^CB1r3_K*Od@=&E1HlJ(fJ`~SiASD9JZSUyf&8iwE6!J(+C!czD>S_lJI^=viqS-t&FK@n%4y<_j=kZXZ2#|uyqAHPEB9= z$A?ZW3r7klmVtEJF=DTg>9JCsqXq+BFItOqvtTWuQmIWQ?`sd*Xp0#AjZj4)%V@Ks zZq#zb!UzE{W!bQ7(oak_;{KC=`+jhC0 zX9k~YliDA~h_xjp*f54Z&8)C7F`BZ{6(5LL*V)(4zR_QuO-5wJiIg&#zxQTcKW-Z- z(fSgD(T!N!$+H`l%gatIGMgwd=s9}_U`rZDq<1aZg*yR7w}BYbFPeFHB%?+Kyid=> zI#wxgUGwd0W$v$^pL3SpJ${&F2+xaW;B*;WO~$uBv}ZFUIVaw*PJ0mlS-v6I8b&3@ zX7n5jZlmjGsN1C@#Y@I6Rph!qf5nP#`NQ1ry)Um*iIU;C42diU{>vY0;n8JV2Vct1 zv=adxzmd@=LlI67=&(d-(@Qvfy)sgjC(TL z_W@{T7ZW%rM@Jwc)blm6t)^nvtH3#vzx@-25|`DdNv+f1sa$~;EoDivsfW?NBiMeU z)3{3YCq(wPUagZDP)QOH6S~StEkRxMT!E$tO`oPTDP2Hu-*~RCmO|u!XhX3veS?=! zJkK1bp%Ax7RK3tU+_mMgBzrV$P^NiG@gfVhEXmyE?P-`GW>xMnk&$?$ep$7JU+xs? zJI3%>dV73pu&c@gpi`@pWu}Vmx5nHz(~S8mjEWB*ntU5X<~6Axn7GXZS0HOfB|ri~ z!D#=Rf^xvdn1JWJ92fbAgb6w2=P3uLItL8*+<73$I`VP1JwD?wxb%fAia8Av#HucA z2Qc-CyH{%Lcod*cX>HdLZb${C`&Lve?1pI9`A=QE)2Kpbo3le3vzv&M0;>+wzij3sjDl}N9Y3|Kb zRCJ@dJE8`5PLuUUKGYNu*K7|r?8;K3Ek2opuI`Qz+Pj?9C5L~j+%b)>CVyx_4We5X zvV?ndN|6lqB}eXSmh2%b{(E6>J5+?tzo&(zhsn}RLjykej`Y%P-25zF7pY+VcuaNbErRMX&j9o9WoFArO;uJN-3mpi7S`~n z`tpjtko~wtAadZP4rOQLg&{V)VLz1IX<|!)>siG3qqKVFOy8p(|D8m%>~L^sucu-Q zK^c3iMYVY|l<_9muK1^HMM0Z)WGQLS2DwQdOmZhE3%w_Iy}e_UFvSBhpumI4dvyHO zr$KPTJuSC!E`Zl!+$uk60-~hcH=SIV{15=2X-9Tj6wHf#+Hajf{tF5Zj6VwxZ7jH7 z(b-UesMmI&==1?aaxJEQuRLt(NL5wUdKa3r^RDXA-67_2G{n68ttUjb#&JmUhm5Mv zlBTKA5n5(bTmWvN1Pb8tu?*>);e?oaD3-6eD-E@i<^nKvA&MuzHlf07mbGw~dZRMb-wT`+z!Jp2yV#lVrtXUD&X6b^KT*o0oj=#4=LfjBTit00_~1+wU`}y@g~vgBjktByy=i)76=? z8iy5{bn<+ueO5G>t7$hv-I%$XA-7bFQRSgR{?X9UZ!~(p(3_OV9aa-9LrBeTC?Wn# zt}LNhPaHHBraaCUsPV*Dqq#d1)Jb1iX`@H>BkwO;C!`?{YyB8@cP3U0SuTd#TsoaF z;6)<2g}%-Swu5c{zKVRcTI`Tg-{vFSu#L@7G#DjwoY6GgS~=`|+ok8itq~#Q1#6@jNTFd`GQflVM3DB!2Z#-#`{+GF>7=n%>>rofvx=@{<^aB7_nh zk!;ZV2)H;~u(eYv^Cj@&nEZYr;MeJ_#OVg_v(SyWc9e^^r6-g3YdmPP55=rC+BQQ6 z#g?L_ffEy!{2a0|P9XmcQ)~26wY#2yKIdkP==wy!dh*r*!F0pGlW~p~#nWP4agYxw z&DFV1=+}*ja4fvXp?t*LGTMYDrzC+wxG?1FmY8%bxy(?th-2zhZn*A$@J-0cN1Usd0=`l6(x*PFn> zzsu&YWtg{d@&skwY`vTVC>#>0bm=Ywu##8}LC8In{P>>|nH~=5a)T@D@n>B!>LD`m z7}ikbqZ2GyA@@uYu5`l}na>iWK&Cub&r=n0|Gd)kY_Au0OL|$##%^q6Wh{{?I#|U{ zVTn00>oT|!t4Y7s5&ceooM`Kl=5Aq#K|F1X{Atak){jCG{FU}FVztxc1h~dFnR^S% zV*T_m@Y^ypcu0H3{nMVgL3N)T%D`1dzD3fNq)YXfYoC)Bi?FidAfhexxB#}8TdWy^ zNOPAV7Z_xjPJ3%7gwN>stp4Weh3#?i*wY%!8nLB!O5?WD2(@NG+P*5F1}?xCPBC`6 zfR9UZG$v?>TgPWq*0VMENSG_2Sa?<*j?hI|?C|o+;ydt^43ly2dMD%C`Jo{K!nV?! zcz7G_C`*MCHP^E=j9ReTD^_nGi5)@PXzs}>{BAGQtBU_T396G6tfLRUPNtpZfDx2J zVBdr! zQh8D`;)6YN8tZ@S*Q*j_Z?jF#-B%X2b4+_XwiDqe?BY^_KcxH4P`iApvR5AB?q@QN zs)S;hz`hN8CLf7naa$xz|q5 zGLKh*JIa&y-Z%CU9jjDV=tutT0)lt3n51k@&=XSeah5*wG`|w^2Pyd;nkoTbl20&Z zP}hZg#;P>i3O$%c6dWlR%9s};TyP%4fTQ;ZkRPe~6bxt;GZgGhsPgKC>4TO-b=<(j ztQ6@EQWOA11SAMsUt(dqM{BnG`}h;)ycrw(&=fYsF|_>mEC4Z^p@uhlJA>S#h|rD*mDbYs*E13ar)pe=$r4xEJ}{scH-zxNql%L;+Jd5>+B^| zKPt&rJ~5ih`0BBV{P~CJ@qw#=?};Ew=$o?j(R80#>VAk+0?-BE^s@ez3=pOo37Taz z#Km(Cx^H`Lb9G*Cy>)!h!6O74$EHM?!i{lI4KuSo_P7bO{eVoA09GCh?D=>yh7BYc zHIiU0#ofPgc<^KkplN^Mpzp=OCaUc1?*Ft`v_Z*kNk&Evb`1~&DeeOSy!?OGKF;FFO&xeA41Ly&b_Fu5p zB|#A#0JtXfu>QMw!T@F(fY_#m5fs49-34y$VP+ZhZwZQ-AsZ@pgd7q8dq0q;WZ9nb z52yG@M84%t$0i{19uNtyWE&Ew|MPk;hdfA*PIr(>Z2)v=Wgf)UKd=AjkC-F?uKH5a zv4JR&H~ltXKzdgXe_+Ydj3e`kl=fP~zn9Sh>bT9UIpfhx02lfZ_fmQp{#vGuY-NRO zuBXV-dJXU)md?O}gD;2|=KpmkaxA0SV&3gM)XL?A}ChO$~U zq(SosO2TDGQPqK69r__J?|zWt#XvHIbC$j99C-+0$4FRFG}Tdx0dE_vMZ7ss7mOiY zo$({vDKTD>Z*DI4o65Y-9c5bZbLglPpc$jApo^m^ZjMX&==HfNnZ&ih_8o-V;bSC|IpJbMq%E18iZ{YK822RdeoB~`-4DtktWST8f zATv}ah%w`$IO8(&;w=%}l&`4ms3go;;R(LH^uN7aYf>hqttP@T>;Tl1?n7(x(s#bW z(`tU$Qu9kE0b2=Z+x|Cd0$Wtahv9BFTISXB(V$ZdfyUX|PO2gIVeU&PyiisSfMw8j z1zFhxNAfoP1wS|Jh;$Lp4hllfB=D>YpfFMyinVkEAH2IlVOBPZl zNn?$!|3FHg4+`ff4NE>UjTsV0Q&&~}u5q~#;pQmOjQ;iM0CNCuLgSZ4t1)bE{?@|R zo8RRK2#ZZt9U?X6^#y7hTFhu3D zr2!#$Bs*VLpHt&P5F(0vkfmBl2%1Tnm?S2gJ4XKpdpZpl7COS|lPwl}y&^P?YL>vh zOd^5}#H0{@@cS|ghZ0b~XNa|7!nvd<&=E(GN+|1ytTZa-#T^w>a^Oz2k-Odw1Wyt1xLQ#KZjF>eZraTI4qa9l-OB~$* z0LM!84z@&K3nG?91n-v-RCEO8D{J5p@#KL`m~>C;vw?H=`%G;AjmUw>en3D7@EYXe z0or5|kv70fnS=tj#;%iU#ppLl11eS}1*9s19&V4CGLqZ=|2wx0zOh2z9=+bMZ(sX< zotMmGj#Xtl_iDz(5W5DrRo0`k1{%GzqCSw9&y~zI0I&J65YDbs-gXq8O#h^rm`(Fe zAQtggua}irz*|Z5q`3lzTG0?Z8dPqCO~icb#E^dhr+wTuVrj+_jtzGn?7cqYa1^`* zEo6O5;|@0-*hygYq)fw^(wjv2?KxJ0YmV)Kc(%mDx?`>;Gu*B>rXUr;qyiFOEc+n? zMEQ*tsX!0zg~Dsyv?US3G*c{wm~i(OvB5QA#B8j%_R>;RJF5yA@lM{l+1)QF76zph z6w-yy4<9EJqk7aAMQ}J*27E}kb&`=E?_gG95-hgPGIni7UEuQh;(?tD1)0Q!VZGY{ zG47#<0%O5DyWwTiz~Gx+oCcBA$0bwTW~IHNF(*k=XCNRnAFlPOGn)54BKYaxeU3dqN8>`?pSMm+S1pwZ(Zk6>xOUKqJSK1LebWa~ZniACmy> zV}nWt_#WxD)v_#(21~hzRI07+)|*YnVd&+EqvR{g2y+}hC|-l|F0*Fz_WC-kbdYHh zdkVb#j`l%5@nO-n(UUg+5N&+y_neE8MNm5-ihyuTOJn1)SX+igGf|TaG5?+gPLp?n zPCt?^a6Z|XH_6silMS=lnB6%~*K;>Eb$^Q-#_<&g8py?n`>eq^ioS*hgf60f;6cgMo$UrP-O?1m5m z2nF%}=Yc?u8Vbx<7mOD0%~JAkLEpzMpfWx@*kvBl6=z&r{Z{kj?QN|ht?T{;URH-~ zzX8TKH&5vLnDRYnY@PI+vm6F6b27DGdtvQ5w?s{m`*V zB*#tY?5idWTq);Tq&*&q+#1N@Z26TN)20T4OWv34ppRAZH5ZvNZ!|! zM1bxTZqDItLoP1`DqTinKZcT_!(0Fwd>-+rQ9BEn3f3vuXTbh2#lWQNIkCYWGj(OF z)lB9tCM7B3mOeivUY4_iTK0CUc9_uKPngqW9n{db`}jUGT|9`@ZfA}d3GHuVa*0j4 z*YHKp%cEv^e%K2@_9ie^Pycwtz<`#=u<5HUV^XAQM0#29xY2HJ#z#QKZp)-p_ zSDFKctU$WuV>!?x8e{TUuxxm9{KocP=)i+twSz3tVhYHd<&M*W)1Zjk<=oj%nQcpl zjjs6RCz{cs-X3>$=TO&`sieT@6P@WZe7;^P5s%E)inO7Fc9dT$gOpnR!ghQ5zubNh zMNo=h(Mv~!WX4OatJ4GE6yHI5U3&)$?rvJ@?9vmqt|-qCqNQAD#EY9-#})(vD=(c|zvpTr+aufnpX$UE*{4xX7uNo=LD*+-ao579Ud6Tkx4YxY2imKjW9u1D zT4s{fTPa6m_=Z+l)S@4`5QyIV(3?{#)TqTy%XsD25qaNuBu{bg&VZpceh3x{j7>o9 zIlfHWlsn#tmFfDo;RQzzLo#0P&J^Df!p9bEC1Z9Gh}iFPV$15xw-3bvQ+-F|r)e#3 zEc%j+i8qN)POQl`>Iz|tJ7KbgmVzgon$<#$^uE?$(mxXbL7ephL9+s7yU}yz#2ACSy|a!N~Bgy+g`nIJ*0QlM|;q zO^8OmMQSZdBVhTiIiboTToz}HE+p{!~-D0C*yvd9vOKn{f*%c=P} ze|M}tX~eu+ z?vEnSOxU6DhM%$m^-r#=$}650P3o22*b~@$&;}9YeTx6t-g7bb)g%42$P){J@Vxoi zqEpMbyIO{HGBTBJ_^1tTWvyYzoURY(G;b#hQDs{WJ*kUN!YOh;^!t?jQ+*!wu z{#3P&F*?w`bUVPn#wkBPW8*IPM>3KLSI!AXl{h& zAStg;L!2L12WkxH`pXM{Mh=SgS#Rs2=lryBrfUhEg4rYoM#?nf11)~~OW2A%D;D+k zo#wYE_cK?puN;1LJ(D*LjlLH%i&|S@CI-s$_)BS>K71J&8LGlQ(ANiz z9!w17kJmi${(O>n(!=YT`B}b~vciuA@{DB>V(z3~@Jn=64-A@|%$@#z5z3ttz+T3% zh?w`Y*djl)V{9mk5Z5h^$TF`36l+%S>FU(!PHedjzv{{vMihB0j$T6oRWG7gs02eH zLv_@HFW!K-Ez|r65WU^!KP+xI>HYhlb7R_$S+nH)+jumcq%^J@ekbluyPC2{doB|b zbJ$tAX=l{NhyXgJ;YRS?)E)PsFcOvktsq>ncO?dH-@ZckY_&q=P+-x0A@Gw%rb66E z&FvZf6iO~?bc(nyM=@{a`?Fz-5oihVf&q2D*g?;$F6OWRbm@W&LIyuQZhASgP4sPg+Y3>b`WKJ)`*s^*<3)U#KqX;#c9{NW^6?4d9ByF zb)_u56scKFg+9w@;_-6!EiJQp>a*re>^Lz}Exoy;_h8Vl*pXB1G|Y`HG7Lc(m+{yZ zHp6{C5t)zy?Zkc@?z%CAV)N*=q+a(U_un-u(0SEzw4l?ys3nQpE5+6GjZYcstolAEnBx4dRtJQ$!;??CWfz| zt2Gvrs~hq{vw1U3*@-vc`&OFz)~snaYCh@r^}Ngn1okc!l&@?$?9ZAv4eXYFgon$J z+J7?W#}X8nO1>!@Oku#&0|IR6onJQ4@cxW)guw|_L>^Z29bVpWbvqaywv^uTIKEm)K2POsY(pRQ@k+AX!#eBcbJIk!O zpN#E_vR>!IFdVAM;7h8bHuo9*5;Q=OQ~#m~*7Nm(={{Kkx~|^%Fy%ByZxbl=U}L(9 zSdO@f97f$oz%hNj1)*>CAl{A)>p9dKG zId%(;t9y@@3WXxbP+;;C*tH`o6f(`5P<8?F?A5y(j*jJy4+op>LEE$m>|3Pw{T9L{ znG8J))`WdSByR|8LH}kZn><~nVQ5us0wNg(rfYTY;@)i;^uc)o;eG-_lW?E@mlw~9 z461QZJL@B)GJMviavjYEgSb&+%3LRmUd(;vkE*lp7^vvJowf4NW}3$N=X2piL|Dd~ z^RWti?A5_=vX$VRCs!WFZ#<;Wo1#qRnstaB{MwS{Tl3uLSM}p!wQ|y})MgiM^`1K@+fiN`?aD7XI z=h^rj^w%wV$|2#DsElEud?;XMB;U8xIlIbcM$$jNY7^522}7Sx*h+JjE5B$RRyVlNZ}-3r{-wvAr>qkBdVs z8i7q(WRzlqF&QZ^A42`+7YgA*QsBgV3Sr#IdS5!_jpqt+AL9Da#o0dfm&)lS!c7|! z)#lLQzS$`=hDAsyhkH`I0H>y~*momjLsA0PpS~T&k78*iFO)4VY_fd!`=bfQWvR9_ zpR!bf#+M^`C~5=2slL3+9G-^47MgN22Nq^c_IUQ?M#!nUEkgm0GODiD7lHKK0IPoi z`n%Y>1I+3l@krS9LtKBn342GvfirEkx}!ChGWOu37AfP%FH$3~rOnAhf3+53YR})$ z-|-cE7S|rP=W{Zmur0_ujUj41sY0u1eR8M8RNQc{XPk(3H2d$N< zF|5M!Eq#i)C~;3*NAtQ+mh4K$ug&}nVRNe9w9X=5!W?oDVR9&ZQ-Z5VNi;Ut!#$J# ztGaIE@!>6I+;Wfho#Ya2B747j@fNkVQa7&R=_m5S=mg{@c4SZA2(Z#Y)*cf<%P`ej zo;4SoF@@O=v$p8K?*-zMb4OR$ftYr8Qu!k~VzN{=mZ?XcRHqt&KI-{0CsAiSYJ-2; z2pK0A9|O=LYvwLp_Po!HHxY{_q`0nrQFqIuf-UAiPr!%hq;Mfe*p%$5$*jug#^d~O ztu;U6O&FN_UmjMDdVYOcAyfCusJI5cm`8E&>sQuJm-kZ0;cu42m!2A;zkf=Y^{3%d z8f{P$4W`~aO1C;D$f3%nh$Hb!9DxR69*FHJWP;mb>a`ze}G*?(4*Ye`i#H*L22 zS(%9xz`5i`w)6Isc#l-JJFH3ftn+-M(X| zX>=0k^}=<}vO+fA-$+JSmz)wuftrtGV>bPfYrG$(uEuECi`Xg?uAJVI{`xPNV48^F zsJwHvIKOmvt&Y^t3UeVIMQEm?-Z)FbXYuX3n{Vm^KB|M|A z+X#i>(;}w}8Yt$C_^5>4RL)_=?6I#5pgALl%|V5}NB-4Z0=(-YAKrWfRp`%`$%*we zDpFQ7b>Ty)+@?Xpnyc#ojr+6lvHrOrV5tB1f_UHMj#IFRpjEnvo@TwsONz$JQ}VTt z07*AE%jQVF*7vn)n;DXDTuX_q6t!PRljw+>iR}b?YurPw)Q~&Dt~4A@R6C`U1TgIR zygOttt|z?t5`#0m%Lgs_2LnR;nevI8B_Rm#TFP>~Z0vBhDelhf)w@{6N49#!a*W5j z->ICpM!$hKKPb;SaY{h1>#S5jp>gP%*4P3aK@(qfXz_I0D{fBFa@|^i9n3pPNzojv z=DkS7d*nWuD6(PH0^U*8Z;xflqR~A|otitdXxC##M?@66#)nKfr$X`hXGoE)@C~G6 zxZcC_qaUQNUT_!q`r%H;uxaPp$IvGHqt%|!O|HmhHo}gTwM3&Te(LT#_w_Valjh8C zGBu499XDS0scnVce(^bqVW64{EYfQfKV1-&_}ROZ5$OkxKg_CODo$LheIFgHvyyET&CRu3)5SzyV9s0E>ETpBzl~2 zvbtI}Pd!=+9%I$`6lXb?bcXrH+V&yLc}>0CKgU)dN?TTaxd?McS{e)%mE~l;aJb$rICG#dLarwMlb+x9w zu(UBu=+kVlq1Axt^(imh{vxKAV^93PqqV;8P7{|@OE)TLjG)?!zRhJc@9c(rC~Ino zt@&xEZ9d)x7uIILN9|#Jes;0{;Cb^ccB97Go>BV|MS&%dFtzx9=soE0++Ufk<&)oS z_@w_)?2Q7|`!M6TYTO{tD%}WIME`phASkr^4a=fe-yYX;5f;3X&HbL%prFo_#-R$# zP~hC0(euOpJtF&?;piK&Rg{@eTIwy+ZMQAZzf9`B(II=68ZeQ&=2vP8-hVk9Hn3Bny7V`Lk`XsH<0RceFm(sjPS1 z@f8;n#W3Q<^Je(+D|<49v_u* z+Z%5tPr1{iqKQ7&;mtvmD$o`G^$uXL_O5RkhCj|N;=lGPd#r@`Op3Fy7BSM^p4Gpi z=%C!r^HHttAr1vRQxG9s(Or2Oem*J6}(HSc*()C)d<7~XpcceakyatkK&QzsQl}y3#ANE6#C1CkTg9XwSnRaFc4w}8A#jo90|X;^-A-Xc5>ix zaUMnW_bBH%dK%nmx`$HtriraAEa+Vl$`F`DyepF8l>G0XvWJqsnV>hebc`w!149jy zJ>X4($I?+01(@iew_=>MJKs@j#dss&4&vtm=W}O+TTQYC1+K>%&(_cr0uE0o;1s=$ zmxg4&Sl%H16C$yXT;4EA@mUuP|_?XpCnWXho?&yJ@uO-r2r> zJT8}_Ud3w9drDrWh&KAWW;ZQi~|l#=wNZNQwSGqbs*=VZm2y zqB#v7eR(k~E_=R5t!O%Xv2~x|6xOo39EjcH@Zdc4(C%>C|FD|v+G|ObQUBs9`|$E$ z1vbQQ{$SkhqJMzs&dlmyDn`ylldnc^(-Y8Rjk_Qy8!1qO&1yAqTUaZ%={2Qw3=rOY zo#oUQ1HM}7bb*BaV3Ml!x>!@DH;M46?Z+t7_WdWi3H5SLwJwg|yp6Sx1O`;$FFQ?Bz-B$ENM8bJa?C*Z%Ub zf{-iD%a<<`XU?k zT++||b!Zp!O@jUA0uKX&{)Mo&hgtLjZ*Fjaz(qo2(^V8Keb>*lv*Dm^tsfxvN)&B%P4%{w!P38Ov#ypdZ_wAT}jooX@5GhH`Y!hB<<{yMvbfotTE}JdM z8^?4J%QA(uxtZ#cbWFU#Ap zvQ_qWCadi-9FJE@o343y(>|7fY00r4Ys&ytLtZphAZ1Ig_VMx(_Bh)s*1zq2d@NXB z{~Y~#az*h)`h1aO>jwa`6>hCPJ5R{gKDc^R|KJ7M>CT8~p~V~LY5x7<*BDGVyYHHm zI&)?Y32y@B4eLX4uk@nV-mP_AUy{n@bw4L&EGmCaM!}+k3d2q$L@!3X^ZYq2dCZ=Q z@A{)QL~Gs+Tg|e;GHJDK05S3*Tq4p_s{W+CY-IiC7HnZ@BJI-4-;m2);e%T;pH$nm z#F||j@~;&fV(`5h4GC4b<_9@RT3SCc^8R_@gR*xZC7B^kvE(xuj~V7Em7rhZ5AX0M z+}n=@rNzA-eJOOt*!#Nq$m^nAK!%D3t5ZZKjBdW&lT}0V)fUa{!8hZbnCR|s()X4p zug$KU7?%eF_HgR3p=9>u%{G&+>m%?CZXupF)a{hjHe4fi@vWrLL~$h%=IS_hKLNx0 zDBbqw7t3SX=TGK>XrYOI6rH2Rq?cW&6GYmd$bih_+C=7fK=MwA@O( zebAk|!|x{5j8r982N=1+Hgayh6`g z3|vhDFY6g6yjYTwwnqASgcLSktG*6zmeo~H%|kn!`qNX2h~(doIQ4%Cl!Y{Wcv;nx zz=$nG3<8?|DopM0HpD)4n+dHX~kg zE%mMyK6rVd2jBNo`4T2ZP$z6}XMSg63Vo0fw{1EjZGo(aKX^x{!lY&B%}4bt3eD>a zn4w<%|Dx-w!t!dGAU_C%;2wgz1q<#00>J~p9fG^Ny9IZbpuyeUT@&2h-F=7O_Gb5a zxOnf*Im1j(cXd_uy-gNsk*$Mlo9ObPsIe;k&RCiPlMfJY{E4ykklOx$WKO->*#VdO z=D+`GFG_%Oq-u{OFc4CFOZF2XaK|`!xy3E>XvFE0QfaH7AD|^e-}v_R{FlVjM-JC* zmiw>|fzt6FM>!Hpwd_mZ5n_aM)<@&`WlThEZ2?|Qh%N%hJl_72Xo<(8VPk1wftZWe8w01ipDY!?aut;3~( zv;PDGFDM^C&Ku=45i>XgEvQ${Ax1pN5@s>5-pFys9N_=j0 z*CIP1e|CTEr(wp1v~CeJ#+iDY>LD;%B?#OS8WIr{|YT5}J|q%F*n3pM#w^L6EuUv6Z2> zM+*x`CUK@*QCeh0ejHq{8fs&d&GtVtthaXve&BEcSH9KDqqffdj2x1RjX9$ zbpQs0wOSI>&!Cj69xmxG_mCsXlg~2+R;0=DbiSm0;lHFp*k-F7+gw8)>nI!0Eyv+C ztox4i$8$6c@p$ZJuNWciXY)-(wp@JQN;|agF&_sO!}TFavjys{EV}Q05OzBS{eC{o zzpR5lIIHx8ZUPkI$XG#_?)x#(C5hO#ajfk#FAOV!HwHKVI~lLiqaA_=(2f6b7ENBC zD{s8npN{yVRsj*x`og+vy#0r=JG;kSU*@P5O}W+tvGE$;FS~E?22X!5F-QH}eRW*B z2OTSvq_fc2m&++@pv$T80RFb`jrGTa-)dDjZ`)=Ou{PEjt)Jn{<{Q{Q3^nN>G*D!H z8{sDURnZrYFF2CSS^>a|%rR0lm>jPVp(5+i|Girth%`x^dWDm~lSJmYbnpYKF-~3t zq4#2gjrMb)*6D;J?zbApD%m`Qy*NLtI`tI7qUmR^__3?=&0+cU#fH=K^5#ETMCo1(Nq^I#NpFOa57d>(b>?b5Wjy5Ogm85$u&dCtEDn znNy1!jwRJf3V5Nr{ac07hWk?^aN;TEZ2N(bX2VHla77VESMCAyJr@&OH(lMD_M{mC zU}p_`yDyz8RXG>kZDnX5j$JQtSRi-)Onx$*{BXHDi5>Eu4(>jc#GD^UyQ@Cz{Ewmg zBN=c`jO80Kr)XnwYmelQMVg$>NXY)4jN0gbGC%yD+V&yPvGpEe$YbuQ+r_3et;BEeYEKI~0! z)r@BgngV_hblcN)3badwQXC}xwb>{p;QYQGDgI$VAGWpFA5G)VzKbb2>#pK0-9Icn zuhTv6_ZAh+fB*p#&b02(?sH}jL8bnnSBLapAHOZc53CTj+w?-oFxX5PX6K(8t4;my zBkH}n=(SlZSz7Cxm?~IQz^Zb@SOMI9P;QbsOrEJ*_-U4p5c>kD}nM@Xhd9+ zeQT;Y7D*%GAc@QTVW7o@DVC{y8xZq0Qu;psFZOo=o^z^umFVu~VuNkPPCqQDkFmre8W;4zaS>5%GvwNPQU@Adsrs*fL9c4WYcsm#2tv<$Yz73Jg2ftxy#B2jb3#iW zg0bq30cOJq$7#b^&&!;oywa&CTg3=P`Y;#AMIUgz@t5S4s2?oUk#b7Zo|YKzPFucv zB|!}7_Vc<(EN28S3kvHF%uFw&U|antqc@r^rw>o(@zwl;wO0M@m$3nD3m5BPe7o*V zoLu*U?})1I$+K@><4`;+{QEX`e1IHoFInMqQ>{vxlPdm?`5q+n%GWE2r&D8VemHL8 zNT8QN{a{E(5#v;0>soDgPvvmT=L378^y6g$eVTGD)8Fr~#v>E*m|6qj!1E3<%@w(O z#dWdmcVlmh!l_#yo0CWT_u`f6xyw+{X$r&!NZ|~PlI~^B4DAIg4i%_~rFo~7lNMHB zB6R)+uB@(Btil;5>Gt5lWlz1qL~&f>ak(V?$q--0l6;Su!8cJ)Oz>MC;%a}Yr^9#K zFC!O%q@D>{9SS!>?mtQaz@3x?8O}YDF=*lignjTAmUir1%NC(?Bobr3zj8u~_*>wQ z|A0(-l{RKgan!u!k;)<}86>g*bJCqg9zq5C%_TRyojO7A3=Iu!{CQy8DaYYkwQFmH zfhAM{)n262+x%^aGxhnG|oEu#$8%MptMASFScX*zMu&uY$O2wI-e7ZW2 zs`kgZi}+Lt_G;8B%!a+V;OiZS+IpGCcyx1(|IXxkg}9*GdjDsiqcnl!v3TyY<#O}w zdI$rf_C5FQ`NByt>vaJgELSgrr0~)HjrKyipp)^k4S6g>BDrZV!XUo2|Ak&(itXpl z#DTIV`gOguXm4hTZOIQT+xqG;d<>-nDOgA8W&yaRZBhgBck>Ij<;EB9x5f|&3%!5V ztpqsm-mmU5Ix5Hrz-hBj4 z1n3D>@CH`qTK4XGw2T+(OSoN4Db+p%*9HKpvVqLMU2R@t&MMPu-z-IdN1V|85_OVX zUuLv5?em7D)z)y72CB8f@oz6ekR5M)*0k_oqMsU$;)ETWDhfq|w$Ytet73ef+ACeD zqPVFKRx0`K{WwTI2M~3U)Ro7v48F2O=Xh>IDW3bws@toZ68e(UHVg3;d9<={f>1n8 zn;-YlCuc_#H&v=Q-|idTI8W7=2Ky68;opY2W1qNJw_67p73D=_o*(5}0Tv-HA|dnZ zxeYC7_^+p25HC0d+vdyF#&V#Og&nqF->b#_!nX2>|C^W@li@tnqRU0t?Ow!^lm41` zDy$7t*ulk)(9BzfC|2DpG;z+Cs@&4zk-8Y28O)Bu0(7DQvCE%+5^R9@k;2x*u)L|h z`EHM8kCFle(?-`T@iz|-euR}`TX4Np`5W?ZPC&|MiD03!+LkFsqhu8BQ){0 z5N&YJp`p}@xS7Z8A8~apj0?plpNO`F-D{M9Cw(#T?u&@U5S^LL&I8M_4!;?L^-b!V z$rq)DY@S}^eP2-K>h}CxUC}puN7RoA)J_PgUH@0@1hC6gMpMo{R{MQ_7+V2pO1f1{KF=&29C|PtrPNhT|Ff#u-Gr2Sk`d;FpX3e8ng7^Gr zO4*o)(94ig$FX-_Sc}FqpKDIT^JkxNiy4(Eq)k0w)Lm8s3*Xsht2+~`>6gn?Q-#R| zlH`LO=4e`7{NBXgdJM?23XYfRON=0fpY&j5g~R)(v3M<8FJjx%@@hr0AKEErZq!+w*VkuF5iyYemu~MoTvg3l>U9oYj$)-u9rFrRAOPAMn z!#C5CjE#nVb|@E-EjZM7y3^X_q~8H|$a#1i2PNz(&`I$XN~v*AwfNQpKm9l!VW4`? z9u?vx7$uG2-CWB>H!zM+@3he|qDX4W))N_y}?9 zj@o}K<*DfGD{kT3$oGza9wT+FE&lK{!9IJslb%Vjddk~&)!`#O;o0rf=NRA6BV3k& zbEDWR;rp;=H}5Q&+6LKnym)XGsdSlQ;g+? zhTT2+eM9hys|olWm}G#H`~?^~NAk+OCGUATg_Yx(3$(CPEi+(6IC|olq=(e~tQk;vRp$0pOjm#uG}(4(EX<$mpf@Jq(K^@2W}>^^4c4U+Xpo(s7{KAgqC zvs*js4^Q$Mo1^it*%aTp4lLUUV=vSdTcPWgY|!&U@%->Ot2S!J6m_@CJXMU3>n+?G z?dt0;uZ*tvq47SuV2sS$cT693r1`#(p#913n?zpjMvtg#-^uVib_$F73jwW8rV?Tc z#617raOFTrb1be7=-j=Bb5#`&mEdAwwe_Z4G$8=me39n$u0|JM6$Ob!DmKr@Y^zPy&RZfAcK)!&`tyWGUn z2T&Hqbv?g<8Mj@vD%QM_Q$BUhk@{9`q>Rf-;Pj8{&D$AQT=9PZD zk}oTksA>b=<8Rfnf*qx|%B*H5rDK@@@#nC*glcSS{q%chO|P^Ee)CJ40V@g?42$^; z_JPN;kv(kbj1rT*)CYf4c&tv>l}9h>X$uE;glwd;p#*eag0h0yY;#cNyKI?cQwTh$ z(@Q3V4A+@2`}Kz5!k909M+O`JKb~FxUaK)s!#@Sq8ck#+vU@`Gese`1QY<+OZCDB? z|LSJ5gXB~>&^2qj2}Lpd@ZOV<$E1#1?dX`=o>z6zlRKP%Gs`crbmcOo#ADGYmd^Bj zGfNI(;i3$IR>{gw$F^tK{L!~#x;QYI!&lG~HQJbXTy8>Vk{*?prtIJ z>w^*Yk2^~Mr^MNrY;H3gnK1wdMtFaNHHw@XmAb1>`+9NJ_3Oy-uK?uf_6=k{Kfq5( zHbXWV(lb zZRGoK?erbf6{%mg*gs?#{h`BtIb6c}dnTu~`_lmNKxaeC6(IUWR-2o9nc-S2T2jrk zw;rpV&dp5j@AF#kG{5)NaV4&o;HCOZt$6rqwz&9fpy3o9FcwNf7zzbt{O{fpq6H*o ziRC&_@M)j=6(~1s2L_ev%LWLAiaJBo5Y{6f)E;+Mk11|+@2zS$65XWLc%Dkh*Z=wy zPp=ki=#mQ+w$QE#E-L}^uhmE{mefcY?@FD9Qh1ruJ#RHPhtgruwOrB5Bt2=2OdXjb z_4ZRawV?<+Zr6T~iHiYihx~G2?eHI@LK!{C9wH$zF$mOr#5U~zS|c`{hY8}t@h{W6>pP{F`;t!M(v{qVRf`$(`E(%5q`z4oi= zdltXNaPkFefK(!y^{=2LX8mr!c|BV@bo^xUmny+Q`_>+`r96O9B?!8BXp!urH6~ME z;yx?aa)*wQ1uSyu7UfbmHICf@f@c7j9B)>MN{^bw( z)(4AX)tbSP(ylxPxcYKNXv$Z=1YLmg`}6kJX@q`@9v9VSJxUG8mXQb$ zj{Pevieuct4oW0N8G^JJPGqcaFmtv$PBTGL{4mpa7qC8yDD4@r#cKK&CQmhXyslsi*1#Q*%hFFfPjKHegpWcr(XJJOp-)$u*x45tZZX(`gi0(J(SWFP!fuuqKLMdMgzxnC7=`{w_HRv}cwCTvMm*1*)-Pr7lCnSPy{oo$TA$lFyI^SJ(ljVd z<-|mgQdg}@9uG(H+vMgqM+<>~-VZDiF*)41>ap8szs1LaH>O1m z`U;T%~a690-HR}^lSX-}<(k|flO5F;nlz5rM9X5}jt z8T-37dw0X<&2hVF+~(n~JUVd<-u*CI7kDcE>)j7K{o(r~iQmju z8~d*Jge;^l94|G+)!9GXoaD2QvVCPE^FAd;34tsH7IIFR4!m}5zdYqB%o{6iubfOL zmGwrFp_vm(dz239pzXU9Xyovu7qyVM9gY-BvC3ocghvg>(zyf%${Wt>+D_*Ui+pj= zlIb<@k`?HDU!B{pK>iKV8SSywCxNZqs~@muXCEfYu-5;KW&(Do4CZUVyE@i>0T@I& z8p;_(8ySY|XmgF_3IS-u*s*K_MSonRIBW@z3rjuB0RFesS10gN5)@O&Qs4=oT)!*F z^PuDTSZ^)&_c$o9a3v(_Nwd8HzWuMX(po;Bk0YluXvg+{U6~q+ZQm#K_)_N~SZ>*N zSM?W-jk9nC{w9(OyF->}6=qW~|d@bC}hL zAF1Glz@r}asYn>M-009U=hS6w?6k2@XXn?NN2Ew6J5ZAY-y9pps6V%FWc z9gkCOX4EQldd7ieHF@e}7>T* zN*9+?#SrtX<1GgTgKBWeOCqwNT_fy;-jH8-4b9s9W5ell^Vbh7*ZLz?{kL{|(zsyC(ZK!nsFd z(fNthR&{e)d zLA$^*k#$fvP{fPAMZ%+^On1uqVJXUiq>k$<`RViP%brPtmn{Xpu#>KY>#AyHj?Y_pvG7}3HmSbMyP-?_AyHc!$Nug+Ro7CUzOQiZCt5Z@${ ze!mN&Qf`vn6cRYwXy3(U^PFiROH(9UpmeW2s_uL}HAC*`c$w(WQJg8YQpGFMdcUgy zEX!c`ADw{Q35$Wb!y}R(58aDOn{yom_^@VZuJX`x(C=m=!5r8M7)6K`{o(Tt4+@FF z4I!!fTnf)H!@XAJ0VxWel_b!V1TCk} zl_qL9)X5fC$CyICafl89x*9Fdr>TBfGV;-+ZYUWJq2){eut5~=!>BH% zp~FM74vqk1Li*V*tU>RCSCQ8_kZ7kIh}eYwx{TS0=C4E-eed1HGh;k2Ub(NQChZ(C ziodxpL0@h`$bcxbQuMWoBDWN3!ejJ7H_h#{rAoWS31=kb(6o8n<0mqYJ$ol~&YeVh zAKEw<{^jM=vk5}k zbz%elKU4xlNl>L<6zvOEveI(mE4!DlMl+vVwknz|&o1SBc@4e8eSE&m)tW{$vtB4A zwb+GiVqv`H%KdvndLQs*#qjdL$b)`$r~6>#nS^jylgz(EYg+x_G{9aGEqV}h5EH$7 zlIzXfkX4Z0xbM$D=w(eC9?lz25yh@``ddtMwc2s^4^9@M-XS}4+AE?&0Z^xcFz5bH zy8Uc>4s*oU9mG$cuLsxE>vk59mKs7QsjX2sX@B{(6T|IG@Hn%dPneMOle}Z=+|W`?ilit@+U)4&PeFrxg+=DydDU1+Ra|5r(rv zEn#dpvJ2;Lv<>!NrRxgB-O6Fl`NMsQPm7)F4a|Ff&#o7dvTLT_f3(k^q7}|3FEhG@ z$=u7{K$xnQ1+V~V*_=w9>`uZ?(s>ajSoq> z$bJZ*Dr!m>$zz44XHs`oKod2B#BuIQXB1jCi~n|y^nv;YSntsHs|H_y#;a_$RV1}2 zh9(Mo9D9DZF^d$bO;B$bHnXr4=T>ay5YlRLQ1?h8qi(=)#>W7>kr zYN#7?7>+Vah>E8e3+LrD@?NOc2|k?NP4n5ps2BZg-pmF|Mg-B1l4AoB>I+3B1KrzdGfTLDa*9~e|mvtvB<%g(OBcv&Y&#g-x zHJYwRtTAb_&>XV5TlOHUI)o)lY4;u`4s?tnx?!!|4*GWLABC_1cQIXG6*J0I`7q zTD+g^JJ0O-u}Rpip^Py-lShd2&B;J~}zt1PZk>$dyjDWkBdn z%+tHCtF`9Jq-u(Eaph``2$cSiSc13Btgzka5dFv``m-1B#W%n8vFHzCRIwL>QlTea zM%ZPzk#baJ6IX^Ute=y7v|(5_L6Jn~b~ighJYOme(tzWFJsuRxDQIx@Y&TtBU22`( zK`W668=9VuRBpe{jA4r=4&Oh!9ooaA8am5bH~fHpjG(h#wMq!h{$Tmhp>GnJyDPnJs_mKT;l{~y zj0l>(fWQ+e9_kT&ydO6n^~c!ulyvuw2xit=NxNsuuj{X_;kM8g@|yxPeHAhEOzC3+yE^ zBSV4=D?et2c5AZQzecd02titl@oyoD@tFOzTR?(@yqORoOnR4k>0t)Iea&v5+5d z^sh~(uqrz_nPZ%<8J(=^awG+(embV+Vp1qype!{?FfJBulx%KNN-Ve;zVxtpCv7-X zR>bxpN|0i};Hq$lypNDvC2kORO|VuvXaSvYIQEK@`w33#l=osgspFlxfJb_9GM~ix z^~n_;23+b+UhEqZ2v^9DmZHj&MM`CvmEYnW>O^7HOH^wl^@_E-0z53ke$N9ggC1xW z88F~nckZpF>~<$rfB>I-2vzC0Uywi8gQZ0a^65$#8lCv>I)tkrC2SxZ#pGn8@IFNo zRrG$-Q+S0Ve$-1R4lV8tKUSq!pq_VWxgwc7Q$%f!GZS;3v_~Pa=?JeR+P6I?Tc?Ui zYD^{JWm=2-_NLyVW zE$fx)p`{*NLH#e`;NXxXLs$Kk%zUa)!Nnc*N+*`9-NolSB?5;a18ejH-ak2Yv;FHap`fr!vYlBx-9=6@ZZ|uR8Hosp5dj-U~@5|q<3UB?ZJtXv550_*FXdXnIQRs zhUQvq0c|nj!&%Ah=&FO<7`iOC%EMiQ_W?GR>>m|@Z?zi{e9MQjBL<_hFQ?^B|e@#1roT3hI8#xDNV4XdV==% z5U4{MVwra5HiF4e@Vxb~IKCG-D!Ue_wSCPLs~#tjD_Q=H0|!}Ix_uq z%xV9M%4Yc$vVtr#iv6#%AO=k=$r9VfyTEqiOT=}kH88a)_VQ$9W&1j}RzL^=R*J|b zl9f00Vcm_~0vKxvZxeY@Nrtf2fayVN({U)2<{T&8}v@`>Z2qX;bs;AL! zbB9SWN-^-1Y#(xU$o!fGB580wqiIU(JL5Rw*k;3U*#~2!Kkqqer3$YTh2i+yimL-P z?MMTa;SX2-MWCX|MJmS%&xJO7b@ufGgjvT(ttG()(YR#$kdB;o|7)|e!(G&J%=+f1 z2fZsFLh_Z0K?;|a(B(8Ls|no^?kIlAcN`MXKfuI35bqGk@E`+o!#>J2=Ac5?GKO2d z8waqh9>9YtoiA2;{$&myt7?a2JaMRoLV&G-97U1(z6HIYeZvRkyzN0ywqeBkg9V~3VVt~Z`E zUxdF>It=I&lVq0FG@EnhrTIB&Qw zTzzJc;ZkP|6E`GOAsfxmqOyRWpoqr%PHHP0XkRmdb(A<y02hasL)}F4zlJuNc;7 z^Jp_hIvzC5M9k-MY!}xsIF>@*I{S7DWR~Yts@9k=S*`MOzC2#!0{*9fE)0X{Vvbmh z_%}13&$~=gi&_ct*9SAw#{dsjlHvH<_i*_~Is|Hz%?Io9A7>I+GGJ(vs(UUcyBXQV zEp|7kKy4-VXi0(^NFcgeeq+8A?Of^UXhDKBW}iWART^~$g%)H9srr$h)UsmVydDZk z=2IMHP)sWdMAuA|LM5=VU;-1U_U5YcUg&fpDL-MvAjG@o|yNd;dbPna+ z1rKw5_XMH|l8Yx^>BXF3M$&GgT<d zUi{kWq*xCnwIya+#TjBMxQc?=bt7N?$xnizMP7>U$xg0ngzaOVV4wY~pPN9h=uU&` zA?{75J1boN5NFi59!TP+p%}wcEE)&;^TkuI241Jj`~V{WmCzKz0!DI$9X8M)4H4rI z#fXsJ{RWq6r2yM=>n9`^j28Out66=?jwIeesN?+$u#~AkHtAHs8sdECfI^zNNkB!L z-~gr0?FY1cP?!pF7>;KOP^jga%MWwLn=jN30N70b>HdnG3~45?+ZY4s;he}8U@MVW znoa_hm6gRi*yIQXqp1T_sjQ5kpuGXhNS>6duO}WRm^?7P@peECd4=$w{SH6M0f(I2 zxO8f#jaqe3$JT6O`B8>JWl1a{nNqPn&(r)8LyvA&pjSu+euu zs+p0j6=jD>98F;#I}GgNWkpk(kCuw72fi^1^sTo#2WoWc_21K7k2%qK^)Na-$o z_wdlw9o4ZBu}68cWEZAqU=aT!IzfvlqWPg@SgrLlOTA|WXQe$lr>7OW*b@!+Z%qt7 zTTRy+Pn#k42vJQBkN%sV^U!ecTb4&3F`jY&z5)ji2Yqro_YoR;d*ktuXJDaD`uzGR z>W$OU5)I7tNz~(;hcl(c-}c;57DC<x1HeM-18h(NX)0u(^}a-c zxCxnLw&h3bR@8zi^4&h3zYa-JRl*F z1>J!n*R^I)HOnbDb4(s_r0?yZ#6e3DX+#eqgjx;=iS%nq$rv7oEDh#%{hQH6|YP~ zX*eQuPJ;@U)0E#(O!}dzoy(&3r5(a~ucmJ67i9)Bp~wb@GT+ham|D=E4ryW)|L6=y zez^0C93qC3lZcCpFfV+wq8$uzZ2@m%)6oHLqC012*~o|sbkQ%_5Ilaa-&enQ^~r$& z4~A`59HLFQTtW^!Fi{lm$JIkPDy?6K!~X16KjmIsesj6^XQWceAg8*sSD0)S_;Zh9 zmd>&SBw`D6dBS`x*`>N4cN0ND#dE*ko3w0ajIJV8@=&W0XjQ3Hv~fJf7+7H_fOd|K zZqt%IzaYz9^~&M@yw$={k9*psc^EXLo*$X*g} zPX(DgmlxZ7^gX|}{Df|kpB$Fn%*1yWuxalO>^^QJQ-r8?h zVDL%Nyjf$SR`)1ZWaFf_F&1B1VDl5Ao!g@3^w$u{pdIJwE( zPub0z31uYCTU9xk>hYUOzdt%}RpxxUIN`NVDj+d8$&tu7MBr=?EBw3MBHa3TF5wJT z1lm*RFJH7OvJavzuo1_Sdu(pNf?Z8`oX8fDXmU8xN$%yFHWNgxhr|3R3UsYGpv4ui z2Hei{fm<&HbI#9{JKP`I+7r(lVZEH>QWA(p4c@Kp4}$E;Qrv?4DiwsCXsyg zUxdn|d&M$=BpdZRK+I~AmBj|rd)iML(GLVb;O;lymP~mlM}#G#0e63$A%Q26`QP7B zVypH?i0tAnN4-pjw&{zvPxN=XBCVTEQ|FzKVvI68@0L2KG#fF*+Z3<1jy4L#?k=Oz zZVZnJoFAXCEA5uv)6AOVOtD7Q760scsSjygX605oe$?^bl-SpbVip=fY9%tah&VSU z5h0AGW_Ku{3Y4dc)#n?FU9f2S23)Z|9!!^T*JFi=bfRXqlP|_rbe&25)8<5qt_KXg zHyTo8_S8N>!U#ZZL>2v)3-AT%AXZK)>Lc(KKcMvJe*`U?^8w0?L_#iQf&#RiVfg~r z4Hme3eHa!T$K!^bWL0YmCj0fWn4nHh^srkBmI*36GNgxNBKO*fYRlHUUNSX-jKpEG zj}erX(L&(H5@VSonar0ajFBv~O`xx&uS(~sUG*AXi8j=;@C+)okt#Z8s*uJkNR^RY zS2SOyh-khjF*4Rv~*>Q(SE? zbH3Ql^H5VMxUDd=K3ne*-i+MVLS8XS74Bu32>OW!1^cxQb*+lm>e&5eiIR$8RT3jx zf+Nj!jmT;i{bo{v0rfXFdT-%R6gA#i0`cqIl{ir zG+%R3@oWn57{fg2Ny#i_(}fT2M;}W{wvpHuTxErix53>dFShxTZZF&_Rr*aUxGW`V z8uYwtR0VMg1+zCdJ6MDGRgME1whm1ZAGk{8o7{e;Iyymf=4t1#h>gV|ucVS#wp_)l zbese3*jsj^bj$>>;?|sWhw@pd-<|n!JcT0Gsd4p+l^anxG+g-{4wVmtNI76`+L0-E zR~q=FhG2iU6MxA=n*o9sXMjwokNg2XONQ5Qx5E7_G!&Z>F-bod@Ps@z`=b>7yNTVU z`JSo)Pa}FjQs=7uyfvMi-}~b5uPQP^t{#dz*Z%M99GA3vo4&<2=g)(0DoqT%iO#ni z;XU{|`|EbFWk$Tawb;!jH?PnXCX9>Bl}5xnTvg+9>N z8LgxrwMQQ0iVOc_8555QnU9Z|2!jWdmFG`l-f!K45zx>L`Pd9Sxd$xKZ35n?^}(Wy!;f^;(+h&C<1p)aCCvH<_@fnp1hWi6lPW zt4K8%T~Wl$>MfM=<|Wh=DMrHwUd9R@%+O9B@H+e3>>O&?j7cApSk`;Sd@QihOo5xM zacI;#(IhWxe#{z9Vg_xleVU6tae`$Eul(7d2{mcS^I>jkCP=9jXd*3mDNR2CVu9CEwjCY7O_df?=4Y!w{6rV*^cer zh1Ljyu&Qtv4(4_f+4hzhG!luw5}5T2;1wTEBBOtmtN_X&->-T7NX%|T$b2-%>p8=r zw&yE`gWOoY=iBVLg}edb>ave#PH$7mp$S}eiNW;{HWdl1sdSlqiL-G`J5`8vNzux| zqpLb&tHa9IwcEWQwvo$UJDp}l^YX2WMCToY?&lZrJabCI*tLH#qC8m`D5bB-DjA{7&bw8#*WyBBeRnZGPlls^(SAmQ5?KAEUd8f099A&_QA`$95;I&rNyLHRYGfEjl&Bi@ zR|m;h@$cSMykm_Qpl%Zr^@2?Biy;Ug&aTB%G|Hs?{-lVnzrSyH=g|dmr!ALmwxHw| zMoxCLxxKZCEwt`NHaZuF{{X-BoZ&c-RwW_4Y!#Ngg)F?_GBp;vX74zVmErNpb^f)K zF^EFwN_E*o!{A^Tq3A=ihaA-zjr0bV)UeZkFUrw5!c+xTBOl+?tdutHf4smN|A90N zgO>cmIatnvMRq^->o+#pY+=Nz8(L=OKl||j?P8*SanIHp)uV8FPh?dOljUQ7FkRDl z4T=M!cpn|Y)Z;2$8A}>FP$A@^WwxKKz4PY>(Ci371M?_{pcK~;?VLtwfQshb?jvud z#moxyLV0SX?UCKxsh^2#mD|8!EET5JRH(WwFr=o9-r!P<^q5PEZq;q!xtb;Q$$$YP z$PK?lf2SDh+L2x5;c38A)q~|o_{Rha77|O6B)tEcg-r>$8fLWN5n~96m^+ey_M6bX zuBiGaR4Sp4@&p8#Pdj%~bG;rMVbN<(pb(D=$LCh{?rdORwDJwc%PMn0UO8KB7v{08YX7h1~ zrtOH`b&KtY`V;G-lvy-&42+)G5uB%l`my(y2E$SM2HQ~!+n7uFsC!Jgu+y{|E;+8a z6?(px$EpEg9-wT~QHgtV^OG(*>K|x&Y{N8NBzOo+4nujv)71`)`nKIhOb*PCL3p!Y z{3R2rxTwGG=QE$%(Tc z2)9EeBi^l{gnY|FH{go`J}kV>f5xb951sAAhbWHrYF|V4#8P*P%F(NfcUHU5UkCrE zPn6Ow(?gNQeTs2hm~znP0q%CvkBuUOxxseDal{GLMMOuYd4r`Zp7E5F-pe z-OAg*XN3}i8$69$$_$eS;xY6KS}B-YFxc4n(PrqdMV65lj2ck*N-?@Z$3VMGBLcog zttmDp8JZhPU$?aN-lS?L2?iDl41~f$U`-cRd?rkq?Tr+Q)dmHu`hWcxNHL^oJ>01?~LcqLfa5 zQLudec>Kk$t4%>Dx@uL+9Fk9ODs+j+AoNRqef)am<+(1^aoKsAbpc34C_r9Pzn3Go zo;o0$IvM2dSj)Nq#=`5z8-1awF-V!Tibv-cLX~|rQ@x6ZF)Oz+xK5)xXe|p zaBch}&g@Ij1NEZ-pj6{BZAFh3#19Dq3yO$P)3|Vg`4<$_tt!q)GpMhP)*2f7zjyX( zSgR;KN@PLX(<>q1k@s#h#()nB-UX(+=PlWfui%FF4-Nw~T~N6~(|c2dXoN9< z=Z`}pDS4f8FbjQgJC%+46G5#0^l*~^B%)*c0_~6d0f3>aOfnZ#^_+UFzSie^fJZU31FkeD<{L3%YGYQrM~e!xexuYHsX{_`##bo5p3zr>nd?oKFPgd%7G zyC%h5Qyd0N=u6IPiDD_|~KsU49L$3)DpMxO6 zgs#u81OD0G0QrGr)`15!(eBr+T70Ktx$(N z$x1Lg-yBf9K!CtwHVBRSH3=3rIPd4Qnq`YV_)^4~9`AQ}rAM)}hSU(El-KRr!3LRc zbVZVlY0PCWMI)pHNz3M|I^-=heN%;{WC_WFh*IY8jLJSS!Zao z3})=2q+}_Qkg*jZ4YEddVWg1doEEZ##8?Uug|Z|jyHeQ>Li*ivPUn0(=X|f<^XK!= z(=~NX+vojxZ};-LU-x|*eYFM6m{>nFPXGFSrKk29J-OV{s8vvd$Bmum+ha!XCPP6K zbzX{sGWn#0zIp4I?=7|-aLg_m9l}y-T9w!`JH9~TKoU-aI%2K~^la#WLwN8)x``jY zR5WwZ^l3`PkT z6(zBBdoIar%4Er#H0_65-UOGV3712&H%t~YC+7=O>8zN5^vb?(sUW6VcXc{u?JPLthGoX>PX1HrZdS&b3a+uD*w0*r&z28wR9zT z_s?j=)74Vd)s@Un@mfPT@?K)jt!b7OYM}c%vfWA=!)0>5=Ia^F(Y-IJ2aVDcb(oST zyFiRx9;I?Q3;7&;i4lG#t^IH71_Ql0qTRjep*O5_#@X~2vmm82lGcDyAn)@aU6;{c z?zYR)#_!GxM@Oi_@A>+OWt!GoDv~E*DeL>19*^2++?AfN2J~^v%3)7y|>b>=JtKp@;;x!D=gr;iF9%8+fxBvgH(p%ndFI*544sa5WSRU=1Mw3aPB+dy1KD@N>GaxohPy+3D3@-i z1q17K{K1P#4xR+gmWO@$VP-*K_{_B_b=+{_Koh#}X^U@N5PM0LmeA+H*5{`wRdW1) zcd2guHy&ZuTOth>dpi@S>1`*DQ$#y^yGo*!An7OuzABHNG zOG*_H&}JnGJdXi~%FW((SvwZrfc}WFl4h$LULw<>N<=$)O9pfOHpBYW8*bev;tuN< z&rc|NI!BB+0Z?0;jS}8@;gS2$`Hj9355t;M-HlWhtP^uI7^V)Z2?p}T33AP1DQfLE z54^P&V{rr*(mXGBJ*SU)hF+)+(l*qjX(-P2| zhiUQPOM6q080NTqgoxvC%3`YRhce!>b*g#{6BDC$@F^zC$u)#J6motTR3~)-(G!k7 zR$mo@XMI&ZF7)Y?ibbe8>k2XL#@(^q9S2}q^$2oWc-xS<_tng34;LP{&qR7-FfB-{e@&y$tB+7XYuT^X=$VF1@dv2jZS&rbgTPFO8N(r%Gm@K9+tA^#831 z)Lh8IdYsC{9C`Y-mwZOcT#O+0b+hsC6&wj@DcQ1I@O9%F~`Yg_kuX* zV_^kbv)$9HiK!;yQDcw4a}S4&#hpFv1pw3G_CwzTB;0FSF~9YvW7rWF!S-uaXu_QK za_+12%BOigmwDP~EjsKKTLvPaSbosX|_uXYzN~0!;MJ^s5QlQyBkDMzM4snyRV*rLC`Ba@flXP*`n{3CY#GqAVny#SNa5H=6$`WyX3u}6dSza zehfX;7GTx?qG$l!Cl$2(o}couA)u2Ob*=nb z{oX}no0q=C=e|eow#@L*u8jasJ_-QFlFsUo1u77(dpf6>j^=0MOm(Z4HE2{h3bIxp zNt!;WK2gS2Oi|$kP8AMJ1A}_!qu0@7rAmL1O?PvjaGhWLKa|4Z56(w54>r|ZvE z5&4B{Vqg$*T2%tm>>B54)Fu#ZR|C&K8oK;=4MP4q?YXjDQQJ9bH8caM%pPhrG(Laf zaPzLslPVRQTnEvQ?S*TkWcr=gDL@#v2E~~b$=Q!NmJ;cjT#+ZR-3h@j>IqKVe>eQD zm@`lw)GOFTY?P|R?J!Zzh#dQ?_ja8}^6-@bYomd8I9S>m8i*K*Tqafk;c_QwZWhRy z&w;vrhRE|urCBsr?3 zW)T5EDSsnp_Wcuds*tHVm>tfbBX_>x?2AL{1E@RF@Hflj2qI#Vk$Pd;z822NzzAYYYLl=ZLN(Y`T7$2F`9Utdk>CRB}Nx zy#KfXvf#xxZ^&hv%R@ukitp>+#$Iaks_=<#ji+2d)iRc*`;_E!0#y+lmm~5tukh7b zTtKM@7_qm@xQqCORBQGsf5?tGMX;OjFOF*+q#{-fBm}*sLRY6xr0eCPhPy zY$L+ne_S8s{uWB&6;W;u74QVQB;qmS}xtn-a!H_4PbaIFXzt}&w@+i8O;nQm$Q(Jl8fp3=J`GW|0K5NbjQ{x zjh_1__x&=m=i?bL*e1>)`LCfow72l@;iP$SNs3eAgp=`{qB#Afs6ue}w1!s*yi;r8 zn}vsEm82`gm2e+A-GH56u$PeS?)W-|NobZau{*KR9?k{R>YZOdZF_ znW4-WdLfI8f;$-0b76OqWouCi#13UdzIeXv{3F}VZpQm(iBkiWCA<9C92O=ZVwD6b zuq!b&YA&^f5!tn=)}E22u6>=Cq7JQ0N+>yryzA=s9Qb}FCJu-kSP;`1M6gG3adxng zT&nid=hygNIwr|_h>$&_NCf7AsmOoMJGjq#5(~G;#F|8lq1&qlO7e(@3O>sjP)2YR zd+28cJorw32IzvTCzXflSFS@Lu zP!1F{Ey!bhls%S+BFJZz>Nbb{cZb^q(JoEPi`PT82Eq}{JPq>P@Sjl#FA^)O-SQwhRg3N zPL(}>JcHW+{|(+~dKRqod>Ju&e`Z{P3EU(ybisH-8N6+B@;}K;F_4BTyG>HT&@;#d z*2pHqELLhK5~z%QoW*Mk8hJrsg}by`wt-8r*yMYPwg&cF>o32BLw{E-njOJ2|Od zZ!&jn+CR?y34eazSkk*ryqf;rIpLC)@fb2T7WDkEuV=3c_{_IJ!vxnqOC;UGvF2YX zu$%I)SgL*hxhepS;PB`g-I30M9AiIUIhJyROglksxIyF79SYqet6X!+yzJZ&exGST zo=Ia{=-jKXKnom5#ISefwMu0^t;_U`_^PuHCtqxY%`s4RuXw+~Ysb6qm4pIY}h{M5r1gXSM#S2=D z1^)w=7UGy0U&L0e`0d0-W+>u!Ud;wFDGf}p<{P!c3{(X`3g+q;rq4dH=3mlsQ%jP5 z*_K$5C7pkYphgKWQLct$UCny^w8?tNmTRU*!^>) z%CF-YIr1L2H(EP)ZJ=sMOc|$ z1xoM#EE1HPna6pqArqiqx4d)y zO}6Vhsg&12^D(AV+vVPE$~TaKJL5mR-G92cV5e$iDBZrAw8e8}DnEnMs(_>70Ptew z04GW_(9Bg{$um>fy2~k)_Zxkp*#hcFpLB_Aw9z3>LqnCrrQYa~m;LTFKGRy;c630k zFVt=Ntjy1LG+6{8dsQT|%Qfi^*}AmEJnRHxug$bzS6j?&V`YaA(4;3G0=H?+sa^op z4X*9ZZ0s@K_et42kG@FXZy)q7l#4%V>xQN$w1no#jNN8%2YvvdIv^(qa0eolET?6- zmL+ekzQ=M>aXdc5KnVO?KpX~!V>&Vq$jXXWSG z+NAYK1Bk*KWvby0lc!m~gSZF$xple%L z|FvLGxVlH&{7`nr8PxvG^h|74qM-!Z0?CUoE*j;F@A+RoTYoH!jyJGxO#z_#r*xHiu z*?&G6pDg=CV43MBFr7WkDFnW0y02vHcbHeQ%=L=WeD0Sg1J)UCkn{3y_#v?yIY43( zKn)|QOvM>$MF1E>o)vKc@@F8ATHAU_aP{5!+HV(1IJjHIRpvJMdDYNbhyjTy8rAX@ z3$7jM3fy9*C-(F^rZ^lpMpr~5 z_d)m?h9r@!fsyIF9={viVg*G_9ao|cxcqLS8+Lyx%)glcjr9Z*@kYn9?;udyx;$BH zw5~?HmC2`xLsQnGc0%O3y*#$1|5{W3`0IV#M`(v$lR7OL`Aazt!6W{0CE?%ca%icEjt02j4lT&F zJf0-d$TgQ2X)qJ}z_}i6>!)2heYd1N0j%Gu1iWD{@1Zs9NYizE;L}08^`f1ajjd%)vV%WC~q~MnZE{-C^-!DS04ojU^VirDkNfhpl<-60tBd41@pE}*_<#;8 zS-OllgIQsM$wPJVV_RZ|n+|?o^Wt~wn#?G1y&~`_kA8K;c|?VD%bV#AZ~NID#xb<% z_Zsc{>|;b!w8n*usSRj-BBLl2jRuCTNKNcm{H3#v+^>{lstQ5Nk*i(0jiSBxrJf!Z z5jvD&RAqE5`0}kod#Y!G_kUaH(s^1Jm}sm&xz_rz`_2I=RlC=g<)Q~n!1}f5PBZk-}>=RM|nGEg99uZ!(8RmmCvwV6O zF=(dgb5fS2myc@=g8hb>YDNj!K0~O$`IGls!kO*b=U`pqo!a(+|4mGVBUV-Ihet;U zv*OX=j*(156wWjIyCDh}ZKooYuGx=u2Y{$}YP+gjw6}bQMP%25eL3fAS_R{=ju0o) zMTDpwy?acInHw9qS^V)G^Fge4`WSj?th2?Aa~^}Hz=@u?Dck{)3i!-hDwc2VSd2y1 z>oceLv8RKW@QdYx?G`)g#V8`LI}alwDl~^@f?ujhP^ti%qKM2M_UH`mt3f1ZX6|O= z;7NizyFv0OqY8@W2;DV5$HhU|@9Bh+-)#yoqM(#b`;a!qRkR5UAU6sY*r!O86Sq_2_e!Lkh z?dGFJX2l@2S{zePo;mlzJ}nO>=#}nsI43loW^0oH;1Gd{`Th(JZATYjP176goy9-g zgAHn1S^Tu?``3;jYn@@rH}G7Wnep3368p~HJ0b1sTKyISGqGRPAa7-n9BAo0|L)^a zAb|?+wYyU4(sREp-P7@XW1yMS=YE$5$wQY{?-i8ObO$X4E4(|0Z#(d#BTz8eQ2N|M zII{{&m{j=E;0@#{16W{9PbN|Df$He6)vu*ZC| z?zE0}<2^Vzc|{kB%Mb#GGSt(VCqeoi>34H zUy|+maG|nEY)izt8Hh+60o3oTJ{xu}&q`|czOYp0oPd7ro}~3TYc%NsoK1%y1mQAz z2D+-#md2AL#94cof;Ywd;0&E@CwgL+WJNm^M;ZlFL?s@-+wPvQkai5cQdnq|D^0n$ zgWLaQy@#FiB!Ku1&%zyKkDoS{aF=youKHXTJ$|D>LDweaKb|1W3Y^0YOhuk;h1ycB z+?Dg@i-p1-qtV-|bnzHbv=!K= z!jL{=r6_#ASrA=qn5ljQ3@C-fg+}mWsa?VE)4wIm2~72k|3=2{g(G68>k9sQ+%Xt8 zQpI+9Hy1JKN(Kp|9(*VM_=3oA_}#c=k%xP=29-r~&e(gO3BJ~-@iJ&(;`y!zN$Nfy zLX8G5d>)Vim5~b7H9)s*#XF70%n3xMjj52azOZTe?Y>XK_Xs9 zc4_rTbc)Sw@bG$L*Y(7%D&X)^i00k;t=#h*di)u{;?;vxQUQU>LZXY0p`BOY9Gr|B z-@H&3PS42KI)weYcHp`^y81o%825koSMQTapXVwQ7EH-%dQfM=o`Z5yIP+U`pgu5U}-Y zm}pnf^`wdMMhRm78w_+E87#>#83uLbv@yUX-ktb9K!OsX>nsxJw5^o%nWL+UQZe*( zB5MzTp}ZG*gB9d~chmhO1Mhw_5>$e{Yn64URqlxrqr-#2&@hFJJq269r`@^<0#c34 zP@XQs?*y8JMAV@3Ta2)3%R+nvxg2l#+uhPfN~4bLTaCDEO{rt=g!;j^X0prQLPmg5 zw;RA3XAW(9mJ_d&jE|ss1yt=%YTX%9-wr9Y+05rZZH;C={|Y>R!%IH{Gzo_=)(kG1 zGFYNJ?^Y#dDIdRj(P;d(f4#WMnV6c}wkQLKEDV8i>$gvog9%9iz;N}1*5qjs;-Q<( z@YSWHN1uJV4p7t&KF?4&2gPV^z*am(?sM0NB2${M`<(S-cgXZzNbl>yqZ|0}MmE76 zM;OW*Iqc`}Q3YC>lNPzOBER_oIfZ|VXvg#C8zX|C)ZQGdS}U-}c5f1p+xzLrpmM_G zuJctxMy=vRPv^6A)*@CA;2QAsD-pfS9wl|maFA<#?@4sTR@P(!Wau8U)a*K7w`^^& zfp~bZlsBTrzD43(nOOQ!@C(dcG5)h_+fXl|C>N6lEgwfnHjcqUc3^(B<^U>wem6g= zW%lX0`+m0Q8PFKC)H8{v0Z3wD%5yf*$d*WpbV`Em&;p|Utc7x;t|MA2Y%Ech5?29P zjm==qokFMI+PMwq4qnpSe8-{I4EGutC_^gW|2W^^pvs3l|3UA{T>1R&f)mQ4-LG?t z6kt0428BpiePqDc3mFfy55at-YVYr&NS>+hvsxd50(d34v36&3g2UIR6iu8`$Xitd zdkQkjeRPF#RCEW!VM&x>bzUydx-xGbQ~1}a*mBWJl`LUg0M^$-DV(y?T0%=yflEfF!x{DoW_b7gyD&PQpqnKps=c~#3`bBUdphKsbP;4Nmf$eK6oYd(fXHum zabipf?8f|w1SNxWM)=P@kf9phV7L*coqOX9PXaOlsQ>bXc^M&+tnTQS4m*$M80#2E z$7p}1AvnzDEnTgja=Qup%#WAUn@K{~YwNieYI=qU8!3q1uWa@Tz{TN^`nyzl3ca?A zTj7hgH5iI8$4EQJlY~qNgE5@*(%B>-t}Fd(Z-wq_S|3i>V}4z!jt}Bs zu^mtc?k_Z(mkX!Hde3BH_5QH{3Abw%l3&>x-uvH#aM`?h8*73_CsTpGOY)-Q;`Sql zZ}wCRTKxk zU93Be4{-e1K53A-KvF3`=LwBL|@?;{g2g! zUm=jL#4OwYXM7ucG59Tf=$wB9^gCc?eizQE?fo%0mQ|Ory!pSr@?J!f6YLuOKUd?= zVfY9K+2EmnaYufPp@H}_Nc4YG`M+KH-#TC#j1@mOQw;B4my+uW9pJ8-Qe53oxSVFO zFx+ofuH44O#p-?k`8Pjq))f#SwB0gHO!zOk#QZ`PVge|>2w(rd|2ZqV2tr6Dl20%E zbq9WYK|%e~3Lz5~_rH2+{BaRA5al3<%5!^Tf5^l?FBS3>l=2rG;bMIHOI-f=tA7c@ zA1|wM4Fu4s{jAl0HFo(!e6fHrd5hkca0;sO{e2!03e+T}9XE~(jU1d={O22MAOzse z1mb!jzv@qc{l}MKDv0gvXQ+Yye4H@#qwa61?t=H@+y&&WTkUXlH~eplaT7PwnVjGJ zR!In9jP==zAg}CtdS0q7#-g9(Cd$?-c(eUng%bK-5Z$7Q?k^4P)9Pb>73q`I< zLNd8@_LxkmA42}mweqEESRp3%9o$G0JVQJE_ZePC7bG7cU-6y_2-^5zc8-T zLngRY>St&64G9FU2G_lF9LuAfBJY2Bem4EZ8TT8tiy4o;$flrhy^AJ63);o!V<-EL z>MppRUSU=)8uza_l!A{vP@KxAj`2#lm#jBt&Rxi~zr9iX*l;rlUcOX0mMx;-<23#>y;zlrn|o^RK*jh{l>vS|l!yJ4fwC*+ti z5*Rzg!%2TzCRL>Sna`jc8dvc+|_1Ysi<8|Z3W`{0HP#hzLS0YJo>&BAWw1j6g9hi3ZPai5BX(3;8vO??9w!ubX{Y=?BhmVq3 z<)B;o^W?;#T~Swbssc-qpYw-$(mh$@_wdN|3L$Ssy%LpCg0;?9l=JQtzZ z&xuLVd-MF4vk6rU7Aae8-wr_L} z1N~x5G9TfwQ{26OND(&;cV unERhfp^+5~MT{Zh@z0m}_wTC6^&NhJZt6wG9;aF02U*9Mcwfsd`2PVstqd;! literal 0 HcmV?d00001 diff --git a/muk_web_client_notification/static/description/icon.png b/muk_web_client_notification/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3220336741dd8016d673df5c128ef85183c19dd0 GIT binary patch literal 12338 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 literal 0 HcmV?d00001 diff --git a/muk_web_client_notification/static/description/index.html b/muk_web_client_notification/static/description/index.html new file mode 100644 index 0000000..60828d2 --- /dev/null +++ b/muk_web_client_notification/static/description/index.html @@ -0,0 +1,32 @@ +
+
+

Web Notification

+

Web Client Notification Channel

+

MuK IT GmbH - + www.mukit.at

+
+
+ +
+
+
+

Overview

+

Adds a notification channel to the web client. + By sending a message to this channel, a global notification is send.

+
+
+
+ +
+

Help and Support

+ + +
\ No newline at end of file diff --git a/muk_web_client_notification/static/description/logo.png b/muk_web_client_notification/static/description/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9427ce33ea36c2ec961356d01d612bae02d48ce2 GIT binary patch literal 38064 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 literal 0 HcmV?d00001 diff --git a/muk_web_client_notification/static/src/js/client_notification.js b/muk_web_client_notification/static/src/js/client_notification.js new file mode 100644 index 0000000..7b415b3 --- /dev/null +++ b/muk_web_client_notification/static/src/js/client_notification.js @@ -0,0 +1,65 @@ +/********************************************************************************** +* +* Copyright (C) 2017 MuK IT GmbH +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU Affero 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 Affero General Public License for more details. +* +* You should have received a copy of the GNU Affero General Public License +* along with this program. If not, see . +* +**********************************************************************************/ + +odoo.define('muk_web_client_notification.channel', function (require) { +"use strict"; + +var core = require('web.core'); +var session = require('web.session'); +var bus = require('bus.bus') + +var WebClient = require('web.WebClient'); + +var _t = core._t; +var QWeb = core.qweb; + + +WebClient.include({ + show_application: function() { + var channel = session.db + '_notification'; + this.bus_declare_channel(channel, this.show_notification); + return this._super(); + }, + show_notification: function(message) { + try { + var notification = JSON.parse(message); + if(!notification.uid || notification.uid === session.uid) { + if(notification.type === "warning") { + this.notification_manager.notify( + notification.title, + notification.message, + notification.sticky); + } else { + this.notification_manager.notify( + notification.title, + notification.message, + notification.sticky); + } + } + } catch (e) { + this.notification_manager.notify( + _t('Information'), + message, + false + ); + } + } +}); + +}); diff --git a/muk_web_client_notification/template/assets.xml b/muk_web_client_notification/template/assets.xml new file mode 100644 index 0000000..7642002 --- /dev/null +++ b/muk_web_client_notification/template/assets.xml @@ -0,0 +1,26 @@ + + + + + +