From 2bae9db309f75d5bf438a179fb48069a893eec1d Mon Sep 17 00:00:00 2001 From: Alinson Santos Date: Sun, 2 Mar 2008 19:21:15 -0300 Subject: [PATCH] Gem: icalendar --- vendor/gems/icalendar-1.0.2/COPYING | 56 ++ vendor/gems/icalendar-1.0.2/GPL | 340 ++++++++ vendor/gems/icalendar-1.0.2/README | 141 ++++ vendor/gems/icalendar-1.0.2/Rakefile | 110 +++ .../icalendar-1.0.2/docs/rfcs/itip_notes.txt | 69 ++ .../icalendar-1.0.2/docs/rfcs/rfc2425.pdf | Bin 0 -> 42681 bytes .../icalendar-1.0.2/docs/rfcs/rfc2426.pdf | Bin 0 -> 49499 bytes .../icalendar-1.0.2/docs/rfcs/rfc2445.pdf | Bin 0 -> 180943 bytes .../icalendar-1.0.2/docs/rfcs/rfc2446.pdf | Bin 0 -> 131377 bytes .../icalendar-1.0.2/docs/rfcs/rfc2447.pdf | Bin 0 -> 22726 bytes .../icalendar-1.0.2/docs/rfcs/rfc3283.txt | 738 ++++++++++++++++++ .../icalendar-1.0.2/examples/create_cal.rb | 45 ++ .../icalendar-1.0.2/examples/parse_cal.rb | 20 + .../icalendar-1.0.2/examples/single_event.ics | 18 + vendor/gems/icalendar-1.0.2/init.rb | 3 + vendor/gems/icalendar-1.0.2/lib/hash_attrs.rb | 34 + vendor/gems/icalendar-1.0.2/lib/icalendar.rb | 36 + .../icalendar-1.0.2/lib/icalendar/base.rb | 43 + .../icalendar-1.0.2/lib/icalendar/calendar.rb | 104 +++ .../lib/icalendar/component.rb | 438 +++++++++++ .../lib/icalendar/component/alarm.rb | 44 ++ .../lib/icalendar/component/event.rb | 123 +++ .../lib/icalendar/component/freebusy.rb | 37 + .../lib/icalendar/component/journal.rb | 61 ++ .../lib/icalendar/component/timezone.rb | 87 +++ .../lib/icalendar/component/todo.rb | 64 ++ .../lib/icalendar/conversions.rb | 133 ++++ .../icalendar-1.0.2/lib/icalendar/helpers.rb | 109 +++ .../lib/icalendar/parameter.rb | 33 + .../icalendar-1.0.2/lib/icalendar/parser.rb | 375 +++++++++ vendor/gems/icalendar-1.0.2/lib/meta.rb | 32 + .../icalendar-1.0.2/test/calendar_test.rb | 71 ++ .../test/component/event_test.rb | 44 ++ .../test/component/todo_test.rb | 13 + .../icalendar-1.0.2/test/component_test.rb | 66 ++ .../icalendar-1.0.2/test/conversions_test.rb | 97 +++ .../icalendar-1.0.2/test/fixtures/folding.ics | 23 + .../icalendar-1.0.2/test/fixtures/life.ics | 46 ++ .../test/fixtures/simplecal.ics | 119 +++ .../test/fixtures/single_event.ics | 23 + .../gems/icalendar-1.0.2/test/interactive.rb | 17 + .../icalendar-1.0.2/test/parameter_test.rb | 29 + .../gems/icalendar-1.0.2/test/parser_test.rb | 84 ++ .../gems/icalendar-1.0.2/test/read_write.rb | 23 + 44 files changed, 3948 insertions(+) create mode 100644 vendor/gems/icalendar-1.0.2/COPYING create mode 100644 vendor/gems/icalendar-1.0.2/GPL create mode 100644 vendor/gems/icalendar-1.0.2/README create mode 100644 vendor/gems/icalendar-1.0.2/Rakefile create mode 100644 vendor/gems/icalendar-1.0.2/docs/rfcs/itip_notes.txt create mode 100644 vendor/gems/icalendar-1.0.2/docs/rfcs/rfc2425.pdf create mode 100644 vendor/gems/icalendar-1.0.2/docs/rfcs/rfc2426.pdf create mode 100644 vendor/gems/icalendar-1.0.2/docs/rfcs/rfc2445.pdf create mode 100644 vendor/gems/icalendar-1.0.2/docs/rfcs/rfc2446.pdf create mode 100644 vendor/gems/icalendar-1.0.2/docs/rfcs/rfc2447.pdf create mode 100644 vendor/gems/icalendar-1.0.2/docs/rfcs/rfc3283.txt create mode 100644 vendor/gems/icalendar-1.0.2/examples/create_cal.rb create mode 100644 vendor/gems/icalendar-1.0.2/examples/parse_cal.rb create mode 100644 vendor/gems/icalendar-1.0.2/examples/single_event.ics create mode 100644 vendor/gems/icalendar-1.0.2/init.rb create mode 100644 vendor/gems/icalendar-1.0.2/lib/hash_attrs.rb create mode 100644 vendor/gems/icalendar-1.0.2/lib/icalendar.rb create mode 100644 vendor/gems/icalendar-1.0.2/lib/icalendar/base.rb create mode 100644 vendor/gems/icalendar-1.0.2/lib/icalendar/calendar.rb create mode 100644 vendor/gems/icalendar-1.0.2/lib/icalendar/component.rb create mode 100644 vendor/gems/icalendar-1.0.2/lib/icalendar/component/alarm.rb create mode 100644 vendor/gems/icalendar-1.0.2/lib/icalendar/component/event.rb create mode 100644 vendor/gems/icalendar-1.0.2/lib/icalendar/component/freebusy.rb create mode 100644 vendor/gems/icalendar-1.0.2/lib/icalendar/component/journal.rb create mode 100644 vendor/gems/icalendar-1.0.2/lib/icalendar/component/timezone.rb create mode 100644 vendor/gems/icalendar-1.0.2/lib/icalendar/component/todo.rb create mode 100644 vendor/gems/icalendar-1.0.2/lib/icalendar/conversions.rb create mode 100644 vendor/gems/icalendar-1.0.2/lib/icalendar/helpers.rb create mode 100644 vendor/gems/icalendar-1.0.2/lib/icalendar/parameter.rb create mode 100644 vendor/gems/icalendar-1.0.2/lib/icalendar/parser.rb create mode 100644 vendor/gems/icalendar-1.0.2/lib/meta.rb create mode 100644 vendor/gems/icalendar-1.0.2/test/calendar_test.rb create mode 100644 vendor/gems/icalendar-1.0.2/test/component/event_test.rb create mode 100644 vendor/gems/icalendar-1.0.2/test/component/todo_test.rb create mode 100644 vendor/gems/icalendar-1.0.2/test/component_test.rb create mode 100644 vendor/gems/icalendar-1.0.2/test/conversions_test.rb create mode 100644 vendor/gems/icalendar-1.0.2/test/fixtures/folding.ics create mode 100644 vendor/gems/icalendar-1.0.2/test/fixtures/life.ics create mode 100644 vendor/gems/icalendar-1.0.2/test/fixtures/simplecal.ics create mode 100644 vendor/gems/icalendar-1.0.2/test/fixtures/single_event.ics create mode 100644 vendor/gems/icalendar-1.0.2/test/interactive.rb create mode 100644 vendor/gems/icalendar-1.0.2/test/parameter_test.rb create mode 100644 vendor/gems/icalendar-1.0.2/test/parser_test.rb create mode 100644 vendor/gems/icalendar-1.0.2/test/read_write.rb diff --git a/vendor/gems/icalendar-1.0.2/COPYING b/vendor/gems/icalendar-1.0.2/COPYING new file mode 100644 index 0000000..870a5f2 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/COPYING @@ -0,0 +1,56 @@ +Ruby is copyrighted free software by Yukihiro Matsumoto . +You can redistribute it and/or modify it under either the terms of the GPL +(see the file GPL), or the conditions below: + + 1. You may make and give away verbatim copies of the source form of the + software without restriction, provided that you duplicate all of the + original copyright notices and associated disclaimers. + + 2. You may modify your copy of the software in any way, provided that + you do at least ONE of the following: + + a) place your modifications in the Public Domain or otherwise + make them Freely Available, such as by posting said + modifications to Usenet or an equivalent medium, or by allowing + the author to include your modifications in the software. + + b) use the modified software only within your corporation or + organization. + + c) give non-standard binaries non-standard names, with + instructions on where to get the original software distribution. + + d) make other distribution arrangements with the author. + + 3. You may distribute the software in object code or binary form, + provided that you do at least ONE of the following: + + a) distribute the binaries and library files of the software, + together with instructions (in the manual page or equivalent) + on where to get the original distribution. + + b) accompany the distribution with the machine-readable source of + the software. + + c) give non-standard binaries non-standard names, with + instructions on where to get the original software distribution. + + d) make other distribution arrangements with the author. + + 4. You may modify and include the part of the software into any other + software (possibly commercial). But some files in the distribution + are not written by the author, so that they are not under these terms. + + For the list of those files and their copying conditions, see the + file LEGAL. + + 5. The scripts and library files supplied as input to or produced as + output from the software do not automatically fall under the + copyright of the software, but belong to whomever generated them, + and may be sold commercially, and may be aggregated with this + software. + + 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. diff --git a/vendor/gems/icalendar-1.0.2/GPL b/vendor/gems/icalendar-1.0.2/GPL new file mode 100644 index 0000000..5b6e7c6 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/GPL @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) 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 +this service 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 make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. 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. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +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 +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the 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 a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE 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. + + 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 +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 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, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision 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, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This 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 Library General +Public License instead of this License. diff --git a/vendor/gems/icalendar-1.0.2/README b/vendor/gems/icalendar-1.0.2/README new file mode 100644 index 0000000..90091e5 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/README @@ -0,0 +1,141 @@ += iCalendar -- Internet calendaring, Ruby style + +This is a Ruby library for dealing with iCalendar files. Rather than +explaining myself, here is the introduction from RFC-2445, which +defines the format: + +The use of calendaring and scheduling has grown considerably in the +last decade. Enterprise and inter-enterprise business has become +dependent on rapid scheduling of events and actions using this +information technology. However, the longer term growth of calendaring +and scheduling, is currently limited by the lack of Internet standards +for the message content types that are central to these knowledgeware +applications. This memo is intended to progress the level of +interoperability possible between dissimilar calendaring and +scheduling applications. This memo defines a MIME content type for +exchanging electronic calendaring and scheduling information. The +Internet Calendaring and Scheduling Core Object Specification, or +iCalendar, allows for the capture and exchange of information normally +stored within a calendaring and scheduling application; such as a +Personal Information Manager (PIM) or a Group Scheduling product. + +The iCalendar format is suitable as an exchange format between +applications or systems. The format is defined in terms of a MIME +content type. This will enable the object to be exchanged using +several transports, including but not limited to SMTP, HTTP, a file +system, desktop interactive protocols such as the use of a memory- +based clipboard or drag/drop interactions, point-to-point asynchronous +communication, wired-network transport, or some form of unwired +transport such as infrared might also be used. + +Now for some examples: + +## Probably want to start with this + + require 'rubygems' # Unless you install from the tarball or zip. + require 'icalendar' + require 'date' + + include Icalendar # Probably do this in your class to limit namespace overlap + +## Creating calendars and events is easy. + + # Create a calendar with an event (standard method) + cal = Calendar.new + cal.event do + dtstart Date.new(2005, 04, 29) + dtend Date.new(2005, 04, 28) + summary "Meeting with the man." + description "Have a long lunch meeting and decide nothing..." + klass "PRIVATE" + end + + cal.publish + +## Or you can make events like this + event = Event.new + event.start = DateTime.civil(2006, 6, 23, 8, 30) + event.summary = "A great event!" + cal.add_event(event) + + event2 = cal.event # This automatically adds the event to the calendar + event2.start = DateTime.civil(2006, 6, 24, 8, 30) + event2.summary = "Another great event!" + + # Now with support for property parameters + params = {"ALTREP" =>['"http://my.language.net"'], "LANGUAGE" => ["SPANISH"]} + + cal.event do + dtstart Date.new(2005, 04, 29) + dtend Date.new(2005, 04, 28) + summary "This is a summary with params.", params + end + + # We can output the calendar as a string to write to a file, + # network port, database etc. + cal_string = cal.to_ical + puts cal_string + +== Parsing iCalendars: + + # Open a file or pass a string to the parser + cal_file = File.open("single_event.ics") + + # Parser returns an array of calendars because a single file + # can have multiple calendars. + cals = Icalendar.parse(cal_file) + cal = cals.first + + # Now you can access the cal object in just the same way I created it + event = cal.events.first + + puts "start date-time: " + event.dtstart + puts "summary: " + event.summary + +== Finders: + +Often times in web apps and other interactive applications you'll need to +lookup items in a calendar to make changes or get details. Now you can find +everything by the unique id automatically associated with all components. + + cal = Calendar.new + 10.times { cal.event } # Create 10 events with only default data. + some_event = cal.events[5] # Grab it from the array of events + + # Use the uid as the key in your app + key = some_event.uid + + # so later you can find it. + same_event = cal.find_event(key) + +== Examples: + +Check the unit tests for examples of most things you'll want to do, but please +send me example code or let me know what's missing. + +== Download + +The latest release version of this library can be found at + +* http://rubyforge.org/projects/icalendar/ + +Documentation can be found at + +* http://icalendar.rubyforge.org/ + +== Installation + +It's all about rubygems: + +$ sudo gem install icalendar + +== License + +This library is released under the same license as Ruby itself. + +== Support & Contributions + +The iCalendar library homepage is http://icalendar.rubyforge.org/ + +There is an icalendar-devel@rubyforge.org mailing list that can be +used for asking questions, making comments or submitting patches. diff --git a/vendor/gems/icalendar-1.0.2/Rakefile b/vendor/gems/icalendar-1.0.2/Rakefile new file mode 100644 index 0000000..8bdef02 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/Rakefile @@ -0,0 +1,110 @@ +require 'rubygems' +require 'rake' +require 'rake/testtask' +require 'rake/rdoctask' +require 'rake/clean' +require 'rake/contrib/sshpublisher' + +PKG_VERSION = "1.0.2" + +$VERBOSE = nil +TEST_CHANGES_SINCE = Time.now - 600 # Recent tests = changed in last 10 minutes + +desc "Run all the unit tests" +task :default => [ :test, :lines ] + +desc "Run the unit tests in test" +Rake::TestTask.new(:test) { |t| + t.libs << "test" + t.test_files = FileList['test/*_test.rb', 'test/component/*_test.rb'] + t.verbose = true +} + +# rcov code coverage +rcov_path = '/usr/local/bin/rcov' +rcov_test_output = "./test/coverage" +rcov_exclude = "interactive.rb,read_write.rb,fixtures" + +# Add our created paths to the 'rake clobber' list +CLOBBER.include(rcov_test_output) + +desc 'Removes all previous unit test coverage information' +task (:reset_unit_test_coverage) do |t| + rm_rf rcov_unit_test_output + mkdir rcov_unit_test_output +end + +desc 'Run all unit tests with Rcov to measure coverage' +Rake::TestTask.new(:rcov) do |t| + t.libs << "test" + t.pattern = 'test/**/*_test.rb' + t.ruby_opts << rcov_path + t.ruby_opts << "-o #{rcov_test_output}" + t.ruby_opts << "-x #{rcov_exclude}" + t.verbose = true +end + +# Generate the RDoc documentation +Rake::RDocTask.new(:doc) { |rdoc| + rdoc.main = 'README' + rdoc.rdoc_files.include('lib/**/*.rb', 'README') + rdoc.rdoc_files.include('GPL', 'COPYING') + rdoc.rdoc_dir = 'docs/api' + rdoc.title = "iCalendar -- Internet Calendaring for Ruby" + rdoc.options << "--include=examples --line-numbers --inline-source" + rdoc.options << "--accessor=ical_component,ical_property,ical_multi_property" +} + +Gem::manage_gems +require 'rake/gempackagetask' + +spec = Gem::Specification.new do |s| + s.name = "icalendar" + s.version = PKG_VERSION + s.homepage = "http://icalendar.rubyforge.org/" + s.platform = Gem::Platform::RUBY + s.summary = "A ruby implementation of the iCalendar specification (RFC-2445)." + s.description = "Implements the iCalendar specification (RFC-2445) in Ruby. This allows for the generation and parsing of .ics files, which are used by a variety of calendaring applications." + + s.files = FileList["{test,lib,docs,examples}/**/*"].to_a + s.files += ["Rakefile", "README", "COPYING", "GPL" ] + s.require_path = "lib" + s.autorequire = "icalendar" + s.has_rdoc = true + s.extra_rdoc_files = ["README", "COPYING", "GPL"] + s.rdoc_options.concat ['--main', 'README'] + + s.author = "Jeff Rose" + s.email = "rosejn@gmail.com" +end + +Rake::GemPackageTask.new(spec) do |pkg| + pkg.gem_spec = spec + pkg.need_tar = true + pkg.need_zip = true +end + +desc 'Install the gem globally (requires sudo)' +task :install => :package do |t| + `sudo gem install pkg/icalendar-#{PKG_VERSION}.gem` +end + +task :lines do + lines = 0 + codelines = 0 + Dir.foreach("lib/icalendar") { |file_name| + next unless file_name =~ /.*rb/ + + f = File.open("lib/icalendar/" + file_name) + + while line = f.gets + lines += 1 + next if line =~ /^\s*$/ + next if line =~ /^\s*#/ + codelines += 1 + end + } + puts "\n------------------------------\n" + puts "Total Lines: #{lines}" + puts "Lines of Code: #{codelines}" +end diff --git a/vendor/gems/icalendar-1.0.2/docs/rfcs/itip_notes.txt b/vendor/gems/icalendar-1.0.2/docs/rfcs/itip_notes.txt new file mode 100644 index 0000000..492fb39 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/docs/rfcs/itip_notes.txt @@ -0,0 +1,69 @@ +Set of methods used for transactions: + +PUBLISH: +- Publish a calendar entry to one or more users. + +REQUEST: +- Used to schedule a calendar entry with other users. +- Require REPLY messages from others. +- Used by Organizers to update status of entries. + +REPLY: +- Attendees use this to send information back to Organizers who have sent a + REQUEST message. + +ADD: +- Add one or more instances to an existing entry. + +CANCEL: +- Cancel a calendar item. + +REFRESH: +- Attendee's use this to get the latest version of an item. + +COUNTER: +- Used by an attendee to negotiate a change in a calendar entry. + +DECLINE-COUNTER: +- Used by an organizer to decline a COUNTER message. + + +Transports: + +Real-time vs. Store-and-forward? + +Entry Status: +- Only the organizer can set the STATUS property +- Attendee's use the "partstat" parameter of the ATTENDEE property to convey + their personal status. +- Initial value of "partstat" is set to "NEEDS-ACTION" by organizer +- Modifying this state is part of an attendee's REPLY message. + +Sequence Property: +- Used to tell manage different versions of an entry +- Has specific rules so look at these + +Handling messages should be done in this manner: + +1. The primary key for referencing a particular iCalendar component + is the "UID" property value. To reference an instance of a + recurring component, the primary key is composed of the "UID" and + the "RECURRENCE-ID" properties. +2. The secondary key for referencing a component is the "SEQUENCE" + property value. For components where the "UID" is the same, the + component with the highest numeric value for the "SEQUENCE" + property obsoletes all other revisions of the component with + lower values. +3. "Attendees" send "REPLY" messages to the "Organizer". For + replies where the "UID" property value is the same, the value of + the "SEQUENCE" property indicates the revision of the component + to which the "Attendee" is replying. The reply with the highest + numeric value for the "SEQUENCE" property obsoletes all other + replies with lower values. +4. In situations where the "UID" and "SEQUENCE" properties match, + the "DTSTAMP" property is used as the tie-breaker. The component + with the latest "DTSTAMP" overrides all others. Similarly, for + "Attendee" responses where the "UID" property values match and + the "SEQUENCE" property values match, the response with the + latest "DTSTAMP" overrides all others. + diff --git a/vendor/gems/icalendar-1.0.2/docs/rfcs/rfc2425.pdf b/vendor/gems/icalendar-1.0.2/docs/rfcs/rfc2425.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b87c34c7de9d5c70436a525752738daaf8cccd54 GIT binary patch literal 42681 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 literal 0 HcmV?d00001 diff --git a/vendor/gems/icalendar-1.0.2/docs/rfcs/rfc2426.pdf b/vendor/gems/icalendar-1.0.2/docs/rfcs/rfc2426.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c1a75cb9641b39513b49916324a24842d6a5c929 GIT binary patch literal 49499 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 A_y7O^ literal 0 HcmV?d00001 diff --git a/vendor/gems/icalendar-1.0.2/docs/rfcs/rfc2445.pdf b/vendor/gems/icalendar-1.0.2/docs/rfcs/rfc2445.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ede6cb51ea99b0d341c5588c03d069ff3bb8f897 GIT binary patch literal 180943 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∋<3XaL$?XP`?dF&{q$B z?2`;i#u~rew<$P9J442{I{*fQS*w`H|&QO10h^Tr)x4LLAO=Z?409P9k?rn38Mv_hrH=fZOB< z?!iO6E;VgE&8P5i<7;J^pH()PWObJ(&6yv0gX-Mn);jiF*Vztm5|uM>s3>3!dxHi< z6Pd99EH6VQu+^AS=@=E4I1J1|P*~oD(Twwkb3|oQADTy(aRCU7dQvhX_2_Ej%Y%D+ zeSze{7R-^w^eo9h_hu&;sSc|Iu5;yN)k`DSnmXWZSo$}BlIi_^Tr1#1eG*2RL$e}k zIF!KVk7$ZIwaLY7eq7<*))=(zBt#-Z&Rdg|Rx3X67Sll9V8M7xo)z>qg6Ub3{&@YI zG24xv?=V7MfchRcfp@ob>VeA+P+U-G-Ya|WcRlr8o1wa~@pj4NNc(tAVz)Z~kSVOc z(<4@T`rl0t*5BdRzbR9G&FTLc+&|*!ufhE#W&XRj`YY#pi^mUHbg5Zge-N)v=;QMY zk+SvqnWB@d9H=1T#JZe#d73)a+Q7X@1-g zJta8veAPVyT6LN!2YOlw%EHC{Cak)#3mymur@OU7v}`opLZ>K-P#zH2-Ds;@xf~^f zcX4s)1ETuau7AlGp1wTvPOXU!YYtGpB*Vw5eIh`7CIfjBN+g z5&G~MwHm~HOHb&Nicfbvv?JXR9s5dO2e_b3K`4QW$_wBe=ojc6JoB>fM*K+s{Qgyb zbV)H6vJ*b-L5)7N9w&E*Suyn9MqhAr2HmV7=oZKJ{pvT>Bbw$MSqKj}+ytAN*&bdq z?dT>Df@vW#mrG6*lZ9-i!XCBI{=GZ%oJjO*q%vXLI`HVykq=2a3j3TYK&Gfhal#Ym zlVEYV(%~j3_womURV3`MU*N0cU$AkdR3$|+$90|@h~yD)cPnE=CUMHSCWT`z!5Qh( z#w`oKw^*YJ!janJ$R2;IQSJ-=8e@+i#lUt|C8jPMva0gcvhBmPjA9$qEW%r|+Y$iV z`$5}hMKL6`PZbj;q^G*2il!F7gjw#ru;53IQ_3MALeuYw6bLcx(X5mf@trcZq5Nc@um|sIbNmDA9GWWt#YxGZ~CslqcX;_SVD1GD0KIB&6%o0I=MRTnhhhu00)P03)H|euuyk+46uYZ)F#~`%`R-RZ) zGyIWAK#p6H5OUj8kJ`Agm2|zV$X5yvjXigLpJL+q&rPo5U>Y5sS4vxjH13&ErA4Rs zp8JaASqvy0#n{ZPX?y#6IHF)&M=o#VGdu$qK-kw25_ag0riP2-2rsOrliwA-fD6r_ z7W5)u$cxDHwE_K1MkQsBli%RA8e{^)f~yla@K*MF&Y0x}tcKH%pII2q&XV0_C#-IQ zPPNx!7N3ow$L!N$1LB2JAB+YQW*jID)8TOm(1;q$K+(sGW^2YgTgaH!bHgW&p3fS* zXO|cpl3$q~NiS-`+0Bo*B{Bm!q zRKMu%7t z`&Cf;n*(F}qm+K5jqQId%WJ!)^8F{mAKRwjE>{^BofQpDOT-1KrD8XCf8o=UYCxf* zDy;A9sPzz166*uwy2xl{biEj}XG8Cn^Dc2kf5dfIQSx|0`3MspkhYczf z<0jHp6W~P^k5$gC|8Rfl@O=7uBkETiN0QczXxs=$SQ5j=wX6>4=dra68y8|3ZRGb9 z&g#muTo7%#MT_FgPb`NGqt@5wDCnEiRn(pnR9TJ(YGt;zx4sHp zxeVXp#ZzOk$4TStnj`5r&U_CiO-Q{T)RP!|(;^p_Y;fqZWL+=LzpXzUu4ORlytdXG zF7o7sl-%R01YfHW+4yrCZfcu0s`r=nFY?#;kPlsZ(il={S9}*AEJ6Dg`6>!jjby*t zxVD_`V5gDjkWt8K|F{&$NzAG{oD|9K31Huk@w(@}*@AE|w^#e1Il?6aw%ZLNE}^uM zl!3Iq0tTGN!H7TbMi4PXr_^BIYxA80s7Fs66`BEj_KPrwnL0`tiilm~a#FSVl2RDl zlj>({uP!niiQSm(T}ClSh8SANnTHE45LJ zecCcpB4D`rN2^GF*s&FKqpTdG)SSkug-oAnHH^fd&c4PaFrPCfR@+xiFO-&0&K1v+ zH&~=t8sgc;Es;Shwy4G|$=63Y+hr?ZjtErj^pw1nYyGTa%{v&0#0`(zq)>Na;(DUY8@vs9>R4hAM(9&U4?&7273hG4a-W6 zhiJOce*6G>kJF+42QGdM+vOanJY63pcGnF2a8 z-A(^8;u~-6O(sMY4b24aESMqW!7#+snb>-MT3cZ3Fw7)hhYiN}PH~XtIOMVsM1Z#s zp8~`^(wOKQi+*8szdZ}z^Li@F%K9DQZrvLT7|rfRsUg*OA!^}R)tZlnK~u&E&bGCi zP~{sot}1v)mDW}z+>S(fB!@(95$g^73l}?s2m$V(S>P?io_z6(A+rdkO+&~>cKl9d6z>yi)?t2h~kmDl{m>1Sxey9aHpO$lq`W8*omv z4(61AP+RzX4#7az+dtTIlhl<6n8XD>zz~yO{jOroMwD9G`Ocrs42S1j+Euc8Rp-qW z;k|u4GPmuEiGU~bqOMQzEdd3otx-NKp0kG$vs_GmXO8I`bR4ta@-i)TDES&X>i`~! z+KA*oNAtI3XJPxxqpwhzkclhn@9P%^%j@*GfI6`b+S)Y zLL7XMB8h89C?np$>;k$`BGGh@=5I&<*~9-DJ6ySmir2tzg7}P&=62%s{sKh0OCdE@ zxg6(l=Xr-yIA7}`>F~rSYMa}50I(izafEC`c6D(8YUYLFd8g;%c#8^}lpVI;@5je; z<1sFo+~Mv0>g$Ciy>)-jJau=neQAdRaWq z0&hD7KxMYnF+l=(9j^)(1qSNw#SIA#3GoJ%0aOFdbYzE+t^sN}FD#A~$g4M!A2HX{ zFHf-=sCaXLhR8alv0C1{AtG8isZ|k>a;4_Nrk0vPbu4Jk`?Q;;TDP}ySc#s7RDuQ| zvy;=jQT2O)#TILKJw0=n09crldrdGf>Fn1Rr~t_kU*5_gW;+N%Q}rI}a_zj6lCk2U+;q*G#md{? z&7o}5#Ae{!na@qzmW0HFR+JzGEH1hdJkq}BVz?e$Si{t^w1Mm}H_Uu^h0>DHzPyFt z{c4^f0uFKDpN?MyuU?pMuh8jLb$P zXh?Qgc489I9*#uUD{c!}`5C~n%E$F^;5y}XB_9UL^G91Ts6K$j7tmUgJ3?RiF>h0I z83S4ks$)WEtK?@UiAsYQ?i)m2yN1edr}U(H9(9yJ8sr5o{gWlXQv|j@8?c-p<8SPCou(6Y0IKucpPZ$rm3Q+pSlVo&Z_wJS>)Su-@mqF24EHHfm z#9~ZiNaKA68z_NUNSF*hW)#tit2=va$wsD=&MjYHiE~Ub*01@L;46kNtD9=nVXHqv&}>{8fvbzRWJ7}&6d7v2g5<;7RuHI#G#8+nXUO2!pF8lEs){oip9ijc@L)lOHDL^ zit(>xuteR(2WXy_XQNnA}S#l8^5=l5fVNLXRnh9t<7nJl}c;ybPEYF?oW~@c;;kQxZCF zSLRBeO?FQNniRS!n%L|d(8&H+w;h*Y<6^?a{PBqd7Xj}dbN_2}e(lS${&kj??RP@( zug?9ie#qbEp8b!q`D^a~w=#Bu_RkL#Ki{{0Mlo%xQ4Gn(C`|$vEdZjTktD62g(6N9 zOXJfD#`)oiCJ_7cFq32V*uk>n#%<>Nln95}e&xr2<-YP)koMG7?;YkfhW&J%1SG4R zGdY|J<|h_hAkC~9P9&OvUCJXIh}!oF-nO%d%B-JDkp~AaP_G4M**ZFaX<4buZgB-% z)DxaD)=lIa03O|rnFDR0&h5bS58oo2eWt+=3ElBk6bm|DoAkT3QhGxI3Ju-OVy6tn zWKZtV(Dq*-WTp)97FZeL8Bw8!>l_^;`O)Lr5y2sU{R-<&Dk0iBP_=}7I@y+;>~24Iho$DfSx4k-#qh!Vv}B_gc;z%YsI$ z^(O8BD}H^PoFEmYl%}tEK5Q^2Z@8cS8Ed?UZ{evv0GNbOnyp3ns5{W`Y$m+XtUdwL zQ4JCo<)#anb_VhM>^3!GIVf7g@?7bj;yR{Ay}XEeS#OLEFH(P%pV%ieU`aL^wAWq0 z8rltF5F8MF!~jtiQeO~QIAstMp9)&a;&qHv2Twkc;d>s(kds&tio$MmZd_L}Ndl~K zHw8=v{|>Hr-nzAb#)wjq+CzqR^9(=yEw6;9#c0QQqbM4GT7eV7QM{)-#xWTnqJm>5 zcS~>~4o=_491MKUDW($(ADzV)A6{gle3_!t)*`)~i3x2rsoAjxx63}g(h&ru_~tkv_^|D4a?rj~{6uf8q&pJKwlr}2M{fX;i|@ciL48tZ{LvZlWN!}ad+>)zrXaO9z**i7D6t{}^8 z$2g8ACe#j{jq=6A$28k224VBMsf~Ip8Ci3nT#{y|E#Su)GcjS(db=%0fCA=%s*Zsq zTn3@MAmOkJ#{(br>D+M>YD`K=686>402@r4xtT)1=@dDNCO)oC25O9%e!~ybaQrcP z_=y7h`CgwuRoHBe@y{u=xKdRuz9{RV(`n3i%^*KEv+&xcxL}L~cQ+=Kc8>~tn@hIn z24~~htA-w)<}}#LCt*lIF{nbTxMYRkhR?@h7%rm#HQ=T%#w_0m?@XGZq}*0FfM3ri zQOy`Kd4(E8t3gCfdV&>Y!reVSWx-hODp4p+ zY=r3;E}ULER$A=0r!@?%AOgrdxa}UBVfq86#c6x4qWTWQB+Ov~E<%H0!UE|m?TbhMavu|kH#A!xflZ3jQBs%T1=kB9~TJ_E8 zRBHeWH6UqfTe_VJYqYWf;1J$R6AHoaSd4Z2@$>`G9zrO(roYAR#UB2^i=8E9J!vp2 zlIMk`lOn-Xb-tmKoB4W@caYJ`5fZCz#8$P+Lfp~P-k}3HX^$X!aJ75%`hM`GSzY_* z^PCeqHC-q?S8-%4z0qeiwdu7hC^Y$i6@tp2;sB z6f$UM1MlnP*p2J2n@~`lOm0jH19Jhf69K|NCl6dxu^%*ccJWnPCmNyeSVD?-wGMUz-NNdvL$Cd1ltNw`t-; zsxyg9D7l35pP7BPnZ;j*B{H%SRPfueuCkX;AZvl;>%Q`*oo0hJm4MMyjQLu%nCf^w z6+Z4zn9dH(4al#^mLSVeUX_w(>>u<%q_TNA%IHEh;+5og#FZ*gcS34;hj`oO*+F;~ zYr%Emqs^9{8lEcKf&YMrEb3|jFOIcY|9JY%Q=%_#Q^e?m&OW&!?K?Wrsy3$xzcHOR z)@%-QGdWf($`?z0I3_i$#nB|I@~eb-A$_|3&+S-ptw@|FpTHETcGy2e^Gx|oj`ZN5 z!+h1BW!+;q+K?WS>K|s<^zI+tbG5x(L`GQ^wt;&_FM5%I8>kfRz2P>tfCtOb*}Dz* z9+#A#Urk3GcwWV`Pk}q6I;1{8!krt@{t4aRaRog+^Ixx_u>Ve5{!LZ%3$p)*x_`9V zU)24jocwoU~ul%~Z`t#*GbH5k`=kt7SxgnN(Ky$l7=UH4SgV07|8S5e>1@E^C zLBQwSb6g8t!sp#J$4Tx*lc`2MJ+J4*D2~Sr_o|xaon28oVUEjnM@IgIjCB<#8qlll zGiWiV9WUJ8*aFM89V;#D-Xv>VZz831>Ig81DKG(27<5d(dMOWZ-`XfnP(^`Flj^q)fN2heoZKbEjH>W1@5?aN|rz%U1kBb3t z9)is7wB|-21BtLe*FDOirYDHFM1E@JEbY~fo5V)#EAye9ZxUC+@xjUcm`%P)`Z#sp zO{4ebOQ0+T_5lc60#JaAzbz;TeM_c$VA$TV#*sUMiF?OcBu)sCgYLt;1ArUenidKL z!=>B9r7t+b@vDy}73r&75Q#O!fs2waO*B6s(W0Vzoa0&6;k8%^%lc)0+@XP5kR zAP5LmzQw1k;Ez-rL&lA%+1$c*40Dw1{*=T*0iI#c@I8^ws9BbuM5rlZt9b!5Q*Iaz zNgpG5F^}NE3l|9W)y23+akx!=C*=bLhDD@}C+Xpl5exllia1a|?fR^gN$r{ePFLu9 zyo>+_+!Xgv>#q>hvzDyAV(8L5+pf+uUCc<*0LoMm(ua+?LTe(oWFP`|*IgZ@lX1#u3 zKSX{DKO2A}_12#bFUZ!`(ZP->QbAj3$A$l4CsCH8Ea>`E(eDT2C7vd~jB|oBU}C`~ znls_c$fD#fc7tK}b~IOx5k*sBVDIU|;u|;&dx9He+tIbVK<|!ZY_*9BqP{YLM2SK~ zsZ$ZaM?)O=?IkEh(-{NOpFq`&F;oL$2tgNRF_IdQ!Kr~F;v+9Z(@TO}`x1ABaFArN z$`^xMV95Fj!z&Ief@mR?8+!6t3aRo5cIyvF@S}jx8&wZ+MM2O{_P7~{xtwAmDa<(Q z4Ixq~!_$5n{7OTT&rQH#PX=}+&>M~;IOZtqJfNiqKlv3?9s@r}!mf~bm?|P=GaI5* zEjXsszc|-mp*#BwBa53JF04Ku@imDtEZ6CN%Mmy5O_?MspG&`3s~AO~kSVy}NdtnL zyxh(pNv*2df$E{8?R*^o#_=*7a(xMZvs~Y~*X(q0DFa@)G`By&iPdI9M`aO?gCLNd zDID{9m*C!Wjx@fTg{EIuys5{68}}R@2BN{;suRiLJK?zny25bq4WA9tnN^@j7KP+D zNzie7?3*a6`xUb+$@Tu1wi+gA6w&HIU}3i`iI(1mpX>fEdg%cSVgdh2X9`UgDxX|S--{guR^r~A_%`gig0 zD`)XHG4WgD{KmsC$?=~SlK~a2_*ItwIS66Kh<{!uF}t4&7j@M%UeoP2B3bmqzXq7B zmb#jVrLdm2OQp_I6%*rvNeYCKuFlc%e4!P$>-O2!jOUzHn)72hIa+JICY9dtntw8T z8yoauYCQm`FF>dw!%2s1+jC%OFnFPmBU5fM~;Ck&Wk| zG(;sTw@jX8_4TWvxP&(R;(%OG`z)3!wpuHt68^66c}--srf0dCkZPik}huT#VIdGj#8mJa5_VZ zB(CNzD@Gj5oGo87BxK{UhrOBIW}vxLSqz5Ut3d<(A9+!txz2D&kQ-SN)>Wh{Kyt+? zES5d51K8?R&tIQ+lpVfbFK26-B@LWD=CI^U;gIqj?rbn<3W3S$kavy1g07Jb(vHNG zK=4O>+$@xzM;g?}EGpsVD=h+S#7xK&QV~B;J4mLQm1nWygDDk)h|ump9EWJnK(v|) zZ6;c)@nd*iWP6Tyf{`_Gim_D&v6p0+2f`zhg4MKnjke+^UlSErk)v9}BKhp6;gZ*$ z3ER0SnawS|`DXd^3f*ziUXeM@;USv*$~#zX21qCW3wd9JAv9}hJM&yBZ!~Hw?q^M2 z@Ln}!SPwdA|0`4dH{l)N>?odq&KpV0oIYEuw_^<=f8OgM?haeXo?B-YSi8-arl%4hpOHivzF1@kly0d|I9>JOD8sZoYrR>W<6e)`emEMEQ zfNodz3Lb5~@7R5RkZ8>Bure>t)1_b~>a(Y!SN?{6BDG^>#xv;Y=LR81e^&0!{q#N# zS2QMuJPDWMyKJr7vd{H1j(t7XjP41Q@_|EokkU#^OF6$ z3=ZLOLTA%J$sYD+Ipl^7@zm`pCiiJ4#B3VPPvFq{D=pnJwC*rT2|Q94D8SEpY+S2m zYY7A!NftR8MEiA-tkw3n`aMYFn2!QYKL7+ZEcaV$yZxu7JsCrYLce7|7H^phjx1Hb z)8*&^yJWUcZqaL%&;0{B|8z;{>3-M3e%$Z=|3X^*3c~zvcGCZre1EZ%{=dq-Rw_&U zQ4-ztQ4-BX+{jN{TQ{-^E{Ry?YJ}bt=Y=IJLL9ygYfAC%jS1q%6%mXLrvSTwJE!Bb zF=2|=NA_~?;<)g#_5yW%Ua?$6*<#R%-#H1p+|kUMxMK{gGi0D!&gfpNCr8v%6& zBrIOCRIgyU8zis`R%P|cgk&^s*CB;*vxdO6!@JZ1S{H0G_$hshaIEb=X@MUU5^%nA znd3QE&3yDdOTakHcf^{cLB6&)h;@b42_Bjv1^EXh7cbe9ECoVC8iYNocFHm`m-P+< z*?(Ebz;0(CQ)<6<8I_W2R@GNkB=2YE6+@bn)ogZe*9hLAVQ z=vtC{4=Ei?p7H<|l)hDx!Ak1e(u1eV%8I#0#6%jgqA-eR3Fr_Wx>zuFW#9@b&__qM znet|wcB_W=x?KPxfQ0NNI~u{s=yGHIVifku5KX$+DsN{8NVfGo9kl|;8pN2siVMQY3(tXTI9sIkX-dtMP@x=h@WQX}d^6kYMo_u^RTIymD zDt;Q2>RL&BuC-XP!htNNfkSYa-v|qI9y2BpGprVe;~f<~YFJGQhLI##WP&P2>39Tc zn_Y#jUIH>Q$%+dc15$tn&E<)a9RSwCPOv}XxbRi3t1$%Kj?8<5@XOpsPjpq4k4a8I zkHSUi16)Tv5B&c{!mok)_2K*X!Rrq?{Qp3NU-SRBWsCl|%KJ@(Uz+Pbsi{QewYZPB z$X-8U){Q9w_^TJo zWb>G}p4{hHyoXKUS#vjMdjr#Z8dtKuX}kbwG+$5SbX@edd*iBl?rp*CG;R4n zsp$Ac9!5ebv<|rjLb~Jfbi7A;Svlo8xPVc0xaseOJ}g-tX9m0ItUZj__vi-JD3pBs z8y36cfdbaIF$wj711%IWBBNkyiJ!JVq1`I9|-z|@``C`-Wf}5rjq`X3wY>j|z zAPtBeLqoTYuNsdTIs15+zl3tSV z#VM1-7lC00_v8sc^Q-TozJUYA3IuT{&;dXxUQ*Z*j0C8J6t*Le7E27BC)G9n9rk7W z^q}!1e7Xyj%OX}2DEN#mf?3ST*o2iULV>vXFn@6zh7{2_Eu$I&VT1Ztmh}QPX%k&& zrI37K-_h|xxV=PRrIdfoZdm%O)9ycnx+?^+Ws000NL{#n{d zL86bOu-v)mRi%s@b*3b{9xFP7h3(_g54QVl=Cv=QJ`_vJc=QB<&{~_{V=zn~*SJ>- zWamWOc`IU^snNk=C^B<99Stf~Fo(WbST9H+$P}l5a&c=iqE>1(&f0^x4w*7jl@$@b{&}pjWiGuXQLBYX4N%(G z?4n0o?i(E3x#p}SfD(tNh@Z%nMwO#ppc%h|Enj;6`I>(( zRq$~g`wt80Z))hbO8d>eUz+JZv9I#u9`)MCg|9=E(_5ipw*Hvh>2wRIOG!&GwR1jB zZg3HZqBrn5po1-!1GXL=2s(v>?a&VQRj(K4rTko2!n^V;JqA}SE|57i;N?@k zOz|7P;@s)$LhyVy()9RKtmcS23b0VN6ik=>@i7cOp zJQ10Tq?Vj9@!e;#Z9MnO>f|m5ID~gTP&>=`u`mbW3F7Y}kzeucng4NSE%5W_S#T_Rz3C4`W8#`mHzS=>4ke?X2xtcEEXU zs{C3$OZ!If9;LHp{r6jNhEmma_!cS!H9n?bQk-gWHR^(GkVO!2@-x13?R-Joh&9xs zk`sk(Hqgq}PN}j`_rbXz6j8yM1}X8*JZr>x_J%1cFxhSF3@~44V%c|_+0~Yon}`s# zlZ1VR0kC$#jp8PFyNA-IJ5IX$FF!6TuliQy9yredl zNj+<&_A`e#&Vn?ju*j%8)ZkYIU>0AO_pVY&)`inI>cEZdfQndGMSsPd#baek=`eB> zTdgz#i%u~vV$U+tSw=Z)hvu$lowgo9GS9O zm2AhtGQC-w!IPHHSqI8NaPZvN0p1Sr+6_0NN>YLY|$iB<|l|I#@7^_fKJfHCL!XU zgtzA^!}PCbF%8MRzMm}~&ek>_0z5W&Zcm$kM&3+LP0Ad#n=Hs=^tIRAnBTARfX_)I ztOhr8yE0-4q-2j*(df}(bp?s=a&>fBai z&_J@I2Rt*r)Q=n$VHcM;ZDKovHQd;D#fXD2&R-$MI}Hx_VYI>(UlfCh1t8KObTEwg zV@=4D#MD<}@2VTB|CDe|qFj4EZ-N`d^IOPOOZtD})!Rl%g!NO>Z=*VF3$6Oe|j{SObPnljPQQK%F!Kg~Wr$eB-6>UQb@ z>Q2~e!5TxQFr@}bQfT$*?I`75TEh*n$Je+UHq8Sd{y=C#lqcS{-XVpet)rn2t&Eobd5qOG8*2@l2HKp&(}M$bd^_%I%C;VF<-l%|WQH>= zX0K@BZDR!kxiVjy*ymxAW~frFF&vu*f)rTiuNYz4XoosK^H$mc(nqX0twN0)7wFx8 z1F{TR#Aqa1LWk5?(W9`2E2Y3c5?EtNcyscHiwrZmIG?~*VrcHPk=9j1OfjSDZeK2*XJ*m zzm6T#)Bow*{Hy*p{jW&P|3(VKZ?*IrDZjMKe^MohDpEEd^`ak7nxGxc0NKhi(bqQm zaAsA_&_wt8lhDXmxaoF>jVa?H$=RKJyn^S0jl5hno^(|aw>sQxj74RBl1rWz|BQ0Z zZ=S)F+~_=}TN(J?+2n2N2M%vnwL2ML8AoHctD&kL(&24O8W#u0@jQxZF0ag^um{L zRe@@TvzP>-R5?X|G0BX8=(iMfVevtMi!?ggWbaT%FRNJVpQ%1)Tipz<+F<4I`e7VH zz^oujpw=rRh>$qy-S(kioJ0_8;6POLWy;ZLbf!o%!x0FW5XV}1EE=&*H@UZJ)D|-K zz{3T3l1#2H3ww?HXHT|UD46fY%G0Ot7DSO6L+$F;2oyQ&(QL7=f@0CQp>pcgQ(|@T9FVijJqY2kpX*<3-Lr;B%5*w+@rNo(^ z#@MoF0z%;UYQ%TT;T}-z*|kP6312qoQskynQs&q;@X(1!lgZuJiN^^&T~o77ZkVv& z0pxb7@XfFBrm@$o>i#vW_Eg(4Jr4iDOY$PL~##yl}^5?1%n19v11 zXfMO~-Oj|+VwSE3b``W>@^JC1(dF%>$HY~lu+QCHLg75hv1H-mNXv}T17_P0Q$8CL z{5{o3EE!vJr`sj`PkT&IhuwE!XHdYyyqO@SLx;K&h#!cBu^Q%M7Nh>{%b!tf&Njta z(%rkUJgi(Rly8_8&6oU6=Muy=S7J3A>xkGRPEaa;OgmRVvaFNUJUi8Trz|O{NY=mA z)x!l=F&|&`ihY@1vsT5C;yn%{@1POFAy8}3T1(yhF^}#Jgspt~Tmg-xVv=@ne4%mdC-@z%RT$mTQqCMvqvVqcu+a!me2b zG}S0oZ2AsWDliFnI~{P!IXQ8>x9(Mo8RMB-*Z!&w*@~t-8PBM=wl?R$uSalwqY=Pu z)XIMU-n28=D!t3OUOB|aOK!6cm6*OiP5#mq$L90sM^-GQYD}E)decp-Ot6w)^zBnR zJzl5Dl;A?+XiDG?sDM?l?bO{_s1>|%JTH|geDBSX+b!*K-r2=J(C|;o=i^KJU+tds z48Jov|KgJN3x0oF(ina#zu!3grNjO+4*zVSfp<4UwVh|X`lD@G>Z5IWWu40Aqi&fm z+#tPDh@xPB{v-aKE2<+zY!x329OwFdJT;YZR*gg7 z+g(4SU0@rM_%=}DPl$t+iIgCI3l_Q~OQ-k8EPCv;mn^JQOGbq#C20^asM)be)J-_n zOxLy&R#~kG@|9R&EcV1Gw5r#1o!K%bYQ5qmOBe>G4`2OEoY`g6nqIzzr#K8y$?InD zomYJ$-m$c|P}Usr=_Zn-^-vSh#Sdl4^DSH66;^U6rRozMAsQ=URhcvErO2nGyGyd? z*gvM9n&LKI%$-GUq;i7^p~6cB9B|h*m{t7*EZ@fS$pDH^T(_Nz()u_?p;9LBi?v_w zuA?R`WNYsyX(1Pj@CCksY@^Q2G33O-Bg6~&?VJK3IMyUNij*t_NO8taIzaU)&_2Y%77Pg{ySgFO^-vhurV zpn5{Z-iB}}F}uZ#HpQ0Zq$#0;wMwQT?_`xu?|&8TG+mQBt?w)m@IZ2AJl%(6e)^$z ze|LU(s^_hWEzzL_OXCR4nqRVf!A*i1_W-oa;%i!;*f;=G6WbPwHG;xvgrrE7oapHB zwJkqk)XLx4PnM2hzNx;zoDdYIEymtQ8p9KM?)2;%T``eq30h&F653TuK+hh~)=G8r z%?V|PuARNm5Ve;tL6nu{R-Y)NO$0vO7BOr9JbtxHJqBVF=c8Y%X(#1=2w3Qljz%w; zwtU}}DY>fOD*4asds&uq2(e@iPoJhn8bOwLgv&-!K79IroV%w-#(eH3Xeziz1fs;|1jq@ z^{8T+tgZ<(sH3&YeN)NY<0+gtS^dOnT#T>9s3(?aRRdC~#Ue~}F$S~QIGLcu9|$)? zcKoLPgj8H_88=}fcA_SD%Wizb98#21&*jo7^!?j+Ouo%!=M)+aafn@=t@9`rQ8=qv zAZoCEP;GCNo7E@Qx_yT3aq2)ko%_wt-+1@hqR|k4PMEa?#b&Z|K!Hcx<3GTNLcBiI zZSPYaONtS|`fm&%a1(g7hs38+vFKhx88RDwh3^n`!6j{JA_ue{8^8Qn-F1`1?s9mEiYh`vDtfN=4q7=fy9GABJAVXce2kCWoPm1=2^Rq?fxs=k9I^zZYR}WL zY)Sn?tBR+zAHUX6ITLumBaVN3gLoVCjwqt@e#cRD48$!27p_A>=&u|8dRQ~z^L@Yp zHfTa2Rzy=k7Sc?!k8q3l2?Hl!7@uaJF&V*HAv&*!X(DYlXP*X-hjCl4`ZH8&MSMoF zuBteGAv`E@?Iy$^>v#4n06nX6DHPO|qG91Gl5U)M#7v26t-NV#e+#{he3kA#S+ADOO0vN=Iro?VkF>^A><3-0kN5(Cj+(g&?C$Z2Ibl4>y983Ni z1%mONSR-P?LA<{a-`cVfuQVxg&~o752&)!eFZ0S<&T=Pp2(mS}QZF{aJMmDxSOBq~ zxtnQ3th>(>zaivnOmLMv617FB^eT{Xo_=NGKb%>^mTAsAm7k>Evf*&eIo<6T@S|D* zX(1k*>Awr$hXCE}7&(C7Dmo8q-Mn_nNP_TMVQW_7wZM-|eZUxe0Cb$-Z3cTUHZv`Uesw^mqo`@dCwIPVO_k;jNUhb=;=nr-nh!eib_U%y?fTH)zw}_LUbbCjPI6EG(SVP6d z{{(U7`Pp;;USq)XGw}jAyo?6-BHosAa}Gh*Iz;EYqgN@MeP(kbvL=KVV|RfR={tT| zpVq;0rszWb3lsTdUzy!A54zTqSQ`@Jo|=w-H_?rwz2A$fU;?M!_N%+wXK;`C% zlkKU%5am|7VgP9jHznYY_V+iuEifeX31hxEC`L>xt|^EMooys|a1d2lSUBiM{IN3O zIkQevq)jG+gm8|Q>U_LgAXXyg_x&kI2PY#s7sG?rt)Go+2Y{C>2=tJUBglIgv(&P0 z&=3o!^2O{xBTbSN(|Je_`+_|cKdIR)DxNshAGN=7Ebb>pB`F^cLUf{T74SP8ZZe}k z<7Epjy*7lNzu+0=thn-I`PXZ*d_nkf4;{qD6Oi$vQxxwYW%@GeQNjnDega*lBtUf^ zgv6AhXgf#M4+SudXnGQZymq!V20AsNh|73XpS?z>be4Q;XG@M?(2BU6+LX|^UVuIj z86^JsbC#(yo#H_TN*H9zbPWoa^=^7<6Y$7xgQ(m&rqlRNB|s9_kXcC8>%;`&G*qY< zr(5kzZ&t+Vho%J+f&{ys|&Mq=~jrwMDdO=%dDyLW7 z(>P5``tz`<;2<6WgC3(UR6ig>8MM|y&2(WY3|As~H0e>+ zN&aM7RqtHy?N}Ml;hQd z1);q`w|9WrX_4-Oo=C^(~>onzu z3TyXGcVqnsyv&;Fq%1kMAy)8`7!#0f!z&4w9GyM07l!g-;2 zc@37eaSiz8kMedwpZlO`US6=Yj3XsdJQm`3pr7#e{fpf*reGN{(-7@TXGl#1hl*y#c(p{+SQ3~A*OcP z&Kk^*Q3P!9{2G8Vhl~~0Rpi$G3q170vIn--W zo2nO4-^>EmFJdMp9xIt-;30=GT^b(6`OGQ^{NZO~xGb)y_w%sEXFoNbsY^Hsw>+z< zukW>`7QM^(sC-96L{oN)#SO6_yY>TDn)Z@MXK>t4bS%XUww#PC#``TYSfs2_4QDhj zrj4&quuoRzOz4vV@U!zTi;(Igop{jUHvJ6@kc!SgXPCh(+70;!7dT{c?7JFs-uj#I zjLDNBC~e8=IH{DvReFo|Lz6xYNPcZJ3Qvu2OJg9mhhR`4sIm+%W_82}K^`{Ak==dq70QsdZS=KsQi1WDzYbk^Sl%pi>`N{!samEj z8>CabtDoQZyXrE{NXgdTR9*W_54 z4(+(!a>XD5%QuxSaJBbKcmJ=BVf@oJ`d_U>^o)NxU;nC(Vf+=Z`rnp6<8OWS8z{fj z&VO2=e(4xGc+U?VbD1Cs<(p8XBU4pLlm)>OE1cf+5oj0wIAYU}I&yj8!2k-~6iub@a^Zp3QaIDDXh~e5xNsS7 za`5ETnBW8H&o|^-0ls8J4{`D<%UOp^8Y;#{qLfb4x(y=b$`yQk`JrxB5x1V`qNZk|= z{Q}eT(1NE<2(pG_dFJ@Tax-Q?(E@S&^{q9hX8?j5G?FxYD7WX94vis8DqL zGi68YSma58Il0Lsv>n6>3)WU$}x}unjMb z4Sdk63FI0)mu4{Nlj5o-$>4yKGoS>u7S_MrCPbd zVN~l7rnZS-C=(&?09J2G@(d#fBg8h&!9t}lS7}~2;d{9oxt+@htl_V*m(-rNtu5=V zEG065*_bmm4GbsBXdznCr*JJQL=0BN4=uvYO<;I@E@n(>Wl_na_UuGbVe}Z%q%%L6nOxZUHfv1+>P^D^vjlm ztKJ45q8TV#v%n{9qd|=L*u`>!3A?TM*ozdiR_j&`&zv@g_;%HAF1xHtxEKgyPBy2T zSL~1ktS;kmTPBRa^oXn5-jXMeJLI>#$Pxtn%8J`&1nzK36XGc0t{vQbRr!T@z_uFM>{L|X`cM0?>_yPW_iGy2awkGdO169Za;qjoo4kpa7l62=B%cxF)6O53!G}W>A_6}!f=9|1MocUv+2X1 zzRi3$f`;qc0k`%B&ZMd4QQf!U+OUQ2|HH%)_~!CF?d1vF=4F!gY}j$_Rfisb?x+v@ z9FtEzt^yFqB@u;35W}@AA9f1j7!|ypQqa0jysB#}&@M)!kYZ9APx&E|@?QuhVtvZbnJ!ZRjK7Mxy)A0r}o>oB%UzO^41@Y7YnN^*N9EIc2w+YS| zoYa#&5g}huufXGgcfc_zr&$z_r6FCMhI`nmi)feh%4*0~^6 zkhiD)+H1gj!8ISEbt@IpN^eYwY(P4k%U|?+X=2IV2wGAouBN)reaTL7s0yadEl&W3 z0;46}ElCjzQmN#oFdd2q)}(v2dH+;s9hZ8jx6_nl@3f>gcB`WhBf?|oX5-w?iq zs**vkq;jBYjGEt2S^Xqtpwyte2?-=XAhV2GfHsJ2%o_~b!3W9(|OE)av5*ZSO+T&EC@YPaWr!9Ka8%s_=ufk#J4en#k zW$gdu*)JUYv7)iF{ncDT&-kZZ^sn;l7rp+rqA~qedcS%0OLzT8MU^P$kVgkUwDp9{ z>2*ATjap%_CIVT`KnNVay}Y>&G+^4QP-E&bXX69Vz|Fi*!(&MDcAxFz96xZptgH0x zHKQsLZ4czs{fw^AqUCT9PK-dFe#(WVi*F{2e@;wbmPv zc=@BsQRh*n5Afz0#eIR5N`V{CC*<(6Jy9Ay z9)itKnf6q_6gyW$TYfvf*hrcvg5nI<{o8>1k8g%-83srA=J3&s=fJVj#P>2>=hQ4X z!q1v~a>ip+GRi3J(HG8eSI8SF^3YmLn8Xs-iK5s#`{gdfsIp;!WMfo1y;Wa{f~mI7 z5!F7Cp~hsmnPV#!R7XmtRS5COh>ODAoqby24!?G3LWwzh)2YAz9M^`E{;Zt=HZ>j+ z2Tty@45p?tg@`}4(~|!!ppxJ zxOUkAm7-2PCC-GjZymXn;7&X)as+HQ1zMGmlcrpYgo0ddDu*HCysSXGPe9*Bq5$#F zznvm-I10QYm~j$R$5W1(j@o}QNH9^rn@?^&*qbd?JQ7n^1dl2gPtP!o5sSE9uS?-F zrUoahbsT5H%-q-UtuZHDp>!PX5#&Uit8I&zu*g_oC*HXtWcRLBFgcz6G|%wD5-~>z zfp?{CZ7En@a1@b(3zw{9Vw>|n{_2`1pwV5IDZpJ9c>C_UZAH(Bf%3VF{X zfePf-+FLPiSWjOvf>#zYCFCFG=}#Adh3>D8WqPLH;h%re^7u79f1jt{y5;vg{ZbMC zX`T{4a*pXAQRx?zQ(N)kPyVBiM}paB*0{W%H*hAEJ`Hwm~gP&(auA0U{(k?wP5rd{9$=qe@n4t z!O`j7B+b1yJPgv{y0ILUnCA6taToD{{bFnH4a>yCfg2T^tm~dD5vp^Mky(l@nePCr z-dW5)c+e4oKjQ0qpXi=c%-=7cHB=E$GK?xb=>QS>wQ!qWQs?Udb6(X_NE$vdiER}> zeV^C14!v(`9%B#9m1EcmNaB_8Kxzvf`RmW(|F6C+s5piu*l|!7% zHNxW>YsAzpu$%!@VUPO4%W}oR*@Zv83oUi*zQd_09mluF06Q}B5mRsXh(?TuWXN0LRK(f5!fJj@bHv!ir-5~x+dlXHzCQdIA{B?Ym z7;W@$9u6XhoGtwO24QYO3o3p!diFesTmrqmF2kgDzZ@_Xs0O^I*!rwvu+j8wqw=*; z&%?ymjCynU7(yhEsvx!4q5&J?+aeKWjygjznt>tE#@3`K$GWJ%Pb5h?aPj9O2$;yp0Hzpc<{35KKx_n1LxRlQM>111* z&mJDNwOKaDn>NOSx5JC@ds;(~MKt;mfcvg%((8aWwgjQHSI2+|e;m&ZB5w~)wC|qq z5^~SdKC7fk(Z^J*Jjpg?%45mLF zk$?B6`d4)4Z>z^|3Go+NnE$H?^+$#KZ?uqttc9+TbjrzUOzGP48KybA%hsGu1BwS` zM7*4|10n^(701Fw6gJy5+VJY?OX=nLyqLsAzeT)tH>_IVh{0wbnPPP2~dJ#U6|gWy8@tX z=`?Uh>?SwmpY(NvR!HydKweeJFt}dDfk4D)3$ARY4O8(93`&r43Av5)9>R{W277~K zuhpjO8FY-UyF%Dt=!+CrbPM+w+wCfe$o1uf5RE0j``os)My98ghjYtO%SFO0b0+QZ zLpSd5i!PvQtv`x_XT@yBQm3juVHbycg@Dx)+MVT!XSp%>W?wOo3pZ!^xplNyAYR#$YNJsQLxb6r-8iwurrjlR|b9>uZqFv?sKU35Q~nET({V&GOtk zm0?cTBnl``O7xWxx_`&IX{BJUkVw0!GsLWVZ5D<8Ifkt0B#Z6nR0`APIOVDCl_*y} z=n^h*WwqGIm?YUi{`IY$<`8gr2bOmS6cR_$3K2Bl9mwG zPysE@i%e}6vcaN_C2Iojpsi*5knY%tUU1Jq-hJE@e$&iwX*jvzw)^-lQ_Y*GOe&Yg zZ5vvV-rRi!GsSQcO454)M#XvxMxl1yPFbzZo76^XoXpEio@>k8hVcqSfo|IUf4TB& zEdM7*{d)yq`qSt5ce(NhMgAsPn14&D-(2~xa@3K^Yxb*jf4ppUeol}cqsDI*848)l zwnS1h7UlGkjQ}_I!f%R$etNF*llm0?)$KCE)6seAdh?&v~Z|D7h1-WiFx#1!l1-epw6W*#R|Sv@>Kj!!JfAXL|u`1Xwf0krs|@&iVY zSo&&Y!^W4rdnR)8?7_jb#5kOQhq*CQ8T??xB?Ue)B4a)D{|(`m!>?Nbh6957 zfKoJe(}fmomt7VeU%MD>l`EHnZ>-`6F|373B01V0{0vrDRz z*9wYQ-@x{WdCqHAR*<@|oIyJU1(uq@2ToYCuc0CZ7$03i@6Tkhh%DkW|#)Vf~}u-=6{ z+!oG)%ZA!qr4h5nni=vpwvF26DB3p+qaeN9N@si{bcCYbL2$nL zcOUfZEw=RooRf5f`KnFk`;gfD#JLgyILzctOQ379SZ96%3XQ_U{D;Z@b6;j<{Og)5 zJ@fB)#lN_W{F>vxPxfym^Lw&?>5Bifj8uM1_8JSk*OJQV(Malim?@`OTq+kGGE#lM z23bkG1}+|A-F6%>%vbS+t09-3@V<0Q(ut3E#r?adD+4RUgM?6n-^sW5xmrH2e@*l$ z*XD<|8QD&K@Abr6uh%g7==N)S?8ihb5FHN2eDYLLYp0P z(t|Gjp&J57TOMzv#yD_snu>`_j1qI2=?vUSdpRMSKOq$Xj(j}hv*!v<+i>Rd0hps9 zqgt{l-aNkMoGX;YAkz$&Bw+$fGIc}mQLlxUA2FbCbNo~`O-vJa3Se~zs1L=o&RE*I zJA!hA4RjBul12P~5u65GiNO@Mi#m{#WYtV8WQu>8()Ns`hRF+(q>oX0R_5pFn;C};(ZXj; zO7y54p5TMknpt)k*`hw)ch!p5R&HzoKEk8`MFG5BWT+(5Wj!6DJgF=SVnAtT=NLms zEfh@OVqZ#GE@>%Feu}U(RO0W_fz&KZRMS>Mo%tC0?q6a0x*!pjLvEtvqIfi_!4X#( zf!H*MDbp@}Qn5CvoA?jIXMId9EXQN$11E`W7Ldhs6C`ISja_Zzu$J4Il+=VAcA3o3 zVn<d182bqb35DhNAAot+>N z?&rif9jpyvqk74%`I8c?WQ9xW6)>#{X`a=5k|K67@-HM`$b&P}F3nO5--8nJQ;N80 z^&4MHXd(#fXH{5H3_~V8>^YTHmCZ7}YeQHq1%9+td+J3jG%m6LdT6kizB$9O=$_ED zZ%t`%U!vG*ePe0lF}JK-Eop7MAq@;|xA(LW>lo;Oi1r`NAyq?;Y-=A5TdrSq>OOY4 z8u6lmdhg_Z;AwxeOKw~e-!iuVv=p#BtozPzZv11p-|O2Yw~Nvf`iy#E-Z}7BY(1eI zGoCQnxYhA+?ns8BwiE@A#xey;x_0mImGR7Yk;e)8*ft#*oUZUxNt}LrUg_zJx3m`A z*SlK)T*=ssNmQhZOcfz+#3`G=lfG*$ld~6^NneHPASFmOA~vu`RItY+vD7WS>l3~^ zhjB2MP&4a_oslpR*PR}Z!v&je+m4x|mu#Cr4_ll7$dH1bt!V?DB;$FW<~N2M8ecen zIRE!g@tPyw|A9t-x()2VZ(Gwd|LK?ft2%@ESI*;q?=Q^1_0Mk_{Zb?UiAIsiBldsP z)1OebIffRKsGqToMUwoWSJ>5ubR0-c1CsPZHfvx}?fIz3= zF=_R3k{!bnG2zlSsRJOt=(cZmh zibv!qz}8b|=g9MuF2nDD?JNT6^oi&EA=l8IoN*fvtQK(Dr(^azD!c91h+{WXKzdM=N%3?9i@+>OW6|-5d%?yW zzdf$oU@LCzE?*)Xadq-meR1ACBK3TwVz8=*X;;J`|$J6rvh&!j~zSr&RH;rwZjm^fkZQFL5MvZOT zwr$%^W83MQ-FNiloblgdoO8FYJ4UavKEFBVcdqsHHs2TWUy$79u((1Kky!I~KhRKI zw6|QEitOW?4QV9`b%SDvQ>pn{=`1c5)F{cNQL{)AT<^KxkuE@V3|MK5w6nFcIw{9K zRz#(ZxnA}nwR?x$cV3hg^x43s?bzts8zI99&V1V%d}7ar1i{V!g(jEKX?b3M&u!5_ zbNV;r_!B0uGJH4`ray7WKTD3^g^qtG2lI!%`WHEv|F`<8;)>n&|G&NCGCU6h#J3mi zdaXmZOJ;$HFF#~;>Z=Etjjm2oJw$nZyHX9^g_?*g*i^qWxRym0`UHnoXSsCVfF*KrsYjz#DOs7?%?zj7z5o;<+66N`^yYA95vDLh;We)j_-_ebmTa%(z6p|fQuNiuAMOg42t z0{6GSCIo$=n&&f)EGQcur-C85Ky}JSxuWf?sq7?gEhnp(ja0O3>4}*OMYtkX;nMP^ z-MHI=5>GOr_ux+DVM8A)uQUdDwJU)Q8qAmh3#Q2Gc-jL+5-x_tkMIv}?1v;=%9h*F z0BMmBz?RCYf)Dti;ZG3mN-YmeK4z#AN*> zMyEbiQNZ~#UrXD%F}lO=3^i3UADuZxpQa~mKCy5}iN6C7KT008mpfxdW%hn-QzULz zNJ`0|MFbRlBL%$VX9$>M-dqKNe-$kXTR4U?=9H)lWvi-b7N^b0+X|DG#$u(^$P4RE>3Il29C{y&7_Y-8H%I;$Wp=>&={f=6tZjzajdBL zmF611FyLDyLYU5|}i z7CO%npy7ASfoiB>{^n=xctie0X3axgbZz)1Z^WQFJWiv}xP~-}X>?NNyOf|vc8((n zsXKO{=?EH*`}MwDZYQ17Hx~fMFjHKEsvjG%k9R}*nY*=eS|n-<&{w$Pk*0|uK!6*% zkyKNkP)6uOcr2CqR%Y@{=T%4cxCIL*X_XJGgH6SP8Oo`vS;yBMNHH{BvSrv3ipbls z6Pb_o9#~7NJ~4#mORWN2ZaM%sSfp!%I>6|{raR6~?i{HC!#(AHzf8M>m6~T`<9N*S zz)%@)nGtV?H)PR=<C;csQeLReUYOpC@a`U7R_peIPS7jA*zCqh3XTGM@@sd>RB8)<7nAIB@DXtQ+g`_*Oay z!_gR+A(P=w?OOq|<|F-jAl5IMwpH&=qDz-WnI{#%#Gb-W@z)m{)GTl5m#6?85^qzv zeqH+KRrk0aI$nu?L!Up<1sm@BFb^Yc|k?>Eo-1LP>d@&@&huCaS_@n;`aDFC1yqQ96%g9y5pDV z?sAM`GP4Fgbzq*~=I5kdghcH>OoF6k{=ZSo9N0 zxF@WypXy_buwNU|vwN^8mk_?Tu7GxzemJ)+eC`#N&Bi_r4rX`k6C%_&;#PM^FKgo> z?L1}=&>-B2Fm}SX$Soq>^iMIZ;9-CB5+krpE5PcqTd< zKbCkLV^gl4It0UVxzv?d_e%2y?>r{{VbXx zW3A&%MlGahDYrLXS6eMi=3-`!#IyNXNJEEcDyd4bW8n)AtVDmlz}l==-`XixCaF z-x%6WMIrGB-v7J(ZBYz)pQmr;H7L@CdCb^HIUuEBVY|*hBKnUGl+u>mA3|Fh%;fK# zarkj@u1ui9_!}8JG#e(kl~ZfHPIb8z&sG@L&~D6~4~gs(fVfJIr8I{$T1jQIOV~-a zpgDzJla2^`m`|dGpI0Dd&}?($x&+1m95v^nLD5DFU$HV&8=lV|I5d0q(TZl*NTl|! zV7jW^Sn|*0N{!MIr?M(Ti#BprTTdV5k&Y})T);@7GrjzVv{KOl;If|cLoaK@e}D}P zbU4VwbXuM<-=mVq8yEZy8UDlwtp84iKS9VpONQS?kAHVAEFXI5Uu0nUpX#E!%97G6 zJb%?eM(GM?dw&8J_5uX12$>;>K*_D#R4&F;merWgn-k@}xXg#|L>S=LS|Mgx!BiQY zT(+`U8xJ_n__)1@|5{73wO;j&Ta5p91~rboqq7(eJ>ILbYSv|o9iA*{V^p^_0Lf~> zymE1pEp;zr}urdg@6A-Jk1OsE-E#;NK}z zLr3Ajt~b9w!1JA-P^{{mi0Z4wGaHF4%?jH*Qf@*eF^Z3W()^lrNih-;r=K1_-!g+b ze?30O0Xr6>N1ik2NC$P#8ywgqKz>r#>2_oWgFSHOj0eZTgO4i@!mOX5AWPzk0A%Ib z%RzuMHk*XdDAeUtNs(n*2?-S`qDa?h3-bQDBo<6X$6_Zi6uWVFT1+LtGxw}q^h&Xw zQz@}y-WG$N=p6DLa0puldKfw~W@QT(v`?Y{IKFa(1ZfU}ym3(fXLwA#YEn}ukI%9G z(X??6XD8;Vmzd1G9=c=SAMh7~yfB%}5^wd$HS{?~z0euH|PN)E_!EbtEaMUaO&40Y3=S!%$iPV@UYXi6A zGcGxBn{6}a^Gc?5#QiW&y?mY$U4mg;^pMn;&}D7|$4F*QDCp2h!hwSZ8XlObXKX0CPWRFRzh= z%(|7#uJ~+#Y`-1K{qhpc2P?aaU@biDjI%Z507#KI{hQG8_uv0t#)5_J<8B@EpFH9p z9pK;N`X4{-EFY5NV}Spse&m|+zfND;WY5fwp#sBj%7D#afmv?X&m7)lE~W_Ji3>&d zOl}Q08xDk*fw*NN=9B*DRXaRvTbnDN0dJnP&A4@rt+i5PnH<|6t|0vmt9yLVav4nP;XQun{dpEH zmNm+H52|T3qvEn26vb=+1-e3iMbD6f16zPX2~u4f;1GgCJd;s_x(;)|{Q+iDu5aQX z9JN$?4-~}+BCTXFe1?4};KX#V#|B!(1~)wp^ApE20I&_ep$`i>1|%ufmmjKmJhW|{ zo#+E%*}}F794$D~wI@Y+pC@per9r76$jWHbX*@>{&)x@>VZIjJj3lR{JGfwS~T-u~Qr znS4^V)+HEzj749g4#W2p=YW_=;z^r>l3(BI?vE6NqJP>ba{~=0n$r3+_#_myX&2Bd z>0}f4CuQzw8F3&&2!tx`l>GJdr_Nu#tRNf80g4 z)IOsJkI4afD?X~fI8lXYs{PT9eXx8j(JDe{aD5)I;kCIA1FpQ$;|3TX*<=tYZ<90o z_e>+@1GOPxM{%XKfED5b)0SL9s4x3XiRifW(<%=!JWE27wmg^!0>?P6hm5rGkN^lp z{s>FxPu>{&iO(U^I~s>(#wp1#Cuu6;)IzJiervp;@VnG|IC$w_@4AM^xLWMT^p`VY zpmc^2$=%gf>+Eye#M^YDfAOVdT>aQ4jtRL(%ezje`Y9{R*{Ze{6ruvgyB&_kX1U z%byg0mHA_ngyo~&@DD~7zd7=sWciRRA7uG0ApVcXif(bViy>&@p^OH#OLYdcEMaqncM8QircZ|oy zSC>3n6?3lWRIeaVTq9gpd@ZQr9Q|gFJZV%^q@t+=UhyDH+Oq23slpRHBVr4nN1aaz$D zJDG%ABIF&P%L{o2b}(kQR7gsE4fbfD3~a&?V(7>%B2{IIHT3ds2)&KFM{3>laLYd1 z5c<%OmtKO<=3?bd7v=TqkLyUgL=&hwVks`Wb}jTc-tq27@AY3F`qv`-kVE*IS62(O zKE#;4;o>+8DM=e!8ft5Yi&!=6-z}O~6nU3h2U~EtLUDNTI2dPx(1oehcX@N>_7$7? zne)pJ|4JM*9AQ7?rkiOlTu>*u3%$+UB|IZ18s?(!#FlPRwO4ftn^$4>feET+$RcEp zBx#U3r|nl#Mv%ke`|x#Kx$)vV$TO&ODaOXPMo?G@B2=aH;V2^CgR#(UoM9A@-k+md zHypO59yK&#o@#Hy^hU~~g7X?+`fd@uwcVo#qd?y}{GSABsSj+n1GsxFlg_9@@=0V6}UYmF>2+D4V$dv(|fLi>ziBGGz)X?jLQ$;cG8sfju<#Vn& z(x;4O0tHMifNUCNSWD_@>TI<3%a5W|gF?Rf*QdoGAuBlpeK27_AQEzQQ^+O#oniM2 z^4*A-D);OrFi1hwxFnsn3vx0B+sZwd4HMAAi$jy)pQ#cOMOo|{J)9z^?#^w~=Y}Gh z<-zXaWhbAbbG2kK$orJk_j9zcC-P$omMq*@lG0bT&XF7iQsQQj2iOJeK@CfQTS^*K zWK_(jC~5_8Salna*D>J_L|~L(w{VQAJU>qvfhXAuiy0Q60s)180(7_q;F#UWgniDW zL=9aH9K5zgB5FuU23M#IUyEO(Ht3dpfpN7=6kBk)(Q=@$FB2*k?3cJb0@f5ZkaSr* zg!LdM=~yu#Xf8u(KC_Nhw+&1793|QFc>C%VT48iqdE^5UT+Rqpe_W>Dh+qd1^pbOk zcoWN8x9V`=g4{9LW`43BH)U6RX*!oH-0Pc|5VmR~c*@MLmPjNM9bo>F@}q>r+$QU5 zwY4XdS6kfc^?|&DkYwBpzx@!n0tlO43HZJYBJTQxS6g$-tNqvGUXoZ@G*Y=U7eTg( z#4@+w9oI01^p!%X`-*Elu@S7TOv5?@+e=J9o~=!O0hZyfPys^5D_U|l3{cHsyrcrz zlzghRf;Lb&eu~%hl#JIV^1+rn0(-X*PP%B-XE1MVa4&B+X!dOUN1Bn;Z86^ILck@2 z^&4%k^)tgMZ1Hp?(#p53bf{8IQu9~1J~s!lhG;Le^E6oqjXs0fPTSuEcy&d*{RWhX zv|(S#9*%kOPQ996Qg{pKJkdSSUjWZR-je>hR?p$EIu`=Tq7_`G4iq$%YJsHRyA?d{CvANH9grxYkr4BE z#l`~R5{PPxc`&_+n^uR{Yu-$yc)^SOw*l4njU)lhUlz~E#y9v!t!?fDu-UE!^rzF0 zWNqj7WW(WSTw1af8{dR~J;_d)OuNy}QzVV$W}Wr*J*FHO@5f4wkCTdp+mMPi%nH5A zJ^Bbp8AgG9;m>wQKjvT~*%eVGmq;31jhcCouTUTmmB~WJIdp|yI-QSfJPq9T%Z`? z2_#Bt+`SE#D7sg~eCz#^nD6oDU)2fzQ--?yehFW|nhwQ``0}vwsCI~tWdQ-Y;)`lV zr&C6WAdSo==~Igc;v`x9N+Ey=M}nF07^(oE;!xYEE~qkg>p z)K4i;?p0NpQE)Fica_RAyxUx+l=Thsz^!O|*Kh?K-r%BrH9wNZ8$ws0KiDQv$xZ56 z;FU!oZ{U}Am0@^6oz`jKg9~zs<9o%9+N}^$x!~&E{?8ID6oOGlv&Q$;i)V-h>6IGs zm@_e(xsKJ;(7{Y}-*2INat7VxjGlJo_J$%vM9;#APIwKY0ZMY^sJ*VT-Zia=_Ef7+ zxH<8N?QU*OUZ{L>5OK8gC+LEh!BJ;L&9Qs?aMqlks zEi~&uAuhK2qHTqKI%$moG!;8hfhg|b^EFR5Q85H`J$f;?kN66x0za*eRWbWByC`3@ zHdNvfIPvlHNe;r#e_kgQD-F?sJ3&*?`i#TkVR(iADPQCSvP0&G zR*~Ij{(PWyS|kbe#zU+)d2t|&NWD|forx}sxZ_i=>5%(Lv`Zq9S6*A@wyE;iE-HH2 zE|k8}_q*sXlD(zrNYBq&oj@%^g{p`0qajC&sDLP~?6p>U*+FHvlImHHuXJq9%49y> zH|pMCM98L%DF*jam3Whk^aNfO?mu3bdBJX;`(Qz^g&bCzPG11sDJB1g$iI2^mvyJ3 zWBFK^VEL2C{j)^=T_yT=BC~!d{|_SnPsQe4r49Mz_wzIR6^lbL*u+Heve&a{a(VvV zLtPT5H(Mf7tYfeeFqZ6ZmuuoabD!#FoGjR(8CHp&*VfOx+*?YDzM5Pqm+`JPnyz|l zd8kwILVd}dy83zr*klnagB{MuYSHk$mwg=*Gt{XCP#sswEhp?VOPk?ktYIcDE^Zrv zGBkAZ^D|F3Hc~VjAa4P@FImVm`=)H|sGtz=2yZ5(F^hOS5Y)7|P6H)8+vh%P{U9Xe zWrw!udKD?c^odK#WWT;QJjpA=(P|CyOjz$qg?uFls2sV2BO+&v&rJ=Gmb9U8w$?ax3_Z0jtB`?2VD}9fZYQOYoQSYdWPgBgSrdvxW zmv8%*=QDh~$w>)GU%Dzqj?n!$n3G5!G2rM7mF4D8I&5I((Ym|jJji(P@Bj_HVmX;& zyX?~SFXO$oK|UPHUO=X;A~BL>cfD+FT^%PvLrBe+zrwROd{1 zm`r_;JP3c*x0}BiARIV`=Jfcs|KJF%9~$lCk&F3!n*S10QuT`yH!_T>ij;_{y*;lP z;4YOUF_>ZWaU=S;WE_NmD!OKL0U56}WdM=1d{qkog~N!pz)quAl`b;B%BCXG{HMu- zfLKpuY}ug)y${KVUZ`j7DTJ{iO8I;0!gF@z>M%kNG=Ap|j%I zvcJLdq5K^DVvGA3oALQswmHbbRZB;J>3-JrC!sZ`Mn5u*X{im&ArK7b^cD=8@}4Cd zFhu81xy7~zXOVHx8k44Z3gY30^WJKNhYfNjSIlbBH6LIr58MA}#j%{VIz+fo+R zxXhuRE>Z^$bXD)3lQ2;` zysXyVT_4zYFsx=iC#)+I=nf8GucGAxYx6gEjS4sB0+GQ{o51bR+(;rqCH z*RIMnr(+7raA7%+$8}TwiX-8p%2U9}t%5M2>hkas_dxDruzF^QExWhEc+cCsXXE1` ztt0;vQ%gY_Pi!%s!)Fdr0Sy|ls|KPNOTdqXz{_fn-DC2n3)99>SEBwXB?5klOOQUg zPZ=Hf8=9Ya{F+_R8(t`Q^rb4pJ;9iR}{O!ddIC}gw|C(Dv80kJ#1lu1b733wq-5 z?W81>8vMkS-woZ%B%4!C$-AI9j(iG-158X!QBXMgrZ}cMgYr5iYLqV`L$IxR+6`9N zOZ2=-Ps41V;97l{D3FiHb;5G86W2CsAm1F|M@cHTE7t@{jlPcI(kW$@E~6t~*9C~+ zuZi3x(~ColXMaJKCpQhY937>*blsGnv?95S0s~XMCr;-yZY*7iO;qiI>?UV?J zXVj)ycX0dZ=YcVQ;^mQ+@7i>x6y?xrl^5-&w_DHATj3n^ULrDlTgCQskHD$D4tjqB zi$9qdD?L5L`#=Ad8mxa(y?<0*{6@on!s0{re8A$j2>EZYh*Pw*&tZmpJJYVhok_Yd z8>cbgkViL2VOu8vcRtbD5AZgdL1PDHZCbCW2oy~LNKNTRL%(xXYFYLqQk>^0J2#TJ z>T2j>nbhiNgBFFcXOrazc$@#%9ku{+oV?2ppbYorSXZY5}$1@p{{?mJcR7xz?dY}VXX ziQtp(2{NZ_v9{yi7l;DI2g7Ba=d8B2H0G=y*_K$=8Otu~DO@yyBIUIDmUykCnFquN zSQb$1s;mj8jeZbSVz0y^0juIDS!i)76?~!Ky3of!4fc6u?&+~WUNk}*)BI7stfVGw zKn<=1(#wl|g@Jek)Lt}VwlWJej0I~Ah}$q`LD4P1MpI1`U)tt!CZ#DMpkc4AD4n1E z!iw!mmY}HSMb(}z{y0dH_muV0+eZvBEYqgqv|`4fi$6M>pHr28B%gm&+_+53M^FU@ z>2q$385-EqlwxgBnb3y|)wp~j`Jt)Jb;^Gm`)bc5w_}8LI~s2kfvGZ)?dDZ3p!OulVbEV5xLF5x!n?8 zlc=O<9*y@yS`ip~2wVh%XbN-*E8_~9!A!6Vb4;{2N~Wq)h)TUjBl~f8d4fLnHkQ zFKqu)>A6f%)A~s0eJxWt^u>YVd)4=VUgapWlQs=;kG@2a)nZso_wT2-pqJ&M@3$mW zSBQE^%y1#1q0YoX1a$!Y15QAD676B#LCmA10Rm*h zJjZliXa&4=x7)7m*38H{MJb^adqX`g(o)Hr)j$xd3(+@m3Q_vLa>OnY6vRE5R-^{C zO_Ud<{MKZ`;@f(y#Ne#DhhEE|t4VFCpj2gylwn{|t zJgupUp`HLrEW0i`pmZS)0SIItu~r*dHYPH`@6AFfnsH4=Aj6UDrva+MB zjyinO@-=i#$EP6OMUbjKkrPA1QhrVX;M!#K4Qvm-ODfcO%O0W=`Xo-9J$kHwj^tBB zND8|ru;Zhv$|(F@M1d4ReB7HkWU_eP1i~91;1CAFE0YW-pS3#j+$FFbd?w{^R?N)d zBFt@GJqdESg6$@O@Clmp>g*$vBNm^7oO zqM`UVGn!W1!Xv*c6(f|_GA=&O(dhXD;N#Bp3d+=jDqH>V&)4If6A>gZamMJ*4SPDQ zM@1pcumQh@Pe8S8#h8Dt3u-F!_U{#f-@cB8s%&^%*>n)sbFX;aq5xb@U9Vf{Eu_4Q zxCRu7!blDw-Nu{SUx{5&T;8VX$OB@zJjK&$*`>6lDAjV*0|L{YUH)=6)DsA-DAKmK z4gHrl9GazZC*RX$y6R&K5&Qj=!e`LKUNo9=@=Zx?_iQMJQTvf_&4XG5eR@Ycq~+gO zMwnc-uDl`ni!|a9eeT@2T^fONhaP;t? zUF)h+=K3kjcs$j8yv;eFe(8Jtn??I;q3ueezZ92}*CRZXY0hri0YI|}l05rG6*R6J zXXaGY{ZfEch4W`nT&XqD(-7I#{sRp81COVhOV}sp9O$w8^Y0+S=gA%0t_@u$4vc$% zD(ye37PBrs>4eS@Bfj8DgcZn&iy;AQ=%+)gw|)6M+Dz6d@F_rFK`0~WvBl$_ zE(*`uMts8UPAq^b?#sS1&2$Zpy}F^{Hg*C_r{SFh=dm!A*w7$8P^e!XeT)P~rdQP- z1ua7?n{fPyf0sO4>vv(8Cw$aK%W2+-lV6+=5KZgzgu#5kT?=UI{82)r%jP>5sBAPYBmKa)&`VG5OF)9%7%;ShRk&`+Yq@$|v z^kosw6u~Yep2>8h`eo0~?!dKhx=1{}Y&dtzMw$^r)-V;Era=Mv*ve|Bz~TQ;^gcjYGvud1G%8pFr-(cHnKt7_|92FANX)3q!k-CRvpIZt|Y!lBj-slst^A-dUhxAwZ2vMN-|dZe%51MT}YM zxhf3uyZp0HtNY-H)q}>=8GJ44J^WR{GN5RQNB#Mk$l()6ee905;!NtNiR*L)fB}Jh zXE^lh_QF7`3oIQPe46EMvRSP{HO7LO>_3?}$K>h41d-{KfaKx`44aCCI{hOAJKPPj zWegO#Ym&qG?e@Z->{q@jQ_WlzvrD#C?RxwO(E2Y!tRy(R-{-i!kHs>$gW!f;z*9X+0=K#6$8E?d$R}-{(GoWR6eQw7=T-&pRrn!gPquHXRD4z z^RD5_deGVth6yT8(D82xC|HuNjr|I*3u-ukV)D1%14dx-L$&-z4w+=v-)0^AtP$6a zq}{%mzPq+++ocE8X?p9IzoFHi)P#-cV^f6fPww-N$||7tXB|Cn@(uAEXZ%`kfCyAmnM8iVY({ zKEH5$VaHH5qie913loNHLq|{6NsTc&z%44Q=Snb0)@f6}3Mcs{S9lDuTbyypaQ!rc zUh=H*>{l?mH`#^O&G5!MR17qjD%4SiLE(d6a>Tsm;7c|YD3m>ti#jn!PoVsaUeNr}CGFrl6d{n1iCj|!H0nWSu@b=b*kvyfuWuhd*G0CpQAOC9 zqPIppteZREDtRe-;pzk`F&@gJ@XlhlnvpST{9?zA<<`sf|ROW;PzRk#Galn!f zYuliW-HT|D2=NH!2ZpPJ-FmZ+-WoEfVg5}HMM*YNoX7VHV@Vv&OAo^BiVW|4P5oHk zN+ci-X4R#~S@`OWq(DM^Y_mPLU2;zhr)}67{-Vvu$m{JX z_Hc5*>BSYO_JPZNl{*+JeL2~omZxXIqY)a}yqMC9 z&~DI%N34ijZzQ_a7TXTqciD*5JQp2(<$L6d3S zahgE;9o({3MA|EJMCd(&;PLfpfMjeUSRkowS;NurATWD2hPJBT8d6U8<-&sDnzVlZ zfRqL^*%wDkAXa6r%R#V?6fvf55EB&v2K|2f)gXDXV38gRrO(hPQ~Cu|T!~J(hjI!3 z@CjUw_I@CC^dfNm*~OwIp0lA0J^4(RJxA4=KSt4xvw_UqAf-M+ zL(RWYXy#MI5oTAaWe>uHJxptj!y``Doy!9gt#~?7RsidB`}~4KF)ZUHN9t2hqOev^ zjaJvFEnE}JO9ACB9^w|8G{4q;%2GUhb>kq*5q!g5<_7%3lT4|vSH~}m^G_RNmF9Z< z+$m8z${Ox&`vl5UT{WGwocGHlF!e`HN#|G-RpJwB5{$?c1nl}PRAHKRWln-rO<=?;+O8>!r{gw?e0$H%O~FjsYV$I-Gvum!<6x^R<+YHy1s&mB5g!xY}}5JwFZ zN53Lt0&?kVl6?+NIS9NZvgd{&VD}iUR7Pn@8fx9&H-OKl3i9@!%3V9@L5dLD)ia*7x?4EcsanZow%l%~;*$9JE+g0)B1~r$On!Fg zL2nP+@1oD1wyYua(q_grFN|wXs_r5e^ECjZjfiJnHaT1JTwhf~3ui>C<@kbpS<`t5 z#G2Krcn;%I#E`M9^Ol;(v*od(6iz{Vie$|{LpD;R8YP@yqLMF}KW^5IX%5m$%A@cV zOq4*cSO}6|*F|(YPEOtm#}>PLAnCoPT9`_%6IxP8^^*wXA7Nf-nZiE)?vgy#O)Adx z%KoNzN#3m%*>6}YRRk3fNil&P-ELc=zCI^%UnuRkya4SRN=nx;_)}WQ^C)ZxxeYg} zeK&Ewmww>MMwo#WI_wfYEJ=7%R&u^-=73S5xE}M$b#Xw{`dp@skaWl>Ld({&&J}7u z!czVIjEMoMOATxg1&sNM7BO;@h6y=-8-O&Ei50FWqQI-30`;w z;xkz4AfbjKpp*z6^6m+5W(_mZMY8U8r%qq7?_@1K>{v*`d28F+sdpbuIIohi&)&-N z7_-KVbQK(cRp2(s-Kiuib%wBjM;oD3(Mg#yO#wcU#MDX|d@i9#FPH1e4)Ks)%GkbQ z6Yt&_M254Q^j}Tfgxmy)fkL8zohyK7^;_bL|J+Tqi6)LIMf~RKSqL)pH6c^&@#dG9 zS1`j{LWcav#D#%j@RT;q;dg4c=61Jirw_3X zh3+Uzbo$y};%Vk1H9@WfLzM_o_$gWzb-p_>5*d+lwj{A>T%A(5!DWxw25x6Rra+po zb{>IslmJoY)~V6G`mds5)p*$;C7PoBMuzP~WiGOW1^8y(=t`Zr_!Cm z_*a-gPy5l$_~*im|3Ae4Io2OSV^L<&@%^P( z)}XxIYMpwqY>v@oKneW`7h{n6n}z$)MG_tN84P@J`^Ry%4QJ}JX3m3T?aT1#dHZ8@ zH>WZWL9$i z?Vb)b%|^FplVP$h*`!M>6}~4P zU7OH(uWBQCUMleo>tlWn1l#B1uO;*l=RHsKiIp3BKw%U&y?w)Y3=zrx*~M97=g8pU z&VF)db?M1~1@mpMYxtYWb4}Ix++ea_i4CKsOW{c+`@wC`x+Q7`&7A#U4@K;9TJY1t zf>F)6R!c{hABlswg^i!@w@eM~RK7rN=U9FZ+wf$2yu<5sa%i>9@@Q1@W0;@@n4E%CC`kuu8k5$%tw zgm!~DYJg2KK#=O!CLmx-hj#)S$eF+gG?I{X{HB&I+7Nx;(Crgx8oNFI|iipOuYCtOtcjCP$06 zb97)qqrnjHnOC zTIqQ{Mdm*(Dnd%=unH9h2ZKaboK}S@k>^~Q&}E8XRP{TB%os?aoJD=oyebY#$m0Pv z^S+q1&RF&&GWA$2j{lf?h3KLTr$6|}#7QorV{L#MB77{3&lNZt9y?rh;4 zgwPL7nr`@FbEFZ6P`8z>XaQl-W3tMlSJrsd4T5FaZRYEb6?CE!EX&LxzsB03q+9bt zm=#4&ZU0_aF_k@q*iXGHXrA$$La|d13h!Cl)8Z4K8cZQ* zzkDiS$2Z^1WC+yij?atbkBQNQQfL^5%cNh)0@>?^)JEa4C|vgks)Hr$^;C=g*R%pS z5{5vQb#J3wF8NlqXJIjy#f47&EwB?yklf|v+AXrLD3ACw26)b`ox|Sf=#p*8Qb7Eh z!M&E{SFv&z@3q9dsLt$B~1#pK%NgjK_&XbLG9>PdA0{TLP&MfU9N?%}52~a=fGURYv@E&4Ds<{Rzd^RQ?1_4v7ROh?6T`I>y(6BYeOtu? zxQQ8N3<0A=$MqsKOkMKugI((8sO*?08CNQkJgW*~LZw_7?LItl#_qx;EOTr4 zCGXn|)IY!Y1X-%ULh^qH_xGRuU$%&a_Ft#E=xP6?DF5u-{;s?H``prf=(>-&{hvCw zV~Ud2DenvK*Azmja%BCRD*gSzvCtNBMAuPp0{LUoK{5u*K)W3TflzzTi;mPA|p zuIPafeWCX7+}`Tj>p|Pd^Ow})=x7tFw6-pKTDP1 z^YD$YG@Je0Io+K}fTr?hBGpN|i#9GxV`k47E0A+8z!OM1;a^8JReRw8I)zCL$^cWp z7Ah72j{hRJGXIU4=x48lRJLUEPF|vWwwjiCr(79kknETNxhyr6>WhnonHRWWR{onJ zNFS0_Eaon3O&)m2-;CTJbI<&5mWA%4kns;%mfr*RAC`sg<0t%MaoRw*o^=TF%|w$rXH{A2|Ii6kkZdZ3jUI94~`)&ii}BJ&rq9TwK6B z!*e!$Q6^g>SDm=4l|9DJoG%a0HfnH&ti}hmcJQX6khF;$HwZMJ)6=H2;U}Jg79N(H z)l>qSyl)2JR175LM-)7g4D(N`YoxCd()5lC9B2d=Nb8>E5=wOHxk3eE}G) z_0VO_`P($M#NIz_oC0v-jk@)c7^Bb{jP~{H)9StJU_*qxH@5* zheg;?a}%gL5EaFL!Z4{Qi7yKf+|Xe>eJ8>u_*3p_+cczxyo->|>{NGjt7+CG0C zK5CH(%~oYU3mw=tWX`q=)fbw;5%NySNih&>TQ4X9Cxk%7bULK8_Cg&`nSU%LMFmCx z&L>f{H$5w&U#uWH+-+$p zCSEzyYTsVFuoPdTEl@;o?SDGc+pK+(;auPp*KV!*PLZug-@Sb)_K=o8U_QhDO>i`<0)>dZd~`i9d$|QK=zsVa!ZOm2j>+{1s>G zyj+HFe{CLFkwV<6vn-`_8~Cc#@2l}_+3%~)paJ`Qo2pqZ$-ZnyMboqL#xOis$yY)D{?;G^x=<^d%$tyLHUCTVEdR%hQz|ade#}6L>m!3b*!C&ZDIe z3$)t74{9=!BP)BBC#aU!EQ$ZXB!Bt|tRJ&cdb&Ryk$<#!|K^RqGs%aj_+XOXCH}uL ziO2i2BUkh<(H-YJA_~#b7lI=k9l%TKYtYqwE}A^fZJ%XXJ6nL$H8JM-s%$658D869 zKy-3jY=ktBd#WNjDT*uJ-TPQ1}WeSViq>EK)8%482d3m`e5pS4<*IYDSt990}AM}wThO}d->%0L+vbbE=;3x{3&@L^8^9gU`RuJ2 zjOIpin=cnRQ=N3~2_f?86D)7t)~e%Lw(dV?%cgg1JOy%ztEHol2NP5`l7b0&l0=F^ zkN2)!>Cv@!9oUm4-y(Ih#c^2sPU7sVZ#_6%YYwoIZN3>a?66JhRqSdiQ9Q z<@X+c;^ApwwSVx&gyH5RNad-tQR%%hW+lD#IIEv;_>?iZg4t8-!{g=M5P6AA!%+*V zeR-tYXwz{U731MrQxe4dni~xnF&@q4&yn0&%_&yPR0TccZA>iq;xHL{4aX=y4HKwE zBY`0S5WELsP}9fJ#_m@L(@JGy&B~$^KT3^W>SPPF+rpTuY{9!$hNXkxxFlvkNjzlh z%VAm93O?#{=&y@Qz5o$x?++w9H;hE{kP=@!hCiOQMoT0F6i$?3G6w1>QX$(Ronp5) zh7cK}3IH9(HafbwwO7XL4eEH_j>@(PfqJtmNNQjfEOj{tY%%RfjApmjmhHA)Xn8_Z zY;t;*E@$3HX5jyHp9aiq#-ND2tdNhk;FeHZw%0}xIk9X5X1VLF1EOl)bB*{d>zAqxhKL6DnE|CGvC(2CO!5Swye0Ibn9wm(SYc18Q3eNR; zp;M2HTcsVd@LS#m)g%)uv;;+0z_aFsQ@xFcc^j1&oN3J(HJ}V0LEes zjKzZpIF)%VF@n8RMC}^1>0_{op$@VeSA2MFvR?5ZO#&IYDhHG<2lrUF=q$Ib&K;Q1 z1x{0m>Epoww3jCC0&T-i!-?juxw{d?$pXa-sH;{RU+*W=J9ncxFUkPdqVtE~a(3G4 zN=G65)|s?WIZS@T46nlgyU>Unm<4@SE z5sXL&&#eHl>s zfu8P9AL5@Szu%FMe|IkQAM);BX_#;YfOBrJTwi=2kEFy>QpAF0rCj4zGlI)&(nA zA_&;4x&lVC(v+qt3((s=r`$;Qr_a7*oM58He1fPYuScc*G9!%I3#~>ya~1XGz;3&E zDW5lvBfIVGh@BbucQ)|5+MCMNl zLcq0kGUqH~xB9Nvp|F#1!}X$*7Y@xj&60>6tV7|O(ZV8!ACbLmJqER!Ce|?VI!PWb z#&Z{eS1TbLGoTtsGf4dz+BN;`OjEm4cE`{eMvY{-yuwCNML9V3PhL=I{?%o8Jihn;@b85K14I{LAjh z|2IL>uB`R`g7>dz>DsWwxgtMc7;gq9LH*cJpss^3hlgq`h@DHL3K6Jpp;r;aX$Z7QL85nRInRXmN$_{3! zK2YmWQ^6TBXuva|w2WoQcH;X19UnS41Ya7Bu%c)}93NMQGa$DV^-@f~{FlS4{3qDS z#F|Z%r3`52HibJB5;k!oM%cG1!PN@0Q$q79^RL3MMXKv%9*okbZNcIasl-*OYUVT0 z87}vFS^y~IdUVYw*Zkn@`llq7r`PIpktJRGJ%uqSL3J7c^=}8ND$i#Mp>V~NJYT!m z+feSJluiH({XwfS6TO1&@J|X{_$kXeFz>Wl>yuS|im!>1KN)ZjPk#M>rLR*N?XU9yf2;rAvbnVoQ$KeFXu9BTa$`N zC6o@5q9MhkLhR59c9#zs%KcP&YE692hfj@rc!qyOB1f*us&s%G&V?G_EKH1H*UT1b zBPLXlMK-~>p|EytVpTWKMix^zq2^_x<#29iyi~hRKedE&_rz7IUb?*Qt#C?bL;9E_ zAs|>NR(=3IN(u`5$bF)wmOYxP62WmC8KA7iGNR#vKM~JBwBH`>W(4=l5@8Nw0xxd0 z{Pjlq2sd(MftesFbXQf*$o(nC#)%O9#5j+`5!#LOc4Df61FOvmg#7Vfne^!k!6UKbaPFj z{al>_=bi>t*L%wkWI#^fn~F3Q-vI4Dm#O{-Hu=+gU}gH~P167Ap8TT~{x^60olQQJ z#|NAI)&c*GP5PB}--GJ#uM?H%j|$R|pg=IepYs^*3+f>QlKd&S(xtK7J~cKZz8ATR zMJEe^6b8l+#p4K3wZ1l&=Z&$lMa%W?j#o~qzIj*WS1@7Mjk}0Mw0q$RUP>=riQ$lD zT@F}J?YNhFJ)O1Lv!`0!GCT-Qg~mV`Yr5A#kYTB*r<)In!dNNmG?$k?KB$LdcId5l zq@S6qcvLIAIO^TGcTw?F8^#OL*bY<$ZD^!UonADEQqk{tNx(>Yix{o~$+4O;c4;(? zt->RQ?<N z7HsSm>3|T7%?dj&r`j%@f;XG8?^-s0bRJj_TpW(oCNHxEPi>7E7jRu&XnKvMxwc(a z>p&e`)gr87PMbXj>J%yfySa*xCPk*I0?W1dxQElqQAP{@%6dYJb7lpp{iKjh2q94n zj$`KV%%KuT7OQB-;@pMe3Izrq6+i z>#(>L`2t=PCXSw5#2ATqFR>cL6z9z^__0e&M}H-6%(PPxD^)-HXZ z;=-`#m3C2;EOC#luJADA{Z4SqFx@ahH>Ln#vN1?dQmXB;dtUpA;@p`*s<8La=Va}K z`r=zt zKMU$c8&P#rFDj?}mic8fDGJ>{tD`PrznZf$Y8a zTRABN;HF|mJmEu!Y*&zQ2C+9JwK2izq5PQP$nd)-XfJhrSNcT8{t`|=bmj2(t?{zH zFjCMZFA$D|8-!tpwXruscJTS$6i_m?-&`$%ct&7_#_6kj&>V;k8TSVXDi2|o-4;36 z+9o+o3^SKBtU^Q|slRmdxvEbLo#g1P1Fr`FARiLLE%51sglwI&#^| z+TH^&Ty1J(JSRU6iacDNqX{}ND8n_zx?Ndv{(5YG_@&9;!GlM46QR!X(6=-=-CMaP zFI>3l=HxJ7aHWi_J(iOc!PLH5Mgw4%9+CX^vcfPbM5o2rsu{d>+RT#6Q_vsvbMsX# ziXQf7`1631Rd`j=f1s#8O%1k>B~tYCf7&wtEJghemi)U3VfYYY|Dq^{|0!=8uGIb4 zrIYp>6s`AfL_feRDeA5cG!juV^a(Ca4`7%9 zG$h@Q?c*@CElzIk7a=bui-#2}AgK-=TYl{VqBEq)V)}^MN!d(kQf)6}Zjk9H=o1%2 z*fy1Gaei02*`JvXEl^hN#s3Qpj^eTscn%4PZ3Tg#kFpVpN5fP z$93&5b(?X;@>2us2k)pllG_n5bM^{NwJmKSR#AB?MPxekyq+N+t;wF7%H@yg8_gv( zW2lqglnC8`covEk5h!Z2Lxhf7T% zQY7P-Q~iE9tIU@g;ak7?_Ad6U19v5*b#o=Ra}j$uW^U{9$u5122c#M)%b&o(-qtJx ztqul1h4Xx=&-C*kSXl@<&kN_-fi<6n^G+9{&r_p*l2v$w_3;*ZK&Y|r)>}HPGf%>) z81j}}nC-|GWG$O-@YQbCorFg;yN=KBS3$F>$Zy$DOP$5C=%!%6A&^2&h{}`;)+X=a z=V?-E(T0}|_{7Pj_vbekXp%ROAxZW!e;wT$vu0J7Z)0>!+X@t39D{k1CwD!1^oXk z@Eb(Ghp4RoN}bcw|7lSCqb%?n^M4a63?BmOg9ZMlZ0Wo0k=c2-JwGa&j*+nP@p!51 zYljo)&5*KWg^}K~rK-Z`D{vMfS}ZRQ>Dl|Gs9L#ams5Ki48{}fc1`64M_IvN-v`>q z+AUxn2pZfk;4P~1?Vl047Uf~*v&+4w%>W|IHmYI5l~2JPD?V}Lj`Y#GP8gngMfkyPCa_=RoqO?&Lir+ zwj#St7hn$=e3R=?h8WWjDOK=Pbf`8lw&s12sc$i5-G!`Tk zKrGFhr^E8lT;-D~D5G+t1euK^Q1pFWEqW=QpW zF^DOlz)Wz0hUa#0Ga@KR;}Y5Evk5d3m>wzSAFd9JA}dUDY)3Lb(j=V3j>0zxHuWg% z6k~)c-XWF4u+$wpz1W6m0R0>brz5~IldAf|#9d2y zhcj&#T53?;4J;zFU6={@NJwV#Vf~S4Y(~UTK)v0P@sYW`H`B70Ry&p&cG-nA)L@w1 z9El|)`#VzA0=G8%vwtRK0l(m~B|XSJXKs{cXrFipw5KlrR*A8gq`q=OqKxmaL+1*Y zFP@EQ+>Sicjd(RnP;-M^4Hn%2SudU05mlb9O(7@chIPd-kcd}?jO9{3m(c|;&j$za zWD4K?M$B|%&=FV$!~GR@HkG8F@jhQ&(}rdGAnT$_=pTPs6PDNd4*>mR^_f}!^){cL z;Ui7(5B4Q~!}0F`{g4kI0R3Ie|C^IYSJJY}d4KZyQ^kItT%(>pS5lFxq#&MISD1T7 zbL?ng0lAx5mvHOTu=~rCWn7b5mxI$Kz?t3Txtmq`MJO@I_O(iTZ_`cv4GQ^l{h|tb zE`+^-qY_P5fgQNg6nw6C31QHeWs4Bk64&>~un0+3lsbi9I6Dq8X= zW!w((gxgt9ICMyPzaJ~xt`$YJzxkP`G7%;+$D|`t`-XEY$1NlGlgI9h=`+wd?kHC; z_9B=Jk@>Q>#k>GntraJ;WD$ZJ>t7rIw-z34ZGib&iY^NDd)kG7m@m^cjsN zcG^tlhuF_vv9Ew!oHLzg>g|_!7gr+;yVp}E^+-ljcQa!+!q zQ+3`oAjzj(oE^_c-W@FZrV^J}7QUZe6Fo#Ax#j3y?IS`&Iz>?u$1Z{AZ>U47@*SO$ zP%b=`B_nHdAio?wJ&qF#bK<^&t9nQhXiN0l=dK>gpPrEIp1)Av zOFi>f7R-bz$^eeIDV*?t%q6?gfQfM!+Fv1ItB)3ESNQRjsBZ_lh*|sny2h+c7%*oS zK@;0Lv=8z%`{3(V5mh!B4HLE}Vdp9SQcI2u85IdX?VPs9N*s;Zu)OR#*d!KAlBIEv z)0&#A7e~X-f~wHym9jSU@P);&b@Swder81wg3#>)2y-XG|HznD=pv5s?;sR>5ZIV^ zMuQ*iYBUZTYAu7|RuMHqaOoLD-tc3`EDHM`B;WrTj@%wao}>BVe%f1b07BfMAq6q| zC_N8(8h~FgUq-xZusvvs)OjoFTd|)LBw4!8F9#-dLOL#gceFHeT9ssEL5UFGpr#PR zghVuOam4#-;Jpom6{LJo@;+v4mz6lc?HKyvrC{Eo+JQT{Y-pjp<`P1nISO=7!4zDT z>JZUidFK+ic%m`*Eb?2WMiPh;TI=9T5DJ-@mD}5b!H$&bl&ciJ^AauF(7XrOk zzp2z+X`3YnAGb5UA5quaAmo#rjY0_fJS(llJBx68ih%w862luW`dJ-4MA}E-N5GKk ze$y=Bguia(LknMQA4P>NWxn1p56L#U^H zG^2l}3elizFSi0F4^OgVv6$&ovle5WRfIxTSQJ+)dVqTXpf+w47aX8gFNKlZ%xHpZ zrFn7DvTRE&1ZCi1$JbKWNIi;ND!|C?R)){Kt+h4_>40bpQ0W#5zvLjsI=nXsEeZP>%}>Wbz6h%HA8D1D!OswMUN}ID??W(%3K_u1Adhqs7cJt z;o&luVWx|8nBF6|C%wG}eYIXvlUn|@t#Uv1XqobOCyX{}V7 z2&7CqoE3Hv{q$sN&wEk50qW7Y%>;Eo=d90A_X3#H&Ds9{6!x0|{xT$NAG?U?8UFMt z{#gq99r^fo3S<1xVILIsKczbVdhC`;``4?Ow8G+8R6wx=D7ieuT_VLbJ;_4*6(C~i zo{@Zz8LMBO%u=Pnd8-sssU+i^=r@0BXu`VqKpq~5NQq|DZ_dDjt>&aQ|K&~s1{F3LOuU3&c#7M^T|rD}Ig5WpAb znOnYui{}(HNopjVc*-iv^fEJ=?XemM)xKp^?!Er-qeG#NPLR~<5HB2|&!{o7;b@jw zw_j;e2*N+%}ID441h2Nkgz7Fm2P5#Vjls&j|}=vDzE( z*LT{bVF#oSb@Dhs&oT^Akk70pM<6TSHwp4;^2ZC*LDf?GhWM7S8b(>;`&}mpU6DlK zPmECPxeSkE97nYBJSEiM^m9K#QjmJtBJADiG^&n{C&3mrAY3!Fh9CDZF%nJ`c*UJ> zqQxL#rRyNW6UOBk;xo93`=XsRPWu&KFzFuQERYzh=ci?uVWJePkbCCwp_(%{)KS z1abt0w#d1rw4_WGX!9n=JMOS;yB@gF9lYLs!m7O#i#NyEQoKIZ&Tr6D=Zltc2+$;f zRtQEx>{P85>9?yotT54|$Bgw^#vN*W8kKQ|(xw6sUHC|2g`_G%2ek@Q)}xM=KBD{H zE@s7cEHfv+MAoeJCH_2(A2oG>7c7SB_)O%DT9Tpz(px+_dXuUNEcxeajUZfsj$|l! z5m(d@g%12mfcKtYBuiTGKK(9tg4KSgU@iHd z&G5DA0%_O>Zv6XJ21K)gnIZOxK?(2tE5dfnvy)#9N& zjCpKq_)6-Q7B>HjLqIhFdO)q?FuqB1;fFU1MU^JkI!E%4;!HA4`>Ct~k@i6}Jx=jBz;$!^d*8kB$^&1a=N61G3{Xod?a`s;lqAX!I zOAFs|sB-pAXGAh~NjjzA!oDD+tj=gh#IPA>QM%zo zoL^a`jcfGNyU7E*@;7!W{%(Sy!pDUc1tCZJ2t7l%;~>9BOC1W$Dk#K_k{_iCZ8*# zmpn;uHd8ApUcrx8RWM(eVW?r$x|**H&PP{{=R)41wP@!HWek`YgK%KlD6wXA#FXuQ z-dr#}ol?L=Y%8^v9+oZ1qCsS%!IO!mRPK~RX#OPYBOo3eDz@4ny_}DOzla$~mDd+1 z#I+#Jn2ymxlDV4xsst4uZB%J`bp&F2uE8%ANNTE;bmXqJ;(-mXZ_5M0mcQYbwk=^W ztAHnmO4~O9KhS5~_aug1>&P&-qXpQQccP%?Vhu|En!u=?_ zhFLO?3x-=e39j%cQ#h&^X6YW+E_@mhMW{IQ^Y#HNZV$}LXy26zTSOSZY(RTE4k-sA zwB%W{ekyyP*$T?!tFf-BDfZfYv$8nTC*;BJT_}+n{(#Cu7!)}|&1>@4_}5Qr^E=gZ zh_FI5D-JQ#ok;nroa<&GF_^?=`=AZO3Pn^n-&M5Pc3rNe;wqV&;-g~FdRK*>94JHN zVNudN6(_$IDG#kI_j~0kwoISm!9)a-%7o46D-4|{_=k) zlYcxc%fEH!82`BNf0hJ(Pw@X;tulR-?|+d1)Blv@Ykz+b@jgWR%Wyx<#WoNCH1Ja7 zNp)LJ^JfK{&U3B%rb0)p!q+xr8+yHl6DVqJIXbk=b_*a+j#v?`1L5^N>g?q{13$t!qyORJ7<_cxVtt+N%rC_2@BRokeL&C7)fR2O25wQ9r3ctRjIn7KW&?V$Pg+4gL(XM>}1MXa*B2*5~Ea+1VLE`%5M&U4p+l&OF3gGyCXhCv@ zMSRlPUrjz28Ng`9(DfMPH>4YwQ;osl$9Yd8*!zGmY4j*k(B4P_b%gZOiwuR-k1YZd zLq_#WsweedfOCIWT&AKd`jXmP!-SdDOOI&4zYMTg^xk_cQmD3Z6q^(_BMCX3QJw@#Ap3XFquGv+#_c2=dY@Ja6$=K$6%Qw z(_HavTM2JrT0*%1r}jU5JnflCmaAUQfY)iT>=vE_MX!3BdUGLG1GRopS$wfYs9@N! zh$6C8LVrbKGH-The3M|JZ1>DIa(v%Zn9LWnXJh%JZ>-1VS7Fj}gju`#R>E`D5@N(r zfvAxD3@D6UwWgjfdFw3cXd?A?BY=;ySy0Yk*c#m({}(Zh0<~)(kt?QI;n|slxoQoJuP^LN8&$K%L8DjZzu=J%G(#TyEi7z1Ihd~l+932_<2~W5aV@soNs{KyHvow*v#-oIOi-d>42Tv@xbR;(kz* zvHBwxYZ#~jp5t>VEl-l9=F^#M2dX=e74k6QtjoNm4!Yby5{!w1I?h6a z#)CWey#OMZ_IakWZo}|dV5Y}9+dfOiy%uwdE3Aes_%)#O@SGL(GHdhY7jPk zF-$u+mkTsjc4F1eiKam_tW5)?YT1tLOM_=~ws-`MlqC?kac?SV5MF2M67#M5lE=AilM>)EJ^8yV{&~HGWDbf!qaS2rY80?DW%bLfk zlEn1HV|2h+N>UXdc@2MTRFn9@6ap1eY0k6f&H{w=xzvh*0X*1Nuw?Iy7qHyDJP)G> zsHS-)F{bvF25=*ur1mab)s+-Rq;72NF3qU z10oTNHurA! zBy^$q{Gom_Uhy($Bc@zA&fQAqo<)ME3pR9HRvt9S*`xfO7ZDpf1$iWY`NDix4sA#B zYz@+A2W=ofMBg+{|u{{U$h!LTuqarzWy=&rVoU>(2}rKkC+Ome#Nxqxqc8;Be*Vhg)Ed zkzJ1s&mF-T7?bKpyP>R)>C$nSmPB%gs59T@f?UryP7As0KX)mwf?>}y|8z>U#s3smb5&iA^g}?AdyvLxHyo_=5}9Qt8{RB zN`CjA360-tAM?Ua=oT~ZjXGNzzoxAi+npd&@QOOIm0~ch6pwERBb;P!4M#sSqd&=Z zfR1OdLPAfv&1O@bkXx3Us|^C|jC2jW4Kob&$dcV|m2mHOvk zE=p?Lw=GkGk+Z-ZyWX5~)v*z!&-T=@6ev>4@sobnWl`4QEOq_hHb~<2jyrB(!LCqc zN3(FSH8sB?)XSh@YkHIdb^OgxqdH_2R5&7Tz9t|4tRJd*;ae!lrrz+iV8_3n_@O|)YKenBT?O%r;>6!jC9{yPn z{T}Q8yS-rkP#OOM5%d3)(c6E2l#u$K&Y7%i+7~ls^d=e*9mIer3%~%fS!SJG;4Z6@ zLtX;MDu1u#sW}Zvx8?8ZICocA?<d*~9JmTsD;+EQh^jq9n$Zrvf>9 zCN4euXPH@Ho)pw^5~RS6+TtdeejrvGszm>i6h;|i!Q^tNfipF?G0YU_Hm~tsB5hSI zJ0PfelGzmF3x?CI#t0|O7T8(5>G*!lIDRzzczUqIdGjsTal%y?U;Rw!p;G=CwenwE zlzDQ=lm4fZ-RKyyA+7mEam>Da!*s;cOH17$i=y>WAS-(WLWw4LV}=RCf$@|E49a6@ zW@?aIYWHVF>t+Ny_89|F-}+a#(8ywyhsuF9N7R|9<>Rl*$W=)}O@P|!bfZb2GQ6+u zEMd~dQRe6bl|tvUQ*Af%0go8-2A1g&#IS@34CBXuIfkM3x5h5!q6kQJC%$q}_#jEsz8A(Y-{GGUgCW3`v~c~vdT zPU`Lr3%^Pgyd)T^jbXl|)lYBbQ5imh3d?UCw6*#3Q;7C)QdbGT4JtRe%y(M)4?Wc@ zFFl)=%UWZ`l#`8L2nBb(mEypcgr^t1wowLEk!Q_UC0EA`Hl8xW;uXAzcYV8*3q=Gq zF0Wlc)5li%|2H}4et#b^=0LKbmR|UX_7# ztL;&^<4#K1%?5`TgvhRDC!!*%8=x~&+H`D1Lg@d7I_BoWb2>hds4X8M(TrS z%yD9{ngXP$7N>{ed=f#$00~A1;%2Gxx-cYu_7JdNagBdV$AVfNT6-_36KVtj-0-Cl zU%gB6#IA%s#gbKyS29M`xbOyZtESSBvS=LQkw# z`*&9wj-;Y1(VPn|n?w)I*?Bs6qq^g$A6Tk%FsaCaOSj|tbZzuD9QGV*MfNgWFB^)a z3l~NGo6*pSkNSsWY;6>zI{>MPz!6QIf?f3_gRw=};BozG1%94Y>e6OUoxjk869WFM ze_r8nugB5&|D~PzkN0I^{CFY6{4r1d2aWn~H2)pnAClt(-@gUGf78e1@7s%3-{bes zD$uT~2Hxrk*q?0-fQzW6gFkur=O{FVa#bPfm&S_*=EOL9y~>Bgg4WcU*2cpkvRVfS zOti5S=z1@Av|1~}Sb;U_IG9Ifmie$@gk6fY@>+qy$wC#7q)C(TmV9perpuX}))gwl z_p+Bofap~AG)AOqY&^>|oahbFyQ`1?INg_oZu~tD8Ig81VbdG@+wBj_UbA}Nh(T(_ zK>{pLmK>^nkM6~;j%hOuda{w4;`qFfdEV>^^uikWZ=Jd^$NnL7^F5)iXcIM#+YRy- zLgThWz$$fH)FHMe&g&M9{1ld^1d=5`T)7sjxo7btgn3$3QBQqluk+6ik9s1{%oibK z_t=^;rGkbG&z8}(sO7|;7JvueMMCd1xSND%e|Sq_Ot`Qdc0QW!r$lzX#DrXgkf(}8 z@Ip`QW&Pf>)OXirj(mRJG`CuwN{FY9$DE^_5FK0+DYk0x8Ex4unob*ZNc(6uEzm}g z#&_PL+V|^<6@GL3=N}J;K{tVc`BQf z-9?jSS5M;H8R+9o#qI&AKD9@?9BFo7tdX>2i9qFsjb3d0va^)&L!n&i?%S+W0TbN2MXn}p)J$FeK6vyq#b7_I7rqVCS0D8AOvWE% zEM&n^VOHD@-+Wb!{*{d+0~iNfx|v5{oqHz}ZCe=Is|6Jnek=(GFU(PH>=Z^xwxD^0 z#fU%7Ol3XN0KXnI6%}&_)Z@EYM!8Mdii349cIZ?`Wh;scg*F{BZa?^{O>i!E&?J)V z$b2YbDz`ybOnUajMQiwpI=pZ@m12dSyV6@U#e<76^OyKhO1J%!6BaT;6Q(B28wj#L zTl0S)gFpV0<==EZ^B)KO&ldaNbM(LI{0|ZGFEU{HpK^QaDx20TwC`htO4fbDba9Nj zGM;;3Z>e~Sg_*J$#`A6>FlQ+XGma^#mn#lZ07TI|Me2FR8~Ca(n;uS^>6R(ssEp^N z9sya}T4{ zg&{B-C#l9^sEU%?>IDbLY$HcPs^b|0lvBlS_l*;?($_$B<@>bA9+Gbp@VaXK%CSfg zX++^ci?}yLOA~@vNWLYi;c1g)!xR<|4S*rmf-3TUKHJ}w#D5?u(zurfa9_o9hGBq2^pg~CtYSnIeJhe9cV{V4Pm%>zvl$nstG`XsO{ZT3TI_fP@%*I|WQ4Ge-4>ECM(jeHrV@XGj#u z6N#xT;a08eELduzP6Sb^-9ht&kr*T!L~qkUk%2qVTwI3}GUf{zFRdB?L~+RU9xI1^ zD@kQsU)u9IFD3xgah)quII;2<`Csv_%f4V0b6exfIE8EgRh^05&G_maif(d|?MS_0 zMD_FE%Ja30l8@Qp7)9acBVNJ^) z-bcLODDJNX*|3W;Hb%XU0JBrP{b?i*mghzSwP4$YqxIxbKqjq1SF-MNwL4J5-T7e3 z_e`_4U}f$FV9FtA{r~CVH@g1v0<5(Ex-L%7{HHhY&(g#15W&CG1Iveo`JjjYDHGSP zWGR!&3;(w9m2P{~MUHHWf_h+&?2J6Pt;r(wXrCKji%XgerKp+Y?IE@Nh&-qHW(-HF z#lZMrIXTeSQBep;=_Q3}*ln@he2Urar$kJz-`$hFj73%GMtUjeXOyt_^PU|-JgZr7 zfo_*OvGgowj1T=VlanqGE6$uxLmfXAqriZ4ZptkmaWc+96 za7^0(c&yMoY59&#(MpC1WkmH2Fzdy&zw{{>%t)6HCG-W@n^Xaj4uU2`9=-)47C)FF zkCleS0U4^JDEkd{5nt`+-eP~OIJ{ztCaKr{cu1cmXW6$Ccwkjx>y{9EK^e?1*Q0#J z!iFXZB?miw&&DhnU=-*-JWIygS${lwlHewA06M8rP%ziXDLz!YovV|G2#;jnmCdo3 zjX5l8g**_dL9{+^A~yqZP>*LB$;I4@rt6ZdqpSGbOKYIyQQjviI@lQeC`p*Q(_Td` z$&ggxh#H`6ftk#GxP+oisNQkzv*u*}zI?8}w~~1Qul|Z&qp=m@8D@uQTVhW%N*V3C z?IDmWkmZNhc@um-`4CT)MXFyIYv(-Qj~q;nOU@mJ+1Dt;)MxmGe#mPk>8SmZfE%W7 zY=Z`G;+DQN^-L=1YelfZ899`xhJCZKwd~!IU)}dyG zhH07(y+5SUyJZ|DeGC4bi^|e3lQb z@d4W3mH)p9{B|X|zn1*`W#9>{^DV{>oq8KqO{{u-n3LU_5zphQ&jZm_Ayo~6mZ-&0== z3!%^o)P)aaHy03%+Sj(o@1BmT7lMMP2Chgc0aivf zi96!j)iiN++NNW>@-4sRw&VyAnEZM6rnA*#M}OJW6t8q%1Nf-QfF70AswaJ9dbCW( zrV-`mSbj(({X$z6*fPyj?o=ZIpzFQ^{04@&YL|dkQ+;W=&p}^eqCLR;?lC}X= zZMw?Pco+n0`LK>3$`sx)PNBWs76jjBd6}vC=xv}9HD9@v$Ei^b>wy~-r2>Z=KJNpT z`KqjY zwNuduAy^A>ssn2x7bCl`0rpJ{;#_vuBoXr~P1xp4af^O!JJAUK3CQxt-~XfK z`8Tfrj`R=N@PYK-Mf|@aJ^uGPuffej1=Z*RhZ%loG4Y*}8O=-eyh~Yqiu_q^=e}W8 zh&7h?&El$fA{B~aTaUV%(Z8)bDe9?+Iycl8^7JUS72Sy zk-T8JkF$C5!6}$+G4$lcv1)^E;evF5Kka?UTEtW9FTE;#fRBm&sd*9Y{rusWKH?@b zW!^itVD;>5JR!jg74~6>=$H{qzK8O5Dwp?R=}|u`cAP3JS*t7=K9oN{?Xzfxm;@EE zYPfL~ZQsUuc-tKc?*@ho-QEzS)hD#*KCcbS2Uy7pE3LY~c6%qP>Lkg!!j8~xNdyi=fFWt?=dq)CU1_|ssNR^$o~X+d zZ;H_{S9P4z8S-&mvv4D-F=M;bq+AZ4gIbd6b7Qt=N7+&)+f-m-a)c#E72N3Fmo7Mb z?kABPgeAh3n}m~l%-BMm_l!wq7;B+3zP^^7UkEPWeq66p9 zc~v?^0mm9aF}K3;*o?elRp|$CuygZhB_*&MT-p=DX%L4N&k>m&4%xB((vywVvAQPI%U1GgdJOKC!$9_$J!*@GkqVs^sZTn?59%K{e=WBOXN$zH7RBSi zKA48gpvfyDCEAu`TOu9VeaTGF>LQLQ+nI-|LE`yNhHSFk!MBKCwA?%!DcDgSfn`j* zv~Pv$S8P{AhP4ZSr%0<{A5QTfk7oZL%lbY=WQwADoxXc}!2G%hVVj|+ZB^FINfe9F zL~^d5=lB_yU18HRt`AqI8eyA#nJWvFul?cqRVG!GbS^h1AX7BYCO(-H-*DfaF z9meUX96#jkfvqzms@?_+HEo{yT3LVpfC%~S7ICl_BWvs>w`j!VanXf56x7;Ge7t{C z+iT)6s`5ke!Ex`#AeT0hsv#`kdx(=zRJKg%o3!0=g87oMXYAClWzyn{yi=^7Y-H(S z#nU<{3vj5Faz>O$^dH5RL1$Vd8`H|bzASn%c0wSJ|Dkn1!;$ z@=R*Hc7HnDvYLy?97Il({Q8q%yo_04DynTV0hoXP>Fja0fGG4#EaOXJ_B3-RrDEEG zr>?EtVykEA^pj_j9`+s4VO^3t?~)#4uUPF>)3mE1)SfiZ;!Eu@Y<${=4LN&xPFkDO z%Yn~PvP)0MRhcW2aOe&5T*v?L(nh?GYt@$di>4c|)`E2XP!74)2O=g*bB>Yyff2(| zA9WrULt3-CTm`Kd84YkHxN$d<@bsi)7rAA+@94FW4{gvhK-rVB7hj6dDJKY2VT}RL zY2BBFrpF$XIh6|bE(>{Lnz`#9zj%?0cE|-l$tpITOh7Q8t;N(&3nFPv?Ki}GVYCUi ztE}h2Bk%_20n8|68){RMY*Et}erN7a84?QC;()~0h2E`OAstWAlw5g0!-=lmeEB* zPRcsZ8}ZGXTVZ2#ZC^&wH7nTK&)`c7a{X&=&wGrDx{ppA44Y{grIu3taOlsSwv@jZ zhQkoOXn2PaE9+wNw9*S&sx}krE-KwP_0QTqHYCWOum1~T|MS)TU(6_OFz6P~VE@B^ z{-DzTRNEJ)1mPK+SXXH}wy`n|BlnWCDfN;R#p_?tLYbwAJFA?+K;>mnM*7BB{J5Gy zGMOl~CIVDn zOU6xO+`gp)q=ievK4i$Ep|u;yl<)3EbY^{=dXDDHig!DZV z^?6%5`Vr89CM2Pi$F&h>q={0_U~q*VH^bYod*Qxtsc*m^B}8D>96bhpr6lt&1%z< z758{;a-sB=xY5y<3#1EquieZg zmF^#EWR9BnXro?q1*vC^T;@K#tM+4(HAi_v32gxsM`i9+!pF%L_2}bhs&PseAU-nj z_PR5^ht^x2-#x{RP{}dFU_Gal*Wy){;T1jFpJ-EnK1NEzU9O~ z-Jw@&rF!DT-|;w`Nbq|ba)Xw}s1bujTFf9~G8`tC=3HOB$$4&s2_P!K^u^M9dwofl zONyRdnQRpQZ@Vwu`N^3MEEPm773^b}n*GiPiYnr0xT-OPy9}tdEy8^kI2%vnWZm~% zz&KL_EUq8jNj3ww>5vq<` zAvsp!%;J$|rH2)vv)Q}0309Od&r1@#+4+&h{NY8)#O89vLoElo10t)z{87JW%kqxq z3Q21#QsG)MX9deAb@QM4zdoFc;YLkV70_whd`WypKVF#ko>S8Qy}*ONQt zII3~;H9urUn8Y(;UDGj=m$WUqoLttr2m^F_IzjipC* zn`*Ov-1Hf3%4iPtu*(Y<(J_ixsiTOUKM_gvGMB7Mokulh2^bBb={>EFHgo@WPjeG} zr|iE6 zF8)=XbAunZ5#2O{(j+x3eTcq)vnjtaEz*7187dlri71n%0V^+|&r=xb!3-94=Vgj(J&<5;zm zx9C;jVuJF3=k<=(b9##lVVaZ0$r<~HDnAN;;8pHPQl}qssl_JyLs^EWXc*r+r4I{u393opfD&RJ<#7QKNw9H`PNz zN%PuI)Aj-@tk4orGCmxqt5l9TE^72qGV-5F-~ef_meg>WUz558hJIYtOyrf%lz#rbJh(J1nQYLMP_-sb6R$Yk1!xYJ9b0vlNb z27~Ni_*a#)wp&de7vka}Ma<`Gs^cHG_G(Q6Uj!IFOlt|~AuBW#OSyoP85{1gh|x3k zG$Uvcbkh6`G}uOuOKzO`%5p+@Mn5<~Dz+Rn4!ZYHtbk7s0An3lud4)K6g@^OfsuAX z2c^;hjZcEq9@4z*5&6BTf^*?9SUa4;UTz4>^=U#()heL~s&u^3;o65t{O~M2S{ljw zFmZh1t04?w-3wnbDdjU*nA|eSoQUkswtBa}^p*1wOu-T3UL7f%rZA0@L`XcO#^`ie zSnNOTI>Tk*dXqFxw^nUrDI+4d8%c|=C%&&VeKk%Zj;O<+PB>rI6H|&FAZ;Fh^hHYE z^zutoHLdXT#Q-_{XCf4x^36kz&3SNYn;P(zU6(orC0pv99un&rL=QG89_9nSmXBF# z=~2t~cnwvJCx}8zsG65aTNq-+G`Qu_*8K?2f@0|mpfVnR1hUY7ypE{kpw#NtKNDXX zY%*MIOR3W{g&rX6aK_)lBR1xXwD!#TyXk_W^^O@IwzY4(b9v~G0fJs_T1W@(a@K==YE5QUud*?FHConF1+|F09m2|`^{{V8oM?8Q4 zz@NFy?7s(X{#}&2DWdrAY>wj(pZgEWar{qJl-J9x&$6Ol?djMK1u+P0;7(g%K$g2z z)5plD{w%Bb%4rH-IQMz6n=QqR8e}e9RP^Vm^4Q#G{$b}Ni+kVZ=IuMlxfrlHkDgp< zPq|od`z3W(^D+gHnpPg>V@0}>vnegr!x&%kL>}DN!5`W^mC0~AYfDn5`|Q%+;vVnA ziI?(2_{z-T&GZgbVrsqlRlrG!kD?M{E!6yq7a@^gDU>W#H%!=fZ`Dk03C967=I2F( zhwJx_q%s{|gM09Y5Wdr_F&`zo6dA@A6%x#UiJPT?%ON;DhS5mNNA=mZUEV9frE4UX z2e1gF5ik_#EF}4q%dIgGVl!Ij!m8H9L8N$O8yIDurAWmiqgvH>?VA*z--Ic(L!zURMzaoxP#OO0p8R9TWo*(6E(2m$hd{3Fz@mI7_e)5)x9u5^#|<*%5`m+qN}hOP z4sa3?#q|IB^$3%nSR_3HMKbkG2$$z-W-o0^yr|CHwsESxVK7TyI_PQ5*cy0ux96`xgjWi`@uX1Z;JIOu3v?sKebkR(K}jk!J#; z8Y@c@9aMHG7E-}Q{()Uequ<)0$ivs^^~$S+w*1KT=MPmo)4}ehB+|T6ZN9!Twns`= z?_yl40&KlP!?}B60kjCaZ#DQMb_H?VmB%TFHFY(1_@3q-JWX47GM-l$;n+v~kaZt+ zqa+I-^P;Eaxk3C1sC0Xwk2%M`lFQicoWX?0PnESj-J|hddz{KXDEKw~(x+$n+m^6< zD)pZw@voBT-dJ3CpgouJ$A;mB6;djPI{$2k6GBSEv<0ix8>EKsz&1uR=#(R|erBKE z-}daQve*Ll9GV((7rzSvewcxHOMTb7XR&D8)4?n7=J79$4_o(}T#!u;xRr^PL>9w<%&82*8#|EbEeK}pIUQuqPc!_LXh%oquezp*O^?#UuPpbaO{ldS$Ef?rYI(E^)Fa%Y;2RnTM_Y4yI<_zG{bX;2FP>Y%Ozcv zG>rrXZBXbY!GyrPXbnnl#u|N8Q94U0J?bF6>7e&O%Web1dWPGRq{NshMepNt z=7^riE*M*rFBVJElATxLb4w|~vb`B+i9ht^Fpk2RvZ!XVu`0;2p(7Sx-T`FRMe65w z($N@staC;h6xc)D#!{Gq-ugdT8DY=s=x+jqmp|*YUX4s=W~_hP37a5>fs}4a`dl?v zUP9-EO=pWu|M&C))DC6Uaz$huzf?->3^Kc3qcAj4@Y4+Oar@{l#TDWVS%RqhMRaZQ z8+DkpW@^1KSk~)4CFrnX`1_r(%JM+?WL*ewq10^lc(y9=?bnY*1Z#FI zNz)4s`%?^0v;}Hcy@a^yMBZhA_sSo^KP zugFi*q2!$?g35LHefLQ;Rx~tM=yYP(zH4b3;K>9qakt}sKg6{0aKs-7G;>WdR0#*a z%5}*XiEBNv3?8JO)ASq^MGU-{@Z4d;R*=L02MGB+(8A8l{GU-Fjz2{h|Kh074Pe}c zkUy;J4}{!sp#Lj}YfzR_m<3?fU#QfRr#4$bCt~GNKmRD(-{ur)2)B8xivc@#jy#PB z^RW>m=AS}?x|`8M3Z5`JS=ig=cv^_ouwHSMX4DaLc>l7-*t;| zc{KKqFZ#n33=E@s=gp)*uSSn~(yq)h`X-`jzUU~29L+qQ9aAXCtC!SSr= z+KtG+aU2rFqQpJv&8`2D6Vjis>!IL4isnlCjTO!l_n`ybBFlMSwhOji7fC+JYcndf z#3M=8Zetw{MJ`ghZ4t(_n1bOwm>2AmgI?GAO30wrC13tEw7`OoE?ljTY}XTyWsEw+tjcSwb(GqF73rIrh3*!<1LGYMt4 zZRFP@l;>;mje0_wGi}meW3`fG4j55vCA7Q{n;1`h)z6_N8MQHeT#ecKb~k8SLStM{ z@F7#?!Poulmz(b`{ZIwwScPX-!w`uiTbDFq#OhZ0uWDS_;j}eCI1_M;EAfN+z(OCy zGru{pAk9zIhcH23Du^G@g5HBlLO;oWQ)vGOFa14u!OH$;?3UyA@XNm&=x^#gZsj0< z2*__Q1q1%43eWL)t?TI=FZR!{MH+gt`2?aJ!`y^0sD+S-fkx`AyDj&b^i~Qx@?*Vq z5V8Z~hfHxt?a<2s5rfU|B0M*r&>e>qnz2P4lRWit`^?3Xj6fw=*TE(Pe?}Yk7OBSb z8#e(|u$v1{V6%w>j4=aA-TZlr_Sn-!8F#nG<|^|o5MGX#?!{D%$Fc5c`z~8I?{n~d z>vGZlQbX*E2y60|8_niEgES8>OpATsoA$<8hhAOoD>-(d`^qEYZqT3@Qk**;^0R|o zQ{n$!Pl@Aq?*8w3$hANGcN_x){>0Zm9`ZjGIrb|{SwpsAhfIj*1IFniA&O(Jt(F9} zMSm=RESppi1j`hx;f+3vp7XJB2fYauZiKLafK+0q#@gsp{q($59{l|F>3JH(Ox9O~ zhSz1|=Fv?mBRpR!%zScZFlPL}FnVmA`bLxU=-Q0zr#BB!ll59(E*c>xh8m(agoJ#N zIab*5^KwJNdJJqeG?{#($up3p`QqJM?RWgPgf=K8Xm1kO91vZJSVGd5Xz7R*;VAEa znWpdUWvh@hs9sw(I(qdelQy&q{B%g~goTbo+^9^_pumNZ^a-)S6&7|mUv1Tuhc_8D z^?1?CVAb4=u1A_)Y5fM;Jnw4Z$ih4Ij|zQ99!2nP5xXXt5jefMdXH)`pQpyi#D~?+ z9c9yg*s~J9GxK_s01tj^rttYhbO3OOr6H&+kK~0i(+*w|*Sg=jun*q&@JS8Xy6w7LU$;&jM^Fy&TGg z?o1|yQ>-#8aQH6zL3oxlk&nr#Q`cF&kJazZ!03xZLU=9CfI~|PP3Nxg`2i(yBHd+^ zF&A|p6RHBHYQzs41rOrU zc0VS}L7A(cP9J(XTe?l*)1|+9-=#~xbHD$AbnPn#k=+6qbG4p$vYE%`n2o-N-{O|k zos(h8VOPkFd(zH({EG3c@`c}6Up#4wdcYy#Shq9bG%+4V#*LKeLTc~G^qv<^%_$Zu zmBm!{)iyl}@*7P{E)64)#jW@ z25ZXc;ulD&%1fm}zKI5Be6Wo^mcDlhh?3z>w}t&`<8tMD#q6e=mIf^q5zOZFb|Z=T z^P8*8$XCvIvsS>GGF&-uCTdug3V`v&v~(?+!1CeaP}pb0?0ta+X6Qmn6=X{!F$Vc` zk+5UmhI0~9WEti{=p-m5O19%*uLuRTjkq_2AQRx;XL&7pB2z!UZ!73)7#D!gOKADT zr%FHstHWSb2wpslpoc1J!wk_|6RBN+sEYI$K!*w)G)J7xO7-0H>FCE_w(-W)53$F-GX=#?*c5f%_< zK?Ra~7p^{hDPjF;vTLJciqP43biojt9DcB+n*Wm;c5!U`OT&86#1Y4d+JR(bkJV7} z`t+x{PxEn`3d|Di-%~9(ih3Al?zhJVl&s%(FUnl;4p|DW^r3u~6+_S`T1LkAB_-Tu5liG~s)Fq{uOwvA+I8J0cObicMd9YN}p_EkTk>#L0(#v5x zf52RbV2)+kn9mV--}@em!|)G|_B%sj1^s8R8VvZItJ{wDCp`agw3}f0 ze>qyJ@~j7Hyzl?v!>P^JD0(k;4&d+;IUZz~%LroL?`>DRbNmN;M5W)QvU_us`D=GgKJJSU zhiW6OXrJCYt*3$P`d9T3oB44l($(Oo4+=hV)+e-tPWzlNlg`NQ$Vg8VY^FG7GI$Pu z-dx($fGnTr&R7bRY*;l$WXL93WIwPgH4rM|s}Ws`Ru8M?y1Mdc!^G^;)R~cDR?#;U z`y9BbFr6rk{5Um(Gw$O*VCp~-!x;YN+de9$P+){5p~}uUH~*q8yDkdPEfCcKHvKi{TGHm%d_qZGK7}(z)8}z^|K<3FD&2!W|;uqYZP< zyuGD{g%kv_cB+w$p z5r?B4xKXz@p6p3(z3u*dU!DLh8Au(K2L0ZL8Sh&{x;qS>Ew$oTq_V2G(lAra`{K1-P`&W-52iVGTs+D^7}5 zENgPtslnO^arUDfJxczqqZCSOv$M6$ysP+lzqO-A^EhE)$B>o z)^qA7Nbf9j-oGP!m08R4P zU`a>b34gL(k1MXn(0SI+I|qa1q`6vWoM4^1{Uz0O?fo&3?wd>k`Rr~eT)~kJ{satz zU=;ayJ=|ApVU5XRk4fb1Q2Nl;K_5x!Z0!l24lb>&{;Es=lZlNgLT!rP-s%*~CTu1; zIm~6*O_t0m)qVP9-s;lyE`3TA)IsZKZ{F5#?nb!zSz@ycG64KP35x8ZF7Cr;2NT=* zdvnw19Zb1?_JEHCG;{s~MEy<=|7+(kFyMEB`|m>3O+CPW<+5PlACB@Lhywmk)scbM zBTk~%OxLnHZVXm&M=UbdW(F#Eu}PkY1gsu=eRA|r*L z&hIyPJ6OYBiLB$FUyqI-0>66Cy8GfbP3lFFAr*g!1Psi3;?Evsot4_bnL>@lmb zF^QeqVZx3Us>)lNCxjE9r1QQrz+Q2+r%b|vHvlr|FrwQz@#zvl`0P?OGdYz%)(AH1 zf(Cb#5aJu}$pxiIZbvrTd3j&R+{3R^r2Y={glbNOEW>pri22Oau(3F8pv9)~ebOKd zO(^3KyVwQid>HK)!H!r=Pl}WuBa5dP#r~W6gvOM^I*$3l_N)GftUdbuNWiVQtU&t$cGVxN)LT-A)npI$#+ z;2@9Lgo9-@_pG0g-zcyJ#h&{6@>>Tbj-ioxXbfZ_cZAj<^#)rmz0yZ^)N#-`76!1<*i$QAio5EXW7R>Khtp;dlx4Sc+iRFhKPouS^;<;@TjQq-@X8>3 zRgkZ%o~$@V4Ed1dS<~16ZCuL#COx@IKSc7?;!t}0mvP5~?+MxRIF_rz0s&DHK`rew zvSB5(dLBb!`<=$6`a;pmx^i}fPF$8!(112cVMWtuFs4~VL#9z=uxDYd`t*cx*O-lj zjj{lAncp&O;aRI&<9m<2%%|LlO8Pm~i*%ZS6@#Zt3tu1kjlD&f%=QbJIiMiZC8k{? z(g>I}-G{Ai&->u`t`!voB~MQBsXPU>`2)%3@`$LqyI6u~OLygqdl~oWq&4B-MHmvp`FlwcEcvea5kwQ>M9IcIb zHdh7H_m6S4>eN#x81K7@k_g?yFx2L^zDASu}E4KITXm z;M(!3cp4_0fK+vM9xk*-#Fe)ktle9R(X+ZZhe44Rst$!$R-7(F&-a}#m$ymz!0^hj z5yAg?9rAw3-uHeT=bbfur$?2nQdE%-FWR1uZWszGP#9i}KUKn)Gy#*F-qYPxuTCvu z%IggU)LB#y4YN7Xuh)otlm*4tRVvyj;P~Ppg8+s)@ssb2Nj}yf8#ss5@5(*MA=Vgf zq_lV+Mw9n=5dN7Qx>4#1+P&eJ=}Pj7uk~LFdQfGAm;(ioVfW{JhTqj_^d=u!IFUFu zQg&MP2{=yJORiRG;vE@wTACGy=cF%$8B2UwZaXQ^1NU8-P|r7Q?Y<^hX|=MejDGdq zXMOQ2-cT6dTU+-et?_jOQVKM0LiYVD_d#+uJGZaI@Toxu05`l#G$@J0i@Ugd18dhK zC_o_lf7X-$1OF5h{EJE24GiDnj=(>h_75=MFwFmpJ9;WN%dbGzl-PJuXNO;n1iG(k zw4MN~ATSQ_)t#D|neiukQU<31icXRIx^r6fIa1dc2Q^=OtoT&>Oi&v0;SAE4VVQH>oA-di|AD0*Tgg|x6z>o(Tx51ySsL}7%$Gw| zF^*gQ01U~=S`e3{S6BBvm12E;pBn1K-J{;vu|&??8S@GXjUdbq?1|u1`LckS*H;Oy zL5xgv=EOdk$-^uTDh#;JB^7& zOg-Y~bxrd6A^`@ZDH-}y=)Ah}Tx%a>@iy_ZzUhJ%Z1`7_=i*qpv^M+S;lZO4e%wXlTFd4=*!tIkKS@v_aG+!SxFZOt*z(!RMIf#r~YPR9y9Sx|G(-34S*1={5B8kF%kM@~DE4*FPrYIqo39gw9K%qUnQxI-5p z)hK1;48J1WKR=K8)Y%fIT6(qneLlJ?Z?ZP!q)bJ&Z`bMiCY4he0$*3k?ywAQl#sn1 z#g$??YMHTa8YOGX+l?Z2v8zrFnqZZO(GmWvJ(AF))01JJrbSFX#5q-MY#mmo5~MI) zhGy!S=M)j?B_X_TpA^zWeqcn^WHbfb)mT(8ZlGYRSUr3)A^E&sTcUlSsOU5aRuAo2 z=H(e8nY37rnt_v4AKM%!zE$PgyNPwqnv_)dJirC=mmw>H;W4a+2j8t0h>=1v_a83! z_kIv9OjEJV6oKhj6{-(L(!i42bE{%lbLVfU_U?S=Slm=10CbgaG99Yj<;r63g3h}B-0%vlSq#ivqyiZAL7}N z+Hy`lU@%o0=pzDE;n~&p5+IDv;p`DoTXd`2j4HW>9Msdaevs1P~-$Pw=VM5<-6|x z17QCirvicie@4}SzlYlXRVIA{&$j{l55xZh*f)Ip{{rk{$e8ydHuQ!a6%+?kB=%Qp z@5AjKh+u)T8?EZZuSnn-IYvNB(T}2^2%MdyF4l$r6CvQ-um(%H2f`NfSrp0b1tvL_w z^Je#&<~l*NFO%<>ycrs$rI*fnU(3EVK3+10_Tu@-?R^4U8K|lkgxOGOFSxQz)!QC_Nu?Graj!VXFY@W|MG{ zai!)crtS+$ooXH2T+jPLrt!s`i6cqTHihA#40q7*k@2f4mWI!@ljOvptoC2SGA~$G z@}tX=+Ye{FkiW0ENKfwyPgK)NXRU$hNY0I2XZP63+6ouO%0$Q%p^7rhVoV+YW?Xt{ z1Xaxc1KIS=xB2%^#RyomtpnzAKURgkH=@Faj(rI&p3Nytw8)m-uk;VE`t^Zp+RU4Xb*IZdQz%w-Pu(R)91z4Q%$hGL#=jna1D>|HUi#DJ zrkWo8x~iN!T=DTN zm6HcS#3KwGb@!&2@;2q&oW0>}a;_;n;i`S`aljTI$Mi%!4i?;&W4B=xd;ZHNAfX>! zD1Y)aK#|Syd1O>HI#zBWud|xI*FqvAq2)8;_xw2mJ@@z7<^*2}$Ie6+cWm)K`V2dX z?8FOUm|#uNP9UGx6RJ7lEhvN82K)e$jrS%oW6~@q`MP zsJlY2FH&C)iy41glMW$2n+q10K_?uHydQ(YG0$<8W|-{fg3c4xIMic?;Hb*aD>8lB z?K5XtP$4~%wc5z7C@RCfZ=uD_`pOQEM6rbBm6STi4tMRve!DjQM)XHi=9%F0*jHH` z-v))|3lpklk9aCKry_w#2-#`Kv}M8Ffz4HEgz5C0oP0<3gmr?AR>zr@L>)@FsLNwK zS5OR}ob`r`i}zx#&siR0UVh!sL&`L30E`JQ?Hpu>ub^DI+w)A=u3j}1dHPJNiLj5X z;s6)+|R}Q;Yw^A}jr$tT?&pGh@?C=B& zX&8>-vGK)(qM?!|*uv>}eGdcN-V$uYy-vh7zF6>@|>@C;@{o(KbfnCu5R1oZ`_^0Yl+!zpsxR%BCJSl!X z>;8w-0Rwgf*JiqMK??kykNZ9Bw7wL}B;>`P8a=Hiaf{IzzrR~>9fni^^Q)#lwXFBi zoB77Rd+zTrJQeg}=%bHz9*n6iPs6K>`7MW~e#()<)$tInhGzY6xR&NOKS(b}-}@{c zVT^pPhkvL;+Ypz)fUGz$QL|h9F-L{GD+<2`<~6vge3AJnDSc(E+mkVjfSxvC1Iiej z>e?46mgp15uNL+D35~Gi{9ouj*nS9V#ROLcRQ zx+qq)StU0uGw4#=#;(5px4YCDj z0>Ib&OrA&cWiQdl!mW&y{6nXzd)&thEbyvOyHmojA1ZB<FI=R%yHQs z6qj)qzaa5*!b3G0tEX2`ReI*}&K6$75+tEu@}^Q0bN!1_D@U#^g{w@`g|5_L85Z2- zdj(!=S@mVEP-=81vxV5PUL%*i{1fT?OG!VP;La8N+Tm?NRaGa)`M*(%RJCr|2m3$kCtUkgxdG z_?3Bm(+#7Qv5NHqE5~{+w(}vS$C5FTJuEchs zgva}yZt>-Vxr~Wc z1%PeGv}($2>Bk##z_hbTv{1Ctrn4MIEajgQR0bXq|MV~islYg@S+bnG{UI&Q>>7K@ z^3oKrnD4`5RdVJwV*QV)qJEUpUbFYDx2-OfJoYawP&G%1*q<9OhW8CeAlmbQ z?eNW@T(3b_{fsy!?gI-04i$|pLBMc3^M`tpFQdm+u=@^!KNvP%9Y7`|hM(Y>2EEB+ zPm$A#exayDJFVb(-h1>$Wp3-c%8zQ4#wWnXq?pk1w5nzFqZ+=$Wd5R&DDT>QpR_P; zZ^;-OBg%Mwp6RMC(MBFXc%W&{ji*;* zmXk=dJZ8pq56yq5cF%pdeImzHW3r04y_v#+)9k|*QfdO0dEd_4+DFLs9a3#?UWjsW z!z4$FF*|fntQG0oLqT?D!WZ!a%-nawjY{@NK2JA}**tRK492u};5^A}&Dk^S7vrZq|v@sLDW#I;Q91fkmrG2rW^jTV_%yHBs8F0|p zNTF)kZ-w!_3^#O+MDjb$F=k#gWr3(|HLp)n`H>Hnc6}YG)~6gDT@p`4-6T@f&+F9E zu#rgUHk!pqP!_0}9dqEuIZt>+UFkA*QGR=V;CjG%`ll1E2Nh&L$Yxn_FDt)LHkC~?<4rtBq`k2RXo z5AU|I3!$a>#y7SmHvVx$r=ARY(z39YsFztPVM%-})B7!pn(j-y9@Jw5@^YhC5@*8q zFLE4DoXv+nIyUJXc8p*h&!Ozm_ zWzdg7868k`7#F{cV;`K;r%Ep#ZEs_KKbEnrb~_~ja;d$`2|PSGd2N4nx(Mxc_U)ky zB%I?xNzNAd1)HKOTS}lM;%ZOGUp!x3qZA@rXIVY8IC4R)k8P@att?UByDEMT^H?sr z(|%R>r4;P~A6;rCms;q#q&6LVV7G=i0zd9z@lXkdHvVpt#WUBp?NAdKcB3?E0dJ(t ztL!MRj@DliMns6NNSMw8+OS6oh{~NXzIO0%9ON7z6bNu;HBT{my-T@&){q}Cl5q53 z)Xzqm18r%_w;-7=0V|-9#-hj~Ag=x3ts{cehZ4Ub9^hMnH%dDb3KV{)Ir$W8E&E-E z0#i?Pk|zA)uo8nbH-m?Qc=p9i#f|%=u?>*Ng9Ck4pMMb>D07@~iR&FOJ$n4*WihrC zB27J-66ZVh7Cm*}c?U~vr<_{n-S*tUKJC41A~?5nXESDXnnJ142e46&RkUL-WAjX=S0x_uC6E}M<%u@)P#{t_Srb;zw^!Vjdg%r(U~1SWm+|ee3RM2#P{H1I z*k!mP77-t4zo&13;#}=Ft^I9?q*aafdiPdtGvibY_ zqtcGcJzZfVsT#Z!PJZyQ_OdnMD0>yGxdo+4>|nj>;ddL#)1|U`*s+x!;wy3Do0d8mnS4HZ&E!iZ_?Pk8YD+Z6n_r0ZS}$4-~I9Djv30QP;)!E!)En| z%L1`by*y3oivr|;GkUoA19mBW)M>jG{i}O&b{8vrDRX5M;R^9{CsEuzUO`)+)Ha*m z@@{VZ5R}X_!bTxe0?L&3Y4l}YWz!VHQb}J1WqX`Ys1JD(KYeNxsIT3Kr03|H_B+Ij zqn8_MMc#*s6XNdrFsQF89U(5)Lbhy?cx+q29;OEU3D1m-{)Ie|txxV}s}6t0bH}l- z#9LkaUvO+W6PHXKTGvt578?{gFzKwt2~~w?jbkocV_UX)v=}PBjm-{zd`O{y&GYJ@ zy{3Kbgxn(_OnSdLms;0B@o8?*i(DU+hBjUkh;wUq;tw4S9QlRPVvf}_5}web2cKqh`Yd&8SQ z3s^hanHt(L30Xb2HZZj^CIN$PKAZ9I{GR^vQ*hk`+}uCy{?=s@G&M3Zv@^7NZfLK8 z1O%}%Iha})7;62w_79aJxw({tNmkF;(4K@z!qmW?L<8w3$@w`-ar0?W9_ePl8gjV) zF_6P`OUonOa5Bi@XU*78)`RpDjgi1N=?)V3r-{p~*e_FoTRu^*i)5_27DIq1{ zH#S*rxD(RPO=Xa7R?wG6V*P35=L*zFY`>oG=d-Z=wDNN`EF|`yR@i@9`8lZ?iR0(9 zaQyy7*D(b0BLF|`00F;#6yT>N;Lp+#$QRb1wjf_xf9n4nk%6@6PjkRu(FyqLjRV2I z?16vT1OKx3Ycp%$uPu9l%)jjY+AI(FYp*IG%dhAAwf6?_*Bbpm)?fBmf7$!Bv?uV_ z!hb-vU-o`2&;$IntOk(%m%U%JJb}NaY5_TZ+2i*L` z`ux}P-AtT=oZn2%xjz1UzMrMe@<=}`F|Ut5pYP|_b;$WIANVSNPv(JKYyI>Pp#5#=M&I#(6g{M{_TZ7Tkp>W;G6dR>FE%Yc7}Qm zrq))1dJcvpG=iKU000C4L)rq;{2&l55|gZ*wSnVvLpu^0J_|hq2zZc)m{{98*gv;3 zwQ(R}VFUtb|LbX7>N03={A7zyy7e9!2acI~FO zWsnVbAg}DU49s>71Gi-?fNK}NEd#S(ceC3vmVfwdtSr~i^_L#-x(nWxv9jE4D>n9P z*ZoV6?b;1*%h=ejq2acS190uuw`J^rYZSgM;{dSztp@?ZYbf|j4|I*vw`35#YpA&` zgP_!1J(g=||6A`mcHEXhJnrw`0feC09X$}owaebVmKl8Q-nV5C&%7gJ24BO+Z9Nu9 z-SyuxW|nLC{#)-F5^u{`+3xg72yowRQ&zS+eGLYk@b0zO5A(M@=DU3y(ygxP!R`ApgYRC;0=%YSxAju8O3#708-OdobJHL$?1i0f{5YM_M>$mJd^sZ^~Z5gDq-PHr#!2@RS-F9Y%#D%-| zZg$$ceGf=n_!~Q!S(xwOI5Q+J{M`l+z3XJ-6Hb z9t&i3u)k%@5c>SLj0JF~pR%xUT&Hb+*#q6-tPs6BKEncWkH7mGgeBg67B;|js(AYz z>^EuNZ5bQr4yR^ezeyu+>u~_@wkbO#SNQuL5H9d{8?avI6nFG)QlMM+fau-veO8FM zzxxIR!S1vvBwF6-8>|r8`S*QUfp0oS-VFA zse7End2eC)iqOxNay?%k_U8QM*${&ien2GB3BMM1TzeO$5_l>q0zYl!P&eAsPVWUms zQkdR+2%Pno&^n93phjt2f-^1<$QyRP?r{z-Roc~l7|XsLd&*&ov-%eEDHjT^S+Bt# z;+n6~l31@1(|fvXUG$A8QD)Ogxzu}rvz$HaZv7Ue(R>J;apj~}YL{6dfMP3frVq_l zjVt2?#!JAN1~re9GdBv7?h8HD_a(KPPfnKX%;XZYAAX=Yf)>Jj5|zPn=fv^t-AHz} z2X#hcA9W*T=*6!lImg!Ku6_lPYALm^-{ytawZv)tC>ws|xI=A_IE|UI!9nD1;EW$6 zPGb-$%{VoO%!Ou6_^h(3+PxwJBZv8SYT+A#v(!Bqq~J!41{=z`;1w_G9LF za zzsIca0ZEq}k&>^*FP1-)cP38xJ?5)gyTMJ1UvOHx8A6z5#LwHc&VYN4&X#+mq^15$ z7S}#BpG|uWW*u~=Vi%-R$Km$+9^foiD-x92l&Y`&D*IODqRe)dImF}s`u^+f&P@4o z{qg?yEeAuF>-XD@DOL_aFW0ZXf8JOnzW@CS`=7__{qdY4@v}N(q?eb^-@bhM01N;$ A6951J literal 0 HcmV?d00001 diff --git a/vendor/gems/icalendar-1.0.2/docs/rfcs/rfc2447.pdf b/vendor/gems/icalendar-1.0.2/docs/rfcs/rfc2447.pdf new file mode 100644 index 0000000000000000000000000000000000000000..17c2f90bd1848afb2649ec00e62584c77601781d GIT binary patch literal 22726 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

+

RFC 3283 (RFC3283)

+

Internet RFC/STD/FYI/BCP Archives

+ +
+

+

RFC 3283 - Guide to Internet Calendaring

+
+
+
+Network Working Group                                         B. Mahoney
+Request for Comments: 3283                                           MIT
+Category: Informational                                        G. Babics
+                                                                 Steltor
+                                                                A. Taler
+                                                               June 2002
+
+                     Guide to Internet Calendaring
+
+Status of this Memo
+
+   This memo provides information for the Internet community.  It does
+   not specify an Internet standard of any kind.  Distribution of this
+   memo is unlimited.
+
+Copyright Notice
+
+   Copyright (C) The Internet Society (2002).  All Rights Reserved.
+
+Abstract
+
+   This document describes the various Internet calendaring and
+   scheduling standards and works in progress, and the relationships
+   between them.  Its intent is to provide a context for these
+   documents, assist in their understanding, and potentially aid in the
+   design of standards-based calendaring and scheduling systems.  The
+   standards addressed are RFC 2445 (iCalendar), RFC 2446 (iTIP), and
+   RFC 2447 (iMIP).  The work in progress addressed is "Calendar Access
+   Protocol" (CAP).  This document also describes issues and problems
+   that are not solved by these protocols, and that could be targets for
+   future work.
+
+Table of Contents
+
+   1.    Introduction . . . . . . . . . . . . . . . . . . . . . . . .  2
+   1.1   Terminology  . . . . . . . . . . . . . . . . . . . . . . . .  2
+   1.2   Concepts and Relationships . . . . . . . . . . . . . . . . .  4
+   2.    Requirements . . . . . . . . . . . . . . . . . . . . . . . .  4
+   2.1   Fundamental Needs  . . . . . . . . . . . . . . . . . . . . .  4
+   2.2   Protocol Requirements  . . . . . . . . . . . . . . . . . . .  5
+   3.    Solutions  . . . . . . . . . . . . . . . . . . . . . . . . .  7
+   3.1   Examples . . . . . . . . . . . . . . . . . . . . . . . . . .  7
+   3.2   Systems  . . . . . . . . . . . . . . . . . . . . . . . . . .  8
+   3.2.1 Standalone Single-user System  . . . . . . . . . . . . . . .  8
+   3.2.2 Single-user Systems Communicating  . . . . . . . . . . . . .  8
+   3.2.3 Single-user with Multiple CUAs . . . . . . . . . . . . . . .  9
+   3.2.4 Single-user with Multiple Calendars  . . . . . . . . . . . .  9
+
+   3.2.5 Users Communicating on a Multi-user System . . . . . . . . . 10
+   3.2.6 Users Communicating through Different Multi-user Systems . . 10
+   4.    Important Aspects  . . . . . . . . . . . . . . . . . . . . . 10
+   4.1   Timezones  . . . . . . . . . . . . . . . . . . . . . . . . . 10
+   4.2   Choice of Transport  . . . . . . . . . . . . . . . . . . . . 11
+   4.3   Security . . . . . . . . . . . . . . . . . . . . . . . . . . 11
+   4.4   Amount of data . . . . . . . . . . . . . . . . . . . . . . . 11
+   4.5   Recurring Components . . . . . . . . . . . . . . . . . . . . 11
+   5.    Open Issues  . . . . . . . . . . . . . . . . . . . . . . . . 11
+   5.1   Scheduling People, not Calendars . . . . . . . . . . . . . . 12
+   5.2   Administration . . . . . . . . . . . . . . . . . . . . . . . 12
+   5.3   Notification . . . . . . . . . . . . . . . . . . . . . . . . 12
+   6.    Security Considerations  . . . . . . . . . . . . . . . . . . 12
+   6.1   Access Control . . . . . . . . . . . . . . . . . . . . . . . 12
+   6.2   Authentication . . . . . . . . . . . . . . . . . . . . . . . 12
+   6.3   Using E-mail . . . . . . . . . . . . . . . . . . . . . . . . 13
+   6.4   Other Issues . . . . . . . . . . . . . . . . . . . . . . . . 13
+         Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . 13
+         References . . . . . . . . . . . . . . . . . . . . . . . . . 14
+         Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 15
+         Full Copyright Statement . . . . . . . . . . . . . . . . . . 16
+
+1. Introduction
+
+   Calendaring and scheduling protocols are intended to aid individuals
+   in obtaining calendaring information and scheduling meetings across
+   the Internet, to aid organizations in providing calendaring
+   information on the Internet, and to provide for organizations looking
+   for a calendaring and scheduling solution to deploy internally.
+
+   It is the intent of this document to provide a context for these
+   documents, assist in their understanding, and potentially help in the
+   design of standards-based calendaring and scheduling systems.
+
+   Problems not solved by these protocols, as well as security issues to
+   be kept in mind, are discussed at the end of the document.
+
+1.1 Terminology
+
+   This memo uses much of the same terminology as iCalendar [RFC-2445],
+   iTIP [RFC-2446], iMIP [RFC-2447], and [CAP].  The following
+   definitions are provided as an introduction; the definitions in the
+   protocol specifications themselves should be considered canonical.
+
+   Calendar
+
+      A collection of events, to-dos, journal entries, etc.  A calendar
+      could be the content of a person or resource's agenda; it could
+      also be a collection of data serving a more specialized need.
+      Calendars are the basic storage containers for calendaring
+      information.
+
+   Calendar Access Rights
+
+      A set of rules defining who may perform what operations, such as
+      reading or writing information, on a given calendar.
+
+   Calendar Service
+
+      A running server application that provides access to a number of
+      calendar stores.
+
+   Calendar Store (CS)
+
+      A data store of a calendar service.  A calendar service may have
+      several calendar stores, and each store may contain several
+      calendars, as well as properties and components outside of those
+      calendars.
+
+   Calendar User (CU)
+
+      An entity (often a human) that accesses calendar information.
+
+   Calendar User Agent (CUA)
+
+      Software with which the calendar user communicates with a calendar
+      service or local calendar store to access calendar information.
+
+   Component
+
+      A piece of calendar data such as an event, a to-do or an alarm.
+      Information about components is stored as properties of those
+      components.
+
+   Delegator
+
+      A calendar user who has assigned his or her participation in a
+      scheduled calendar component (e.g.  a VEVENT) to another calendar
+      user (sometimes called the delegate or delegatee).  An example of
+      a delegator is a busy executive sending an employee to a meeting
+      in his or her place.
+
+   Delegate
+
+      A calendar user (sometimes called the delegatee) who has been
+      assigned to participate in a scheduled calendar component (e.g. a
+      VEVENT) in place of one of the attendees in that component
+      (sometimes called the delegator).  An example of a delegate is a
+      team member sent to a particular meeting.
+
+   Designate
+
+      A calendar user authorized to act on behalf of another calendar
+      user.  An example of a designate is an assistant scheduling
+      meetings for his or her superior.
+
+   Local Store
+
+      A CS that is on the same device as the CUA.
+
+   Property
+
+      A description of some element of a component, such as a start
+      time, title or location.
+
+   Remote Store
+
+      A CS that is not on the same device as the CUA.
+
+1.2 Concepts and Relationships
+
+   iCalendar is the language used to describe calendar objects.  iTIP
+   describes a way to use the iCalendar language to do scheduling.  iMIP
+   describes how to do iTIP scheduling via e-mail.  CAP describes a way
+   to use the iCalendar language to access a calendar store in real-
+   time.
+
+   The relationship between calendaring protocols is similar to that
+   between e-mail protocols.  In those terms, iCalendar is analogous to
+   RFC 2822, iTIP and iMIP are analogous to the Simple Mail Transfer
+   Protocol (SMTP), and CAP is analogous to the Post Office Protocol
+   (POP) or Internet Message Access Protocol (IMAP).
+
+2. Requirements
+
+2.1 Fundamental Needs
+
+   The following scenarios illustrate people and organizations' basic
+   calendaring and scheduling needs:
+
+      a] A doctor wishes to keep track of all her appointments.
+
+      Need: To read and manipulate one's own calendar with only one CUA.
+
+      b] A busy musician wants to maintain her schedule with multiple
+      devices, such as through an Internet-based agenda and with a PDA.
+
+      Need: To read and manipulate one's own calendar, possibly with
+      solutions from different vendors.
+
+      c] A software development team wishes to more effectively schedule
+      their time through viewing each other's calendar information.
+
+      Need: To share calendar information between users of the same
+      calendar service.
+
+      d] A teacher wants his students to schedule appointments during
+      his office hours.
+
+      Need: To schedule calendar events, to-dos and journals with other
+      users of the same calendar service.
+
+      e] A movie theater wants to publish its schedule for prospective
+      customers.
+
+      Need: To share calendar information with users of other calendar
+      services, possibly from a number of different vendors.
+
+      f] A social club wants to schedule calendar entries effectively
+      with its members.
+
+      Need: To schedule calendar events and to-dos with users of other
+      calendar services, possibly from a number of different vendors.
+
+2.2 Protocol Requirements
+
+   Some of these needs can be met by proprietary solutions (a, c, d),
+   but others can not (b, e, f).  These latter scenarios show that
+   standard protocols are required for accessing information in a
+   calendar store and scheduling calendar entries.  In addition, these
+   protocols require a common data format for representing calendar
+   information.
+
+   These requirements are met by the following protocol specifications.
+
+      - Data format: iCalendar [RFC-2445]
+
+      iCalendar [RFC-2445] provides a data format for representing
+      calendar information, to be used and exchanged by other protocols.
+      iCalendar [RFC-2445] can also be used in other contexts, such as a
+      drag-and-drop interface, or an export/import feature.  All the
+      other calendaring protocols depend on iCalendar [RFC-2445], so all
+      elements of a standards-based calendaring and scheduling systems
+      will have to be able to interpret iCalendar [RFC-2445].
+
+      - Scheduling protocol: iTIP [RFC-2446]
+
+      iTIP [RFC-2446] describes the messages used to schedule calendar
+      events.  Within iTIP messages, events are represented in iCalendar
+      [RFC-2445] format, and have semantics that identify the message as
+      being an invitation to a meeting, an acceptance of an invitation,
+      or the assignment of a task.
+
+      iTIP [RFC-2446] messages are used in the scheduling workflow,
+      where users exchange messages in order to organize things such as
+      events and to-dos.  CUAs generate and interpret iTIP [RFC-2446]
+      messages at the direction of the calendar user.  With iTIP [RFC-
+      2446] users can create, modify, delete, reply to, counter, and
+      decline counters to the various iCalendar [RFC-2445] components.
+      Furthermore, users can also request the free/busy time of other
+      people.
+
+      iTIP [RFC-2446] is transport-independent, and has one specified
+      transport binding: iMIP [RFC-2447] binds iTIP to e-mail.  In
+      addition [CAP] will provide a real-time binding of iTIP [RFC-
+      2446], allowing CUAs to perform calendar management and scheduling
+      over a single connection.
+
+      - Calendar management protocol: [CAP]
+
+      [CAP] describes the messages used to manage calendars on a
+      calendar store.  These messages use iCalendar [RFC-2445] to
+      describe various components such as events and to-dos.  These
+      messages make it possible to perform iTIP [RFC-2446] operations,
+      as well as other operations relating to a calendar store such as
+      searching, creating calendars, specifying calendar properties, and
+      specifying calendar access rights.
+
+3. Solutions
+
+3.1 Examples
+
+   Returning to the scenarios presented in section 2.1, the calendaring
+   protocols can be used in the following ways:
+
+      a] The doctor can use a proprietary CUA with a local store, and
+      perhaps use iCalendar [RFC-2445] as a storage mechanism.  This
+      would allow her to easily import her data store into another
+      application that supports iCalendar [RFC-2445].
+
+      b] The musician who wishes to access her agenda from anywhere can
+      use a [CAP]-enabled calendar service accessible over the Internet.
+      She can then use any available [CAP] clients to access the data.
+
+      A proprietary system that provides access through a Web-based
+      interface could also be employed, but the use of [CAP] would be
+      superior in that it would allow the use of third party
+      applications, such as PDA synchronization tools.
+
+      c] The development team can use a calendar service which supports
+      [CAP], and each member can use a [CAP]-enabled CUA of their
+      choice.
+
+      Alternatively, each member could use an iMIP [RFC-2447]-enabled
+      CUA, and they could book meetings over e-mail.  This solution has
+      the drawback that it is difficult to examine other users' agendas,
+      making the organization of meetings more difficult.
+
+      Proprietary solutions are also available, but they require that
+      all members use clients by the same vendor, and disallow the use
+      of third party applications.
+
+      d] The teacher can set up a calendar service, and have students
+      book time through any of the iTIP [RFC-2446] bindings.  [CAP]
+      provides real-time access, but could require additional
+      configuration.  iMIP [RFC-2447] would be the easiest to configure,
+      but may require more e-mail processing.
+
+      If [CAP] access is provided then determining the state of the
+      teacher's schedule is straightforward.  If not, this can be
+      determined through iTIP [RFC-2446] free/busy requests.  Non-
+      standard methods could also be employed, such as serving up
+      iCalendar [RFC-2445], HTML, or XML over HTTP.
+
+      A proprietary system could also be used, but would require that
+      all students be able to use software from a specific vendor.
+
+      e] [CAP] would be preferred for publishing a movie theater's
+      schedule, since it provides advanced access and search
+      capabilities.  It also allows easy integration with customers'
+      calendar systems.
+
+      Non-standard methods such as serving data over HTTP could also be
+      employed, but would be harder to integrate with customers'
+      systems.
+
+      Using a completely proprietary solution would be very difficult,
+      if not impossible, since it would require every user to install
+      and use the proprietary software.
+
+      f] The social club could distribute meeting information in the
+      form of iTIP [RFC-2446] messages, sent via e-mail using iMIP
+      [RFC-2447].  The club could distribute meeting invitations, as
+      well as a full published agenda.
+
+      Alternatively, the club could provide access to a [CAP]-enabled
+      calendar service.  However, this solution would be more expensive
+      since it requires the maintenance of a server.
+
+3.2 Systems
+
+   The following diagrams illustrate possible systems and their usage of
+   the various protocols.
+
+3.2.1 Standalone Single-user System
+
+   A single user system that does not communicate with other systems
+   need not employ any of the protocols.  However, it may use iCalendar
+   [RFC-2445] as a data format in some places.
+
+          -----------       O
+         | CUA w/    |     -+- user
+         |local store|      A
+          -----------      / \
+
+3.2.2 Single-user Systems Communicating
+
+   Users with single-user systems may schedule meetings with each others
+   using iTIP [RFC-2446].  The easiest binding of iTIP [RFC-2446] to use
+   would be iMIP [RFC-2447], since messages can be held in the users'
+   mail queues, which we assume to already exist.  [CAP] could also be
+   used.
+
+          O   -----------                    -----------   O
+         -+- | CUA w/    | -----[iMIP]----- | CUA w/    | -+- user
+          A  |local store|     Internet     |local store|  A
+         / \  -----------                    -----------  / \
+
+3.2.3 Single-user with Multiple CUAs
+
+   A single user may use more than one CUA to access his or her
+   calendar.  The user may use a PDA, a Web client, a PC, or some other
+   device, depending on accessibility.  Some of these clients may have
+   local stores and others may not.  Those with local stores need to
+   synchronize the data on the CUA with the data on the CS.
+
+                -----------
+               |   CUA w   | -----[CAP]----------+
+               |local store|                     |
+          O     -----------                    ----------
+         -+-                                  |   CS     |
+          A                                   |          |
+         / \                                   ----------
+                -----------                      |
+               |  CUA w/o  | -----[CAP]----------+
+               |local store|
+                -----------
+
+3.2.4 Single-user with Multiple Calendars
+
+   A single user may have many independent calendars; for example, one
+   may contain work-related information and another personal
+   information.  The CUA may or may not have a local store.  If it does,
+   then it needs to synchronize the data of the CUA with the data on
+   both of the CS.
+
+                                               ----------
+                     +------------[CAP]------ |   CS     |
+                     |                        |          |
+          O     -----------                    ----------
+         -+-   |  CUA      |
+          A    |           |
+         / \    -----------
+                     |                         ----------
+                     +------------[CAP]------ |   CS     |
+                                              |          |
+                                               ----------
+
+3.2.5 Users Communicating on a Multi-user System
+
+   Users on a multi-user system may schedule meetings with each other
+   using [CAP]-enabled CUAs and services.  The CUAs may or may not have
+   local stores.  Those with local stores need to synchronize the data
+   on the CUAs with the data on the CS.
+
+          O     -----------
+         -+-   |   CUA w   | -----[CAP]----------+
+          A    |local store|                     |
+         / \    -----------                    ----------
+                                              |   CS     |
+                                              |          |
+                                               ----------
+          O     -----------                      |
+         -+-   |  CUA w/o  | -----[CAP]----------+
+          A    |local store|
+         / \    -----------
+
+3.2.6 Users Communicating through Different Multi-user Systems
+
+   Users on a multi-user system may need to schedule meetings with users
+   on a different multi-user system.  The services can communicate using
+   [CAP] or iMIP [RFC-2447].
+
+          O     -----------                    ----------
+         -+-   |   CUA w   | -----[CAP]-------|   CS     |
+          A    |local store|                  |          |
+         / \    -----------                    ----------
+                                                   |
+                                             [CAP] or [iMIP]
+                                                   |
+          O     -----------                    ----------
+         -+-   |  CUA w/o  | -----[CAP]-------|   CS     |
+          A    |local store|                  |          |
+         / \    -----------                    ----------
+
+4. Important Aspects
+
+   There are a number of important aspects of these calendaring
+   standards of which people, especially implementers, should be aware.
+
+4.1 Timezones
+
+   The dates and times in components can refer to a specific time zone.
+   Time zones can be defined in a central store, or they may be defined
+   by a user to fit his or her needs.  All users and applications should
+   be aware of time zones and time zone differences.  New time zones may
+
+   need to be added, and others removed.  Two different vendors may
+   describe the same time zone differently (such as by using a different
+   name).
+
+4.2 Choice of Transport
+
+   There are issues to be aware of in choosing between a network
+   protocol such as [CAP], or a store and forward protocol, such as iMIP
+   [RFC-2447].
+
+   The use of a network ("on-the-wire") mechanism may require some
+   organizations to make provisions to allow calendaring traffic to
+   traverse a corporate firewall on the required ports.  Depending on
+   the organizational culture, this may be a challenging social
+   exercise.
+
+   The use of an email-based mechanism exposes time-sensitive data to
+   unbounded latency.  Large or heavily utilized mail systems may
+   experience an unacceptable delay in message receipt.
+
+4.3 Security
+
+   See the "Security Considerations" (Section 6) section below.
+
+4.4 Amount of data
+
+   In some cases, a component may be very large, for instance, a
+   component with a very large attachment.  Some applications may be
+   low-bandwidth or may be limited in the amount of data they can store.
+   Maximum component size may be set in [CAP].  It can also be
+   controlled in iMIP [RFC-2447] by restricting the maximum size of the
+   e-mail that the application can download.
+
+4.5 Recurring Components
+
+   In iCAL [RFC-2445], one can specify complex recurrence rules for
+   VEVENTs, VTODOs, and VJOURNALs.  One must be careful to correctly
+   interpret these recurrence rules and pay extra attention to being
+   able to interoperate using them.
+
+5. Open Issues
+
+   Many issues are not currently resolved by these protocols, and many
+   desirable features are not yet provided.  Some of the more prominent
+   ones are outlined below.
+
+5.1 Scheduling People, not Calendars
+
+   Meetings are scheduled with people; however, people may have many
+   calendars, and may store these calendars in many places.  There may
+   also be many routes to contact them.  The calendaring protocols do
+   not attempt to provide unique access for contacting a given person.
+   Instead, 'calendar addresses' are booked, which may be e-mail
+   addresses or individual calendars.  It is up to the users themselves
+   to orchestrate mechanisms to ensure that the bookings go to the right
+   place.
+
+5.2 Administration
+
+   The calendaring protocols do not address the issues of administering
+   users and calendars on a calendar service.  This must be handled by
+   proprietary mechanisms for each implementation.
+
+5.3 Notification
+
+   People often wish to be notified of upcoming events, new events, or
+   changes to existing events.  The calendaring protocols do not attempt
+   to address these needs in a real-time system.  Instead, the ability
+   to store alarm information on events is provided, which can be used
+   to provide client-side notification of upcoming events.  To organize
+   notification of new or changed events, clients have to poll the data
+   store.
+
+6. Security Considerations
+
+6.1 Access Control
+
+   There has to be reasonable granularity in the configuration options
+   for access to data through [CAP], so that what should be released to
+   requesters is released, and what shouldn't is not.  Details of
+   handling this are described in [CAP].
+
+6.2 Authentication
+
+   Access control must be coupled with a good authentication system, so
+   that the right people get the right information.  For [CAP], this
+   means requiring authentication before any database access can be
+   performed, and checking access rights and authentication credentials
+   before releasing information.  [CAP] uses the Simple Authentication
+   Security Layer (SASL) for this authentication.  In iMIP [RFC-2447],
+   this may present some challenges, as authentication is often not a
+   consideration in store-and-forward protocols.
+
+   Authentication is also important for scheduling, in that receivers of
+   scheduling messages should be able to validate the apparent sender.
+   Since scheduling messages are wrapped in MIME [RFC-2045], signing and
+   encryption are freely available.  For messages transmitted over mail,
+   this is the only available alternative.  It is suggested that
+   developers take care in implementing the security features in iMIP
+   [RFC-2447], bearing in mind that the concept and need may be foreign
+   or non-obvious to users, yet essential for the system to function as
+   they might expect.
+
+   The real-time protocols provide for the authentication of users, and
+   the preservation of that authentication information, allowing for
+   validation by the receiving end-user or server.
+
+6.3 Using E-mail
+
+   Because scheduling information can be transmitted over mail without
+   any authentication information, e-mail spoofing is extremely easy if
+   the receiver is not checking for authentication.  It is suggested
+   that implementers consider requiring authentication as a default,
+   using mechanisms such as are described in Section 3 of iMIP [RFC-
+   2447].  The use of e-mail, and the potential for anonymous
+   connections, means that 'calendar spam' is possible.  Developers
+   should consider this threat when designing systems, particularly
+   those that allow for automated request processing.
+
+6.4 Other Issues
+
+   The current security context should be obvious to users.  Because the
+   underlying mechanisms may not be clear to users, efforts to make
+   clear the current state in the UI should be made.  One example of
+   this is the 'lock' icon used in some Web browsers during secure
+   connections.
+
+   With both iMIP [RFC-2447] and [CAP], the possibilities of Denial of
+   Service attacks must be considered.  The ability to flood a calendar
+   system with bogus requests is likely to be exploited once these
+   systems become widely deployed, and detection and recovery methods
+   will need to be considered.
+
+Acknowledgments
+
+   Thanks to the following, who have participated in the development of
+   this document:
+
+      Eric Busboom, Pat Egen, David Madeo, Shawn Packwood, Bruce Kahn,
+      Alan Davies, Robb Surridge.
+
+References
+
+   [RFC-2445] Dawson, F. and D. Stenerson, "Internet Calendaring and
+              Scheduling Core Object Specification - iCalendar", RFC
+              2445, November 1998.
+
+   [RFC-2446] Silverberg, S., Mansour, S., Dawson, F. and R. Hopson,
+              "iCalendar Transport-Independent Interoperability Protocol
+              (iTIP):  Scheduling Events, Busy Time, To-dos and Journal
+              Entries", RFC 2446, November 1998.
+
+   [RFC-2447] Dawson, F., Mansour, S. and S. Silverberg, "iCalendar
+              Message-Based Interoperability Protocol - iMIP", RFC 2447,
+              November 1998.
+
+   [RFC-2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
+              Extensions (MIME) - Part One: Format of Internet Message
+              Bodies", RFC 2045, November 1996.
+
+   [CAP]      Mansour, S., Royer, D., Babics, G., and Hill, P.,
+              "Calendar Access Protocol (CAP)", Work in Progress.
+
+Authors' Addresses
+
+   Bob Mahoney
+   MIT
+   E40-327
+   77 Massachusetts Avenue
+   Cambridge, MA  02139
+   US
+
+   Phone: (617) 253-0774
+   EMail: bobmah@mit.edu
+
+   George Babics
+   Steltor
+   2000 Peel Street
+   Montreal, Quebec  H3A 2W5
+   CA
+
+   Phone: (514) 733-8500 x4201
+   EMail: georgeb@steltor.com
+
+   Alexander Taler
+
+   EMail: alex@0--0.org
+
+Full Copyright Statement
+
+   Copyright (C) The Internet Society (2002).  All Rights Reserved.
+
+   This document and translations of it may be copied and furnished to
+   others, and derivative works that comment on or otherwise explain it
+   or assist in its implementation may be prepared, copied, published
+   and distributed, in whole or in part, without restriction of any
+   kind, provided that the above copyright notice and this paragraph are
+   included on all such copies and derivative works.  However, this
+   document itself may not be modified in any way, such as by removing
+   the copyright notice or references to the Internet Society or other
+   Internet organizations, except as needed for the purpose of
+   developing Internet standards in which case the procedures for
+   copyrights defined in the Internet Standards process must be
+   followed, or as required to translate it into languages other than
+   English.
+
+   The limited permissions granted above are perpetual and will not be
+   revoked by the Internet Society or its successors or assigns.
+
+   This document and the information contained herein is provided on an
+   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+   Funding for the RFC Editor function is currently provided by the
+   Internet Society.
+
+
+


+

 

+
+ +
+

+ +

+
+ + + + diff --git a/vendor/gems/icalendar-1.0.2/examples/create_cal.rb b/vendor/gems/icalendar-1.0.2/examples/create_cal.rb new file mode 100644 index 0000000..b51d852 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/examples/create_cal.rb @@ -0,0 +1,45 @@ +#!/usr/bin/env ruby +## Need this so we can require the library from the samples directory +$:.unshift(File.dirname(__FILE__) + '/../lib') + +require 'rubygems' # Unless you install from the tarball or zip. +require 'icalendar' +require 'date' + +include Icalendar # Probably do this in your class to limit namespace overlap + +## Creating calendars and events is easy. + +# Create a calendar with an event (standard method) +cal = Calendar.new +cal.event do + dtstart Date.new(2005, 04, 29) + dtend Date.new(2005, 04, 28) + summary "Meeting with the man." + description "Have a long lunch meeting and decide nothing..." + klass "PRIVATE" +end + +## Or you can make events like this +event = Event.new +event.start = DateTime.civil(2006, 6, 23, 8, 30) +event.summary = "A great event!" +cal.add_event(event) + +event2 = cal.event # This automatically adds the event to the calendar +event2.start = DateTime.civil(2006, 6, 24, 8, 30) +event2.summary = "Another great event!" + +# Now with support for property parameters +params = {"ALTREP" =>['"http://my.language.net"'], "LANGUAGE" => ["SPANISH"]} + +cal.event do + dtstart Date.new(2005, 04, 29) + dtend Date.new(2005, 04, 28) + summary "This is a summary with params.", params +end + +# We can output the calendar as a string to write to a file, +# network port, database etc. +cal_string = cal.to_ical +puts cal_string diff --git a/vendor/gems/icalendar-1.0.2/examples/parse_cal.rb b/vendor/gems/icalendar-1.0.2/examples/parse_cal.rb new file mode 100644 index 0000000..91c6e21 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/examples/parse_cal.rb @@ -0,0 +1,20 @@ +#!/usr/bin/env ruby +## Need this so we can require the library from the samples directory +$:.unshift(File.dirname(__FILE__) + '/../lib') + +require 'icalendar' +require 'date' + +# Open a file or string to parse +cal_file = File.open("../test/life.ics") + +# Parser returns an array of calendars because a single file +# can have multiple calendar objects. +cals = Icalendar::parse(cal_file) +cal = cals.first + +# Now you can access the cal object in just the same way I created it +event = cal.events.first + +puts "start date-time: " + event.dtstart.to_s +puts "summary: " + event.summary diff --git a/vendor/gems/icalendar-1.0.2/examples/single_event.ics b/vendor/gems/icalendar-1.0.2/examples/single_event.ics new file mode 100644 index 0000000..2f039aa --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/examples/single_event.ics @@ -0,0 +1,18 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:bsprodidfortestabc123 +BEGIN:VEVENT +UID:bsuidfortestabc123 +SUMMARY:This is a really long summary + to test the method of unfolding lines + so I'm just going to ma + ke it + a whol + e + bunch of lines. +CLASS:PRIVATE +DTSTART;TZID=US-Mountain:20050120T170000 +DTEND:20050120T184500 +DTSTAMP:20050118T211523Z +END:VEVENT +END:VCALENDAR diff --git a/vendor/gems/icalendar-1.0.2/init.rb b/vendor/gems/icalendar-1.0.2/init.rb new file mode 100644 index 0000000..04c96ab --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/init.rb @@ -0,0 +1,3 @@ + + require File.join(File.dirname(__FILE__), 'lib', 'icalendar') + diff --git a/vendor/gems/icalendar-1.0.2/lib/hash_attrs.rb b/vendor/gems/icalendar-1.0.2/lib/hash_attrs.rb new file mode 100644 index 0000000..3ce71b7 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/lib/hash_attrs.rb @@ -0,0 +1,34 @@ +# A module which adds some generators for hash based accessors. +module HashAttrs + + def hash_reader(hash_sym, syms) + syms.each do |id| + id = id.to_s.downcase + func = Proc.new do + hash = instance_variable_get(hash_sym) + hash[id.to_sym] + end + + self.send(:define_method, id, func) + end + end + + def hash_writer(hash_sym, syms) + syms.each do |id| + id = id.to_s.downcase + + func = Proc.new do |val| + hash = instance_variable_get(hash_sym) + hash[id.to_sym] = val + end + + self.send(:define_method, id+'=', func) + end + end + + def hash_accessor(hash, *syms) + hash_reader(hash, syms) + hash_writer(hash, syms) + end +end + diff --git a/vendor/gems/icalendar-1.0.2/lib/icalendar.rb b/vendor/gems/icalendar-1.0.2/lib/icalendar.rb new file mode 100644 index 0000000..7711ce8 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/lib/icalendar.rb @@ -0,0 +1,36 @@ +=begin + Copyright (C) 2005 Jeff Rose + + This library is free software; you can redistribute it and/or modify it + under the same terms as the ruby language itself, see the file COPYING for + details. +=end + +$:.unshift(File.dirname(__FILE__)) + +### Base classes and mixin modules + +# to_ical methods for built-in classes +require 'icalendar/conversions' + +# Meta-programming helper methods +require 'meta' + +# Hash attributes mixin module +require 'hash_attrs' + +require 'icalendar/base' +require 'icalendar/component' + +# Calendar and components +require 'icalendar/calendar' +require 'icalendar/component/event' +require 'icalendar/component/journal' +require 'icalendar/component/todo' +require 'icalendar/component/freebusy' +require 'icalendar/component/timezone' +require 'icalendar/component/alarm' + +# Calendar parser +require 'icalendar/parser' + diff --git a/vendor/gems/icalendar-1.0.2/lib/icalendar/base.rb b/vendor/gems/icalendar-1.0.2/lib/icalendar/base.rb new file mode 100644 index 0000000..f10bb81 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/lib/icalendar/base.rb @@ -0,0 +1,43 @@ +=begin + Copyright (C) 2005 Jeff Rose + + This library is free software; you can redistribute it and/or modify it + under the same terms as the ruby language itself, see the file COPYING for + details. +=end +require 'logger' + +module Icalendar #:nodoc: + + # A simple error class to differentiate iCalendar library exceptions + # from ruby language exceptions or others. + class IcalendarError < StandardError #:nodoc: + end + + # Exception used when the library encounters a bogus calendar component. + class UnknownComponentClass < IcalendarError + end + + # Exception used when the library encounters a bogus property type. + class UnknownPropertyMethod< IcalendarError + end + + # Exception used when the library encounters a bogus property value. + class InvalidPropertyValue < IcalendarError + end + + # This class serves as the base class for just about everything in + # the library so that the logging system can be configured in one place. + class Base + @@logger = Logger.new(STDERR) + @@logger.level = Logger::FATAL + + def self.debug + @@logger.level = Logger::DEBUG + end + + def self.quiet + @@logger.level = Logger::FATAL + end + end +end diff --git a/vendor/gems/icalendar-1.0.2/lib/icalendar/calendar.rb b/vendor/gems/icalendar-1.0.2/lib/icalendar/calendar.rb new file mode 100644 index 0000000..a4e4c5b --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/lib/icalendar/calendar.rb @@ -0,0 +1,104 @@ +=begin + Copyright (C) 2005 Jeff Rose + + This library is free software; you can redistribute it and/or modify it + under the same terms as the ruby language itself, see the file COPYING for + details. +=end + +module Icalendar + + class Calendar < Component + ical_component :events, :todos, :journals, :freebusys, :timezones + + ical_property :calscale, :calendar_scale + ical_property :prodid, :product_id + ical_property :version + ical_property :ip_method + + def initialize() + super("VCALENDAR") + + # Set some defaults + self.calscale = "GREGORIAN" # Who knows, but this is the only one in the spec. + self.prodid = "iCalendar-Ruby" # Current product... Should be overwritten by apps that use the library + self.version = "2.0" # Version of the specification + end + + def event(&block) + e = Event.new + self.add_component e + + e.instance_eval &block if block + + e + end + + def find_event(uid) + self.events.find {|e| e.uid == uid} + end + + def todo(&block) + e = Todo.new + self.add_component e + + e.instance_eval &block if block + + e + end + + def find_todo(uid) + self.todos.find {|t| t.uid == uid} + end + + def journal(&block) + e = Journal.new + self.add_component e + + e.instance_eval &block if block + + e + end + + def find_journal(uid) + self.journals.find {|j| j.uid == uid} + end + + def freebusy(&block) + e = Freebusy.new + self.add_component e + + e.instance_eval &block if block + + e + end + + def find_freebusy(uid) + self.freebusys.find {|f| f.uid == uid} + end + + def timezone(&block) + e = Timezone.new + self.add_component e + + e.instance_eval &block if block + + e + end + + # The "PUBLISH" method in a "VEVENT" calendar component is an + # unsolicited posting of an iCalendar object. Any CU may add published + # components to their calendar. The "Organizer" MUST be present in a + # published iCalendar component. "Attendees" MUST NOT be present. Its + # expected usage is for encapsulating an arbitrary event as an + # iCalendar object. The "Organizer" may subsequently update (with + # another "PUBLISH" method), add instances to (with an "ADD" method), + # or cancel (with a "CANCEL" method) a previously published "VEVENT" + # calendar component. + def publish + self.ip_method = "PUBLISH" + end + + end # class Calendar + +end # module Icalendar diff --git a/vendor/gems/icalendar-1.0.2/lib/icalendar/component.rb b/vendor/gems/icalendar-1.0.2/lib/icalendar/component.rb new file mode 100644 index 0000000..a2d7bc3 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/lib/icalendar/component.rb @@ -0,0 +1,438 @@ +=begin + Copyright (C) 2005 Jeff Rose + + This library is free software; you can redistribute it and/or modify it + under the same terms as the ruby language itself, see the file COPYING for + details. +=end + +module Icalendar + require 'socket' + + MAX_LINE_LENGTH = 75 + + class Geo < Icalendar::Base + attr_accessor :latitude, :longitude + alias :lat :latitude + alias :long :longitude + + def initialize(lat, long) + @lat = lat + @long = long + end + + def to_ical + "#{@lat.to_ical};#{@long.to_ical}" + end + end + + # The body of the iCalendar object consists of a sequence of calendar + # properties and one or more calendar components. The calendar + # properties are attributes that apply to the calendar as a whole. The + # calendar components are collections of properties that express a + # particular calendar semantic. For example, the calendar component can + # specify an Event, a Todo, a Journal entry, Timezone information, or + # Freebusy time information, or an Alarm. + class Component < Icalendar::Base + + meta_include HashAttrs + + attr_reader :name + attr_accessor :properties + + @@multi_properties = {} + @@multiline_properties = {} + + def initialize(name) + @name = name + @components = Hash.new([]) + @properties = {} + + @@logger.info("New #{@name[1,@name.size].capitalize}...") + end + + # Add a sub-component to the current component object. + def add_component(component) + key = (component.class.to_s.downcase + 's').gsub('icalendar::', '').to_sym + + unless @components.has_key? key + @components[key] = [] + end + + @components[key] << component + end + + # Add a component to the calendar. + alias add add_component + + # Add an event to the calendar. + alias add_event add_component + + # Add a todo item to the calendar. + alias add_todo add_component + + # Add a journal item to the calendar. + alias add_journal add_component + + def remove_component(component) + key = (component.class.to_s.downcase + 's').gsub('icalendar::', '').to_sym + + if @components.has_key? key + @components[key].delete(component) + end + end + + # Remove a component from the calendar. + alias remove remove_component + + # Remove an event from the calendar. + alias remove_event remove_component + + # Remove a todo item from the calendar. + alias remove_todo remove_component + + # Remove a journal item from the calendar. + alias remove_journal remove_component + + # Used to generate unique component ids + def new_uid + "#{DateTime.now}_#{rand(999999999)}@#{Socket.gethostname}" + end + + # Output in the icalendar format + def to_ical + print_component do + s = "" + @components.each_value do |comps| + comps.each { |component| s << component.to_ical } + end + s + end + end + + # Print this icalendar component + def print_component + # Begin a new component + "BEGIN:#{@name.upcase}\r\n" + + + # Then the properties + print_properties + + + # sub components + yield + + + # End of this component + "END:#{@name.upcase}\r\n" + end + + # Print this components properties + def print_properties + s = "" + + @properties.each do |key,val| + # Take out underscore for property names that conflicted + # with built-in words. + if key =~ /ip_.*/ + key = key[3..-1] + end + + # Property name + unless multiline_property?(key) + prelude = "#{key.gsub(/_/, '-').upcase}" + + + # Possible parameters + print_parameters(val) + + # Property value + value = ":#{val.to_ical}" + escaped = prelude + value.gsub("\\", "\\\\").gsub("\n", "\\n").gsub(",", "\\,").gsub(";", "\\;") + s << escaped.slice!(0, MAX_LINE_LENGTH) << "\r\n " while escaped.size > MAX_LINE_LENGTH + s << escaped << "\r\n" + s.gsub!(/ *$/, '') + else + prelude = "#{key.gsub(/_/, '-').upcase}" + val.each do |v| + params = print_parameters(v) + value = ":#{v.to_ical}" + escaped = prelude + params + value.gsub("\\", "\\\\").gsub("\n", "\\n").gsub(",", "\\,").gsub(";", "\\;") + s << escaped.slice!(0, MAX_LINE_LENGTH) << "\r\n " while escaped.size > MAX_LINE_LENGTH + s << escaped << "\r\n" + s.gsub!(/ *$/, '') + end + end + end + s + end + + # Print the parameters for a specific property + def print_parameters(val) + s = "" + return s unless val.respond_to?(:ical_params) and not val.ical_params.nil? + + val.ical_params.each do |key,val| + s << ";#{key}" + val = [ val ] unless val.is_a?(Array) + + # Possible parameter values + unless val.empty? + s << "=" + sep = "" # First entry comes after = sign, but then we need commas + val.each do |pval| + if pval.respond_to? :to_ical + s << sep << pval.to_ical + sep = "," + end + end + end + end + s + end + + # TODO: Look into the x-property, x-param stuff... + # This would really only be needed for subclassing to add additional + # properties to an application using the API. + def custom_property(name, value) + @properties[name] = value + end + + def multi_property?(name) + @@multi_properties.has_key?(name.downcase) + end + + def multiline_property?(name) + @@multiline_properties.has_key?(name.downcase) + end + + # Make it protected so we can monitor usage... + protected + + def Component.ical_component(*syms) + hash_accessor :@components, *syms + end + + # Define a set of methods supporting a new property + def Component.ical_property(property, alias_name = nil, prop_name = nil) + property = "#{property}".strip.downcase + alias_name = "#{alias_name}".strip.downcase unless alias_name.nil? + # If a prop_name was given then we use that for the actual storage + property = "#{prop_name}".strip.downcase unless prop_name.nil? + + generate_getter(property, alias_name) + generate_setter(property, alias_name) + generate_query(property, alias_name) + end + + # Define a set of methods defining a new property, which + # supports multiple values for the same property name. + def Component.ical_multi_property(property, singular, plural) + property = "#{property}".strip.downcase.gsub(/-/, '_') + plural = "#{plural}".strip.downcase + + # Set this key so the parser knows to use an array for + # storing this property type. + @@multi_properties["#{property}"] = true + + generate_multi_getter(property, plural) + generate_multi_setter(property, plural) + generate_multi_query(property, plural) + generate_multi_adder(property, singular) + generate_multi_remover(property, singular) + end + + # Define a set of methods defining a new property, which + # supports multiple values in multiple lines with same property name + def Component.ical_multiline_property(property, singular, plural) + @@multiline_properties["#{property}"] = true + ical_multi_property(property, singular, plural) + end + + + private + + def Component.generate_getter(property, alias_name) + unless instance_methods.include? property + code = <<-code + def #{property}(val = nil, params = nil) + return @properties["#{property}"] if val.nil? + + unless val.respond_to?(:to_ical) + raise(NotImplementedError, "Value of type (" + val.class.to_s + ") does not support to_ical method!") + end + + unless params.nil? + # Extend with the parameter methods only if we have to... + unless val.respond_to?(:ical_params) + val.class.class_eval { attr_accessor :ical_params } + end + val.ical_params = params + end + + @properties["#{property}"] = val + end + code + + class_eval code, "component.rb", 219 + alias_method("#{alias_name}", "#{property}") unless alias_name.nil? + end + end + + def Component.generate_setter(property, alias_name) + setter = property + '=' + unless instance_methods.include? setter + code = <<-code + def #{setter}(val) + #{property}(val) + end + code + + class_eval code, "component.rb", 233 + alias_method("#{alias_name}=", "#{property+'='}") unless alias_name.nil? + end + end + + def Component.generate_query(property, alias_name) + query = "#{property}?" + unless instance_methods.include? query + code = <<-code + def #{query} + @properties.has_key?("#{property.downcase}") + end + code + + class_eval code, "component.rb", 226 + + alias_method("#{alias_name}\?", "#{query}") unless alias_name.nil? + end + end + + def Component.generate_multi_getter(property, plural) + # Getter for whole array + unless instance_methods.include? plural + code = <<-code + def #{plural}(a = nil) + if a.nil? + @properties["#{property}"] || [] + else + self.#{plural}=(a) + end + end + code + + class_eval code, "component.rb", 186 + end + end + + def Component.generate_multi_setter(property, plural) + # Setter for whole array + unless instance_methods.include? plural+'+' + code = <<-code + def #{plural}=(a) + if a.respond_to?(:to_ary) + a.to_ary.each do |val| + unless val.respond_to?(:to_ical) + raise(NotImplementedError, "Property values do not support to_ical method!") + end + end + + @properties["#{property}"] = a.to_ary + else + raise ArgumentError, "#{plural} is a multi-property that must be an array! Use the add_[property] method to add single entries." + end + end + code + + class_eval code, "component.rb", 198 + end + end + + def Component.generate_multi_query(property, plural) + # Query for any of these properties + unless instance_methods.include? plural+'?' + code = <<-code + def #{plural}? + @properties.has_key?("#{property}") + end + code + + class_eval code, "component.rb", 210 + end + end + + def Component.generate_multi_adder(property, singular) + adder = "add_"+singular.to_s + # Add another item to this properties array + unless instance_methods.include? adder + code = <<-code + def #{adder}(val, params = {}) + unless val.respond_to?(:to_ical) + raise(NotImplementedError, "Property value object does not support to_ical method!") + end + + unless params.nil? + # Extend with the parameter methods only if we have to... + unless val.respond_to?(:ical_params) + val.class.class_eval { attr_accessor :ical_params } + end + val.ical_params = params + end + + if @properties.has_key?("#{property}") + @properties["#{property}"] << val + else + @properties["#{property}"] = [val] + end + end + code + + class_eval code, "component.rb", 289 + alias_method("add_#{property.downcase}", "#{adder}") + end + end + + def Component.generate_multi_remover(property, singular) + # Remove an item from this properties array + unless instance_methods.include? "remove_#{singular}" + code = <<-code + def remove_#{singular}(a) + if @properties.has_key?("#{property}") + @properties["#{property}"].delete(a) + end + end + code + + class_eval code, "component.rb", 303 + alias_method("remove_#{property.downcase}", "remove_#{singular}") + end + end + + def method_missing(method_name, *args) + @@logger.debug("Inside method_missing...") + method_name = method_name.to_s.downcase + + unless method_name =~ /x_.*/ + raise NoMethodError, "Method Name: #{method_name}" + end + + # x-properties are accessed with underscore but stored with a dash so + # they output correctly and we don't have to special case the + # output code, which would require checking every property. + if args.size > 0 # Its a setter + # Pull off the possible equals + @properties[method_name[/x_[^=]*/].gsub('x_', 'x-')] = args.first + else # Or its a getter + return @properties[method_name.gsub('x_', 'x-')] + end + end + + public + + def respond_to?(method_name) + unless method_name.to_s.downcase =~ /x_.*/ + super + end + + true + end + + end # class Component +end diff --git a/vendor/gems/icalendar-1.0.2/lib/icalendar/component/alarm.rb b/vendor/gems/icalendar-1.0.2/lib/icalendar/component/alarm.rb new file mode 100644 index 0000000..b109fba --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/lib/icalendar/component/alarm.rb @@ -0,0 +1,44 @@ +=begin + Copyright (C) 2005 Jeff Rose + + This library is free software; you can redistribute it and/or modify it + under the same terms as the ruby language itself, see the file COPYING for + details. +=end +module Icalendar + # An Alarm calendar component is a grouping of component + # properties that is a reminder or alarm for an event or a + # to-do. For example, it may be used to define a reminder for a + # pending Event or an overdue Todo. + class Alarm < Component + + # Single properties + ical_property :action + ical_property :description + ical_property :trigger + ical_property :summary + + # Single but must appear together + ical_property :duration + ical_property :repeat + + # Single and only occurring once + + ical_property :created + ical_property :last_modified + ical_property :timestamp + ical_property :sequence + + # Multi properties + ical_multiline_property :attendee, :attendee, :attendees + ical_multi_property :attach, :attachment, :attachments + + def initialize() + super("VALARM") + + # Almost everyone just wants to display so I make it the + # default so it works for most people right away... + action "DISPLAY" + end + end +end diff --git a/vendor/gems/icalendar-1.0.2/lib/icalendar/component/event.rb b/vendor/gems/icalendar-1.0.2/lib/icalendar/component/event.rb new file mode 100644 index 0000000..9af938a --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/lib/icalendar/component/event.rb @@ -0,0 +1,123 @@ +=begin + Copyright (C) 2005 Jeff Rose + + This library is free software; you can redistribute it and/or modify it + under the same terms as the ruby language itself, see the file COPYING for + details. +=end + +module Icalendar + # A Event calendar component is a grouping of component + # properties, and possibly including Alarm calendar components, that + # represents a scheduled amount of time on a calendar. For example, it + # can be an activity; such as a one-hour long, department meeting from + # 8:00 AM to 9:00 AM, tomorrow. Generally, an event will take up time + # on an individual calendar. + class Event < Component + ical_component :alarms + + ## Single instance properties + + # Access classification (PUBLIC, PRIVATE, CONFIDENTIAL...) + ical_property :ip_class, :klass + + # Date & time of creation + ical_property :created + + # Complete description of the calendar component + ical_property :description + + # Specifies date-time when calendar component begins + ical_property :dtstart, :start + + # Latitude & longitude for specified activity + ical_property :geo, :geo_location + + # Date & time this item was last modified + ical_property :last_modified + + # Specifies the intended venue for this activity + ical_property :location + + # Defines organizer of this item + ical_property :organizer + + # Defines relative priority for this item (1-9... 1 = best) + ical_property :priority + + # Indicate date & time when this item was created + ical_property :dtstamp, :timestamp + + # Revision sequence number for this item + ical_property :sequence, :seq + + # Defines overall status or confirmation of this item + ical_property :status + ical_property :summary + ical_property :transp, :transparency + + # Defines a persistent, globally unique id for this item + ical_property :uid, :unique_id + + # Defines a URL associated with this item + ical_property :url + ical_property :recurid, :recurrence_id + + ## Single but mutually exclusive properties (Not testing though) + + # Specifies a date and time that this item ends + ical_property :dtend, :end + + # Specifies a positive duration time + ical_property :duration + + ## Multi-instance properties + + # Associates a URI or binary blob with this item + ical_multi_property :attach, :attachment, :attachments + + # Defines an attendee for this calendar item + ical_multiline_property :attendee, :attendee, :attendees + + # Defines the categories for a calendar component (school, work...) + ical_multi_property :categories, :category, :categories + + # Simple comment for the calendar user. + ical_multi_property :comment, :comment, :comments + + # Contact information associated with this item. + ical_multi_property :contact, :contact, :contacts + ical_multi_property :exdate, :exception_date, :exception_dates + ical_multi_property :exrule, :exception_rule, :exception_rules + ical_multi_property :rstatus, :request_status, :request_statuses + + # Used to represent a relationship between two calendar items + ical_multi_property :related_to, :related_to, :related_tos + ical_multi_property :resources, :resource, :resources + + # Used with the UID & SEQUENCE to identify a specific instance of a + # recurring calendar item. + ical_multi_property :rdate, :recurrence_date, :recurrence_dates + ical_multi_property :rrule, :recurrence_rule, :recurrence_rules + + def initialize() + super("VEVENT") + + # Now doing some basic initialization + sequence 0 + timestamp DateTime.now + uid new_uid + end + + def alarm(&block) + a = Alarm.new + self.add a + + a.instance_eval &block if block + + a + end + + + end +end diff --git a/vendor/gems/icalendar-1.0.2/lib/icalendar/component/freebusy.rb b/vendor/gems/icalendar-1.0.2/lib/icalendar/component/freebusy.rb new file mode 100644 index 0000000..5f24f5a --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/lib/icalendar/component/freebusy.rb @@ -0,0 +1,37 @@ +=begin + Copyright (C) 2005 Jeff Rose + + This library is free software; you can redistribute it and/or modify it + under the same terms as the ruby language itself, see the file COPYING for + details. +=end +module Icalendar + # A Freebusy calendar component is a grouping of + # component properties that represents either a request for, a reply to + # a request for free or busy time information or a published set of + # busy time information. + class Freebusy < Component + # Single properties + ical_property :contact + ical_property :dtstart, :start + ical_property :dtend, :end + ical_property :dtstamp, :timestamp + ical_property :duration + ical_property :organizer + ical_property :uid, :user_id + ical_property :url + + # Multi-properties + ical_multiline_property :attendee, :attendee, :attendees + ical_multi_property :comment, :comment, :comments + ical_multiline_property :freebusy, :freebusy, :freebusys + ical_multi_property :rstatus, :request_status, :request_statuses + + def initialize() + super("VFREEBUSY") + + timestamp DateTime.now + uid new_uid + end + end +end diff --git a/vendor/gems/icalendar-1.0.2/lib/icalendar/component/journal.rb b/vendor/gems/icalendar-1.0.2/lib/icalendar/component/journal.rb new file mode 100644 index 0000000..80e861b --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/lib/icalendar/component/journal.rb @@ -0,0 +1,61 @@ +=begin + Copyright (C) 2005 Jeff Rose + + This library is free software; you can redistribute it and/or modify it + under the same terms as the ruby language itself, see the file COPYING for + details. +=end +module Icalendar + # A Journal calendar component is a grouping of + # component properties that represent one or more descriptive text + # notes associated with a particular calendar date. The "DTSTART" + # property is used to specify the calendar date that the journal entry + # is associated with. Generally, it will have a DATE value data type, + # but it can also be used to specify a DATE-TIME value data type. + # Examples of a journal entry include a daily record of a legislative + # body or a journal entry of individual telephone contacts for the day + # or an ordered list of accomplishments for the day. The Journal + # calendar component can also be used to associate a document with a + # calendar date. + class Journal < Component + + # Single properties + ical_property :ip_class + ical_property :created + ical_property :description + ical_property :dtstart, :start + ical_property :last_modified + ical_property :organizer + ical_property :dtstamp, :timestamp + ical_property :sequence, :seq + ical_property :status + ical_property :summary + ical_property :uid, :user_id + ical_property :url + ical_property :recurid, :recurrence_id + + # Multi-properties + ical_multi_property :attach, :attachment, :attachments + ical_multiline_property :attendee, :attendee, :attendees + ical_multi_property :categories, :category, :categories + ical_multi_property :comment, :comment, :comments + ical_multi_property :contact, :contact, :contacts + ical_multi_property :exdate, :exception_date, :exception_dates + ical_multi_property :exrule, :exception_rule, :exception_rules + ical_multi_property :rstatus, :request_status, :request_statuses + ical_multi_property :related_to, :related_to, :related_tos + ical_multi_property :resources, :resource, :resources + ical_multi_property :rdate, :recurrence_date, :recurrence_dates + ical_multi_property :rrule, :recurrence_rule, :recurrence_rules + + def initialize() + super("VJOURNAL") + + sequence 0 + timestamp DateTime.now + uid new_uid + end + + end +end + diff --git a/vendor/gems/icalendar-1.0.2/lib/icalendar/component/timezone.rb b/vendor/gems/icalendar-1.0.2/lib/icalendar/component/timezone.rb new file mode 100644 index 0000000..baed983 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/lib/icalendar/component/timezone.rb @@ -0,0 +1,87 @@ +=begin + Copyright (C) 2005 Jeff Rose + + This library is free software; you can redistribute it and/or modify it + under the same terms as the ruby language itself, see the file COPYING for + details. +=end +module Icalendar + # A Timezone is unambiguously defined by the set of time + # measurement rules determined by the governing body for a given + # geographic area. These rules describe at a minimum the base offset + # from UTC for the time zone, often referred to as the Standard Time + # offset. Many locations adjust their Standard Time forward or backward + # by one hour, in order to accommodate seasonal changes in number of + # daylight hours, often referred to as Daylight Saving Time. Some + # locations adjust their time by a fraction of an hour. Standard Time + # is also known as Winter Time. Daylight Saving Time is also known as + # Advanced Time, Summer Time, or Legal Time in certain countries. The + # following table shows the changes in time zone rules in effect for + # New York City starting from 1967. Each line represents a description + # or rule for a particular observance. + class Timezone < Component + ical_component :standard, :daylight + + # Single properties + ical_property :dtstart, :start + ical_property :tzoffsetto, :timezone_offset_to + ical_property :tzoffsetfrom, :timezone_offset_from + ical_property :tzid, :timezone_id + ical_property :tzname, :timezone_name + + ical_property :created + ical_property :last_modified + ical_property :timestamp + ical_property :sequence + + # Multi-properties + ical_multi_property :comment, :comment, :comments + ical_multi_property :rdate, :recurrence_date, :recurrence_dates + ical_multi_property :rrule, :recurrence_rule, :recurrence_rules + + # Define a custom add component method because standard and daylight + # are the only components that can occur just once with their parent. + def add_component(component) + key = component.class.to_s.downcase.gsub('icalendar::','').to_sym + @components[key] = component + end + + # Also need a custom to_ical because typically it iterates over an array + # of components. + def to_ical + print_component do + s = "" + @components.each_value do |comp| + s << comp.to_ical + end + s + end + end + + + def initialize(name = "VTIMEZONE") + super(name) + end + + end + + # A Standard component is a sub-component of the Timezone component which + # is used to describe the standard time offset. + class Standard < Timezone + + def initialize() + super("STANDARD") + end + end + + # A Daylight component is a sub-component of the Timezone component which + # is used to describe the time offset for what is commonly known as + # daylight savings time. + class Daylight < Timezone + + def initialize() + super("DAYLIGHT") + end + end + +end diff --git a/vendor/gems/icalendar-1.0.2/lib/icalendar/component/todo.rb b/vendor/gems/icalendar-1.0.2/lib/icalendar/component/todo.rb new file mode 100644 index 0000000..2021698 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/lib/icalendar/component/todo.rb @@ -0,0 +1,64 @@ +=begin + Copyright (C) 2005 Jeff Rose + + This library is free software; you can redistribute it and/or modify it + under the same terms as the ruby language itself, see the file COPYING for + details. +=end +module Icalendar + # A Todo calendar component is a grouping of component + # properties and possibly Alarm calendar components that represent + # an action-item or assignment. For example, it can be used to + # represent an item of work assigned to an individual; such as "turn in + # travel expense today". + class Todo < Component + ical_component :alarms + + # Single properties + ical_property :ip_class + ical_property :completed + ical_property :created + ical_property :description + ical_property :dtstamp, :timestamp + ical_property :dtstart, :start + ical_property :geo + ical_property :last_modified + ical_property :location + ical_property :organizer + ical_property :percent + ical_property :priority + ical_property :recurid, :recurrence_id + ical_property :seq, :sequence + ical_property :status + ical_property :summary + ical_property :uid, :user_id + ical_property :url + + # Single but mutually exclusive TODO: not testing anything yet + ical_property :due + ical_property :duration + + # Multi-properties + ical_multi_property :attach, :attachment, :attachments + ical_multiline_property :attendee, :attendee, :attendees + ical_multi_property :categories, :category, :categories + ical_multi_property :comment, :comment, :comments + ical_multi_property :contact, :contact, :contacts + ical_multi_property :exdate, :exception_date, :exception_dates + ical_multi_property :exrule, :exception_rule, :exception_rules + ical_multi_property :rstatus, :request_status, :request_statuses + ical_multi_property :related_to, :related_to, :related_tos + ical_multi_property :resources, :resource, :resources + ical_multi_property :rdate, :recurrence_date, :recurrence_dates + ical_multi_property :rrule, :recurrence_rule, :recurrence_rules + + def initialize() + super("VTODO") + + sequence 0 + timestamp DateTime.now + uid new_uid + end + + end +end diff --git a/vendor/gems/icalendar-1.0.2/lib/icalendar/conversions.rb b/vendor/gems/icalendar-1.0.2/lib/icalendar/conversions.rb new file mode 100644 index 0000000..a00b776 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/lib/icalendar/conversions.rb @@ -0,0 +1,133 @@ +=begin + Copyright (C) 2005 Jeff Rose + + This library is free software; you can redistribute it and/or modify it + under the same terms as the ruby language itself, see the file COPYING for + details. +=end + +require 'date' + +### Add some to_ical methods to classes + +# class Object +# def to_ical +# raise(NotImplementedError, "This object does not implement the to_ical method!") +# end +# end + +require 'uri/generic' + +class String + def to_ical + self + end +end + +class Fixnum + def to_ical + "#{self}" + end +end + +class Float + def to_ical + "#{self}" + end +end + +# From the spec: "Values in a list of values MUST be separated by a COMMA +# character (US-ASCII decimal 44)." +class Array + def to_ical + map{|elem| elem.to_ical}.join ',' + end +end + +module URI + class Generic + def to_ical + "#{self}" + end + end +end + +class DateTime < Date + def to_ical(utc = false) + s = "" + + # 4 digit year + s << self.year.to_s + + # Double digit month + s << "0" unless self.month > 9 + s << self.month.to_s + + # Double digit day + s << "0" unless self.day > 9 + s << self.day.to_s + + s << "T" + + # Double digit hour + s << "0" unless self.hour > 9 + s << self.hour.to_s + + # Double digit minute + s << "0" unless self.min > 9 + s << self.min.to_s + + # Double digit second + s << "0" unless self.sec > 9 + s << self.sec.to_s + + # UTC time gets a Z suffix + if utc + s << "Z" + end + + s + end +end + +class Date + def to_ical(utc = false) + s = "" + + # 4 digit year + s << self.year.to_s + + # Double digit month + s << "0" unless self.month > 9 + s << self.month.to_s + + # Double digit day + s << "0" unless self.day > 9 + s << self.day.to_s + end +end + +class Time + def to_ical(utc = false) + s = "" + + # Double digit hour + s << "0" unless self.hour > 9 + s << self.hour.to_s + + # Double digit minute + s << "0" unless self.min > 9 + s << self.min.to_s + + # Double digit second + s << "0" unless self.sec > 9 + s << self.sec.to_s + + # UTC time gets a Z suffix + if utc + s << "Z" + end + + s + end +end diff --git a/vendor/gems/icalendar-1.0.2/lib/icalendar/helpers.rb b/vendor/gems/icalendar-1.0.2/lib/icalendar/helpers.rb new file mode 100644 index 0000000..e4da970 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/lib/icalendar/helpers.rb @@ -0,0 +1,109 @@ +=begin + Copyright (C) 2005 Jeff Rose + Copyright (C) 2005 Sam Roberts + + This library is free software; you can redistribute it and/or modify it + under the same terms as the ruby language itself, see the file COPYING for + details. +=end + +module Icalendar + module DateProp + # date = date-fullyear date-month date-mday + # date-fullyear = 4 DIGIT + # date-month = 2 DIGIT + # date-mday = 2 DIGIT + DATE = '(\d\d\d\d)(\d\d)(\d\d)' + + # time = time-hour [":"] time-minute [":"] time-second [time-secfrac] [time-zone] + # time-hour = 2 DIGIT + # time-minute = 2 DIGIT + # time-second = 2 DIGIT + # time-secfrac = "," 1*DIGIT + # time-zone = "Z" / time-numzone + # time-numzome = sign time-hour [":"] time-minute + # TIME = '(\d\d)(\d\d)(\d\d)(Z)?' + TIME = '(\d\d)(\d\d)(\d\d)' + + # This method is called automatically when the module is mixed in. + # I guess you have to do this to mixin class methods rather than instance methods. + def self.append_features(base) + super + klass.extend(ClassMethods) + end + + # This is made a sub-module just so it can be added as class + # methods rather than instance methods. + module ClassMethods + def date_property(dp, alias_name = nil) + dp = "#{dp}".strip.downcase + getter = dp + setter = "#{dp}=" + query = "#{dp}?" + + unless instance_methods.include? getter + code = <<-code + def #{getter}(*a) + if a.empty? + @properties[#{dp.upcase}] + else + self.#{dp} = a.first + end + end + code + + module_eval code + end + + unless instance_methods.include? setter + code = <<-code + def #{setter} a + @properties[#{dp.upcase}] = a + end + code + + module_eval code + end + + unless instance_methods.include? query + code = <<-code + def #{query} + @properties.has_key?(#{dp.upcase}) + end + code + + module_eval code + end + + # Define the getter + getter = "get#{property.to_s.capitalize}" + define_method(getter.to_sym) do + puts "inside getting..." + getDateProperty(property.to_s.upcase) + end + + # Define the setter + setter = "set#{property.to_s.capitalize}" + define_method(setter.to_sym) do |*params| + date = params[0] + utc = params[1] + puts "inside setting..." + setDateProperty(property.to_s.upcase, date, utc) + end + + # Create aliases if a name was specified +# if not aliasName.nil? +# gasym = "get#{aliasName.to_s.capitalize}".to_sym +# gsym = getter.to_sym +# alias gasym gsym + +# sasym = "set#{aliasName.to_s.capitalize}".to_sym +# ssym = setter.to_sym +# alias sasym ssym +# end + end + + end + + end +end diff --git a/vendor/gems/icalendar-1.0.2/lib/icalendar/parameter.rb b/vendor/gems/icalendar-1.0.2/lib/icalendar/parameter.rb new file mode 100644 index 0000000..f456ff1 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/lib/icalendar/parameter.rb @@ -0,0 +1,33 @@ +=begin + Copyright (C) 2005 Jeff Rose + + This library is free software; you can redistribute it and/or modify it + under the same terms as the ruby language itself, see the file COPYING for + details. +=end + +module Icalendar + + # A property can have attributes associated with it. These "property + # parameters" contain meta-information about the property or the + # property value. Property parameters are provided to specify such + # information as the location of an alternate text representation for a + # property value, the language of a text property value, the data type + # of the property value and other attributes. + class Parameter < Icalendar::Content + + def to_s + s = "" + + s << "#{@name}=" + if is_escapable? + s << escape(print_value()) + else + s << print_value + end + + s + end + + end +end diff --git a/vendor/gems/icalendar-1.0.2/lib/icalendar/parser.rb b/vendor/gems/icalendar-1.0.2/lib/icalendar/parser.rb new file mode 100644 index 0000000..19636b7 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/lib/icalendar/parser.rb @@ -0,0 +1,375 @@ +=begin + Copyright (C) 2005 Jeff Rose + Copyright (C) 2005 Sam Roberts + + This library is free software; you can redistribute it and/or modify it + under the same terms as the ruby language itself, see the file COPYING for + details. +=end + +require 'date' +require 'uri' +require 'stringio' + +module Icalendar + def Icalendar.parse(src, single = false) + cals = Icalendar::Parser.new(src).parse + + if single + cals.first + else + cals + end + end + + class Parser < Icalendar::Base + # date = date-fullyear ["-"] date-month ["-"] date-mday + # date-fullyear = 4 DIGIT + # date-month = 2 DIGIT + # date-mday = 2 DIGIT + DATE = '(\d\d\d\d)-?(\d\d)-?(\d\d)' + + # time = time-hour [":"] time-minute [":"] time-second [time-secfrac] [time-zone] + # time-hour = 2 DIGIT + # time-minute = 2 DIGIT + # time-second = 2 DIGIT + # time-secfrac = "," 1*DIGIT + # time-zone = "Z" / time-numzone + # time-numzome = sign time-hour [":"] time-minute + TIME = '(\d\d):?(\d\d):?(\d\d)(\.\d+)?(Z|[-+]\d\d:?\d\d)?' + + def initialize(src) + # Setup the parser method hash table + setup_parsers() + + if src.respond_to?(:gets) + @file = src + elsif (not src.nil?) and src.respond_to?(:to_s) + @file = StringIO.new(src.to_s, 'r') + else + raise ArgumentError, "CalendarParser.new cannot be called with a #{src.class} type!" + end + + @prev_line = @file.gets + @prev_line.chomp! unless @prev_line.nil? + + @@logger.debug("New Calendar Parser: #{@file.inspect}") + end + + # Define next line for an IO object. + # Works for strings now with StringIO + def next_line + line = @prev_line + + if line.nil? + return nil + end + + # Loop through until we get to a non-continuation line... + loop do + nextLine = @file.gets + @@logger.debug "new_line: #{nextLine}" + + if !nextLine.nil? + nextLine.chomp! + end + + # If it's a continuation line, add it to the last. + # If it's an empty line, drop it from the input. + if( nextLine =~ /^[ \t]/ ) + line << nextLine[1, nextLine.size] + elsif( nextLine =~ /^$/ ) + else + @prev_line = nextLine + break + end + end + line + end + + # Parse the calendar into an object representation + def parse + calendars = [] + + @@logger.debug "parsing..." + # Outer loop for Calendar objects + while (line = next_line) + fields = parse_line(line) + + # Just iterate through until we find the beginning of a calendar object + if fields[:name] == "BEGIN" and fields[:value] == "VCALENDAR" + cal = parse_component + @@logger.debug "Added parsed calendar..." + calendars << cal + end + end + + calendars + end + + private + + # Parse a single VCALENDAR object + # -- This should consist of the PRODID, VERSION, option METHOD & CALSCALE, + # and then one or more calendar components: VEVENT, VTODO, VJOURNAL, + # VFREEBUSY, VTIMEZONE + def parse_component(component = Calendar.new) + @@logger.debug "parsing new component..." + + while (line = next_line) + fields = parse_line(line) + + name = fields[:name].upcase + + # Although properties are supposed to come before components, we should + # be able to handle them in any order... + if name == "END" + break + elsif name == "BEGIN" # New component + case(fields[:value]) + when "VEVENT" # Event + component.add_component parse_component(Event.new) + when "VTODO" # Todo entry + component.add_component parse_component(Todo.new) + when "VALARM" # Alarm sub-component for event and todo + component.add_component parse_component(Alarm.new) + when "VJOURNAL" # Journal entry + component.add_component parse_component(Journal.new) + when "VFREEBUSY" # Free/Busy section + component.add_component parse_component(Freebusy.new) + when "VTIMEZONE" # Timezone specification + component.add_component parse_component(Timezone.new) + when "STANDARD" # Standard time sub-component for timezone + component.add_component parse_component(Standard.new) + when "DAYLIGHT" # Daylight time sub-component for timezone + component.add_component parse_component(Daylight.new) + else # Uknown component type, skip to matching end + until ((line = next_line) == "END:#{fields[:value]}"); end + next + end + else # If its not a component then it should be a property + params = fields[:params] + value = fields[:value] + + # Lookup the property name to see if we have a string to + # object parser for this property type. + if @parsers.has_key?(name) + value = @parsers[name].call(name, params, value) + end + + name = name.downcase + + # TODO: check to see if there are any more conflicts. + if name == 'class' or name == 'method' + name = "ip_" + name + end + + # Replace dashes with underscores + name = name.gsub('-', '_') + + if component.multi_property?(name) + adder = "add_" + name + if component.respond_to?(adder) + component.send(adder, value, params) + else + raise(UnknownPropertyMethod, "Unknown property type: #{adder}") + end + else + if component.respond_to?(name) + component.send(name, value, params) + else + raise(UnknownPropertyMethod, "Unknown property type: #{name}") + end + end + end + end + + component + end + + # 1*(ALPHA / DIGIT / "=") + NAME = '[-a-z0-9]+' + + # <"> <"> + QSTR = '"[^"]*"' + + # Contentline + LINE = "(#{NAME})(.*(?:#{QSTR})|(?:[^:]*))\:(.*)" + + # * + PTEXT = '[^";:,]*' + + # param-value = ptext / quoted-string + PVALUE = "#{QSTR}|#{PTEXT}" + + # param = name "=" param-value *("," param-value) + PARAM = ";(#{NAME})(=?)((?:#{PVALUE})(?:,#{PVALUE})*)" + + def parse_line(line) + unless line =~ %r{#{LINE}}i # Case insensitive match for a valid line + raise "Invalid line in calendar string!" + end + + name = $1.upcase # The case insensitive part is upcased for easier comparison... + paramslist = $2 + value = $3.gsub("\\;", ";").gsub("\\,", ",").gsub("\\n", "\n").gsub("\\\\", "\\") + + # Parse the parameters + params = {} + if paramslist.size > 1 + paramslist.scan( %r{#{PARAM}}i ) do + + # parameter names are case-insensitive, and multi-valued + pname = $1 + pvals = $3 + + # If their isn't an '=' sign then we need to do some custom + # business. Defaults to 'type' + if $2 == "" + pvals = $1 + case $1 + when /quoted-printable/i + pname = 'encoding' + + when /base64/i + pname = 'encoding' + + else + pname = 'type' + end + end + + # Make entries into the params dictionary where the name + # is the key and the value is an array of values. + unless params.key? pname + params[pname] = [] + end + + # Save all the values into the array. + pvals.scan( %r{(#{PVALUE})} ) do + if $1.size > 0 + params[pname] << $1 + end + end + end + end + + {:name => name, :value => value, :params => params} + end + + ## Following is a collection of parsing functions for various + ## icalendar property value data types... First we setup + ## a hash with property names pointing to methods... + def setup_parsers + @parsers = {} + + # Integer properties + m = self.method(:parse_integer) + @parsers["PERCENT-COMPLETE"] = m + @parsers["PRIORITY"] = m + @parsers["REPEAT"] = m + @parsers["SEQUENCE"] = m + + # Dates and Times + m = self.method(:parse_datetime) + @parsers["COMPLETED"] = m + @parsers["DTEND"] = m + @parsers["DUE"] = m + @parsers["DTSTART"] = m + @parsers["RECURRENCE-ID"] = m + @parsers["EXDATE"] = m + @parsers["RDATE"] = m + @parsers["CREATED"] = m + @parsers["DTSTAMP"] = m + @parsers["LAST-MODIFIED"] = m + + # URI's + m = self.method(:parse_uri) + @parsers["TZURL"] = m + @parsers["ATTENDEE"] = m + @parsers["ORGANIZER"] = m + @parsers["URL"] = m + + # This is a URI by default, and if its not a valid URI + # it will be returned as a string which works for binary data + # the other possible type. + @parsers["ATTACH"] = m + + # GEO + m = self.method(:parse_geo) + @parsers["GEO"] = m + + end + + # Booleans + # NOTE: It appears that although this is a valid data type + # there aren't any properties that use it... Maybe get + # rid of this in the future. + def parse_boolean(name, params, value) + if value.upcase == "FALSE" + false + else + true + end + end + + # Dates, Date-Times & Times + # NOTE: invalid dates & times will be returned as strings... + def parse_datetime(name, params, value) + begin + DateTime.parse(value) + rescue Exception + value + end + + end + + # Durations + # TODO: Need to figure out the best way to represent durations + # so just returning string for now. + def parse_duration(name, params, value) + value + end + + # Floats + # NOTE: returns 0.0 if it can't parse the value + def parse_float(name, params, value) + value.to_f + end + + # Integers + # NOTE: returns 0 if it can't parse the value + def parse_integer(name, params, value) + value.to_i + end + + # Periods + # TODO: Got to figure out how to represent periods also... + def parse_period(name, params, value) + value + end + + # Calendar Address's & URI's + # NOTE: invalid URI's will be returned as strings... + def parse_uri(name, params, value) + begin + URI.parse(value) + rescue Exception + value + end + end + + # Geographical location (GEO) + # NOTE: returns an array with two floats (long & lat) + # if the parsing fails return the string + def parse_geo(name, params, value) + strloc = value.split(';') + if strloc.size != 2 + return value + end + + Geo.new(strloc[0].to_f, strloc[1].to_f) + end + + end +end diff --git a/vendor/gems/icalendar-1.0.2/lib/meta.rb b/vendor/gems/icalendar-1.0.2/lib/meta.rb new file mode 100644 index 0000000..9457fe3 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/lib/meta.rb @@ -0,0 +1,32 @@ +# A set of methods to help create meta-programming gizmos. +class Object + # The metaclass is the singleton behind every object. + def metaclass + class << self + self + end + end + + # Evaluates the block in the context of the metaclass + def meta_eval &blk + metaclass.instance_eval &blk + end + + # Acts like an include except it adds the module's methods + # to the metaclass so they act like class methods. + def meta_include mod + meta_eval do + include mod + end + end + + # Adds methods to a metaclass + def meta_def name, &blk + meta_eval { define_method name, &blk } + end + + # Defines an instance method within a class + def class_def name, &blk + class_eval { define_method name, &blk } + end +end diff --git a/vendor/gems/icalendar-1.0.2/test/calendar_test.rb b/vendor/gems/icalendar-1.0.2/test/calendar_test.rb new file mode 100644 index 0000000..dc546a3 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/test/calendar_test.rb @@ -0,0 +1,71 @@ +$:.unshift(File.dirname(__FILE__) + '/../lib') + +require 'test/unit' +require 'icalendar' + +require 'date' + +class TestCalendar < Test::Unit::TestCase + include Icalendar + # Generate a calendar using the raw api, and then spit it out + # as a string. Parse the string and make sure everything matches up. + def test_raw_generation + # Create a fresh calendar + cal = Calendar.new + + cal.calscale = "GREGORIAN" + cal.version = "3.2" + cal.prodid = "test-prodid" + + # Now generate the string and then parse it so we can verify + # that everything was set, generated and parsed correctly. + calString = cal.to_ical + + cals = Parser.new(calString).parse + + cal2 = cals.first + assert_equal("GREGORIAN", cal2.calscale) + assert_equal("3.2", cal2.version) + assert_equal("test-prodid", cal2.prodid) + end + + def test_block_creation + cal = Calendar.new + cal.event do + self.dtend = "19970903T190000Z" + self.summary = "This is my summary" + end + + event = cal.event + event.dtend "19970903T190000Z", {:TZID => "Europe/Copenhagen"} + event.summary "This is my summary" + + ev = cal.events.each do |ev| + assert_equal("19970903T190000Z", ev.dtend) + assert_equal("This is my summary", ev.summary) + end + end + + def test_find + cal = Calendar.new + + # add some events so we actually have to search + 10.times do + cal.event + cal.todo + cal.journal + cal.freebusy + end + event = cal.events[5] + assert_equal(event, cal.find_event(event.uid)) + + todo = cal.todos[5] + assert_equal(todo, cal.find_todo(todo.uid)) + + journal = cal.journals[5] + assert_equal(journal, cal.find_journal(journal.uid)) + + freebusy = cal.freebusys[5] + assert_equal(freebusy, cal.find_freebusy(freebusy.uid)) + end +end diff --git a/vendor/gems/icalendar-1.0.2/test/component/event_test.rb b/vendor/gems/icalendar-1.0.2/test/component/event_test.rb new file mode 100644 index 0000000..2ab1644 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/test/component/event_test.rb @@ -0,0 +1,44 @@ +$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib")) + +require 'test/unit' +require 'icalendar' + +# Define a test event +testEvent = <['"http://my.language.net"'], "LANGUAGE" => ["SPANISH"]} + @event.summary("This is a test summary.", params) + + assert_equal params, @event.summary.ical_params + + @cal.add_event @event + cal_str = @cal.to_ical + + cals = Icalendar::Parser.new(cal_str).parse + event = cals.first.events.first + assert_equal params, event.summary.ical_params + end +end diff --git a/vendor/gems/icalendar-1.0.2/test/parser_test.rb b/vendor/gems/icalendar-1.0.2/test/parser_test.rb new file mode 100644 index 0000000..c513986 --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/test/parser_test.rb @@ -0,0 +1,84 @@ +$LOAD_PATH.unshift(File.dirname(__FILE__) + '/../lib') + +require 'test/unit' +require 'icalendar' + +# This is a test class for the calendar parser. +class TestIcalendarParser < Test::Unit::TestCase + + TEST_CAL = File.join(File.dirname(__FILE__), 'fixtures', 'single_event.ics') + + # First make sure that we can run the parser and get back objects. + def test_new + # Make sure we don't take invalid object types. + assert_raise(ArgumentError) { Icalendar::Parser.new(nil) } + + # Make sure we get an object back from parsing a file + calFile = File.open(TEST_CAL) + cals = Icalendar::Parser.new(calFile).parse + assert(cals) + calFile.close + + # Make sure we get an object back from parsing a string + calString = File.open(TEST_CAL).read + cals = Icalendar::Parser.new(calString).parse + assert(cals) + end + + # Now go through and make sure the object is correct using the + # dynamically generated raw interfaces. + def test_zzfile_parse + calFile = File.open(TEST_CAL) + cals = Icalendar.parse(calFile) + calFile.close + do_asserts(cals) + + Icalendar::Base.quiet + end + + def test_string_parse + # Make sure we get an object back from parsing a string + calString = File.open(TEST_CAL).read + cals = Icalendar::Parser.new(calString).parse + do_asserts(cals) + end + + # Just a helper method so we don't have to repeat the same tests. + def do_asserts(cals) + # Should just get one calendar back. + assert_equal(1, cals.size) + + cal = cals.first + + # Calendar properties + assert_equal("2.0", cal.version) + assert_equal("bsprodidfortestabc123", cal.prodid) + + # Now the event + assert_equal(1, cal.events.size) + + event = cal.events.first + assert_equal("bsuidfortestabc123", event.uid) + + summary = "This is a really long summary to test the method of unfolding lines, so I'm just going to make it a whole bunch of lines." + + assert_equal(summary, event.summary) + + start = DateTime.parse("20050120T170000") + daend = DateTime.parse("20050120T184500") + stamp = DateTime.parse("20050118T211523Z") + assert_equal(start, event.dtstart) + assert_equal(daend, event.dtend) + assert_equal(stamp, event.dtstamp) + + organizer = URI.parse("mailto:joebob@random.net") + assert_equal(organizer, event.organizer) + + ats = event.attachments + assert_equal(2, ats.size) + attachment = URI.parse("http://bush.sucks.org/impeach/him.rhtml") + assert_equal(attachment, ats[0]) + attachment = URI.parse("http://corporations-dominate.existence.net/why.rhtml") + assert_equal(attachment, ats[1]) + end +end diff --git a/vendor/gems/icalendar-1.0.2/test/read_write.rb b/vendor/gems/icalendar-1.0.2/test/read_write.rb new file mode 100644 index 0000000..fdf16ce --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/test/read_write.rb @@ -0,0 +1,23 @@ +#!/usr/bin/ruby + +# NOTE: you must have installed ruby-breakpoint in order to use this script. +# Grab it using gem with "gem install ruby-breakpoint --remote" or download +# from the website (http://ruby-breakpoint.rubyforge.org/) then run setup.rb + +$:.unshift(File.dirname(__FILE__) + '/../lib') + +require 'breakpoint' +require 'icalendar' + +cals = Icalendar::Parser.new(File.new(ARGV[0])).parse +puts "Parsed #{cals.size} calendars" + +cal = cals.first +puts "First calendar has:" +puts "#{cal.events.size} events" +puts "#{cal.todos.size} todos" +puts "#{cal.journals.size} journals" + +test = File.new("rw.ics", "w") +test.write(cal.to_ical) +test.close

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 VF}XadyJKjM6Nre2_}3N?{{hlouQ31s literal 0 HcmV?d00001 diff --git a/vendor/gems/icalendar-1.0.2/docs/rfcs/rfc3283.txt b/vendor/gems/icalendar-1.0.2/docs/rfcs/rfc3283.txt new file mode 100644 index 0000000..a1b4aca --- /dev/null +++ b/vendor/gems/icalendar-1.0.2/docs/rfcs/rfc3283.txt @@ -0,0 +1,738 @@ + + + +RFC 3283 (rfc3283) - Guide to Internet Calendaring + + + + +