From 5588a47901cb39219a3bd952719e17828a7c992f Mon Sep 17 00:00:00 2001 From: EeethB Date: Fri, 6 Oct 2023 15:13:08 +0000 Subject: [PATCH 1/3] Add glossary page and update site menu Update site structure and README contents Update logo and linked functions Update to Apache license --- DESCRIPTION | 2 +- LICENSE.md | 773 +++++-------------- NEWS.md | 3 + R/plot.initial_graph.R | 3 +- R/plot.updated_graph.R | 4 +- README.Rmd | 188 +---- README.md | 414 ++-------- _pkgdown.yml | 25 + inst/hex-graphicalMCP8.png | Bin 0 -> 114589 bytes man/figures/logo.png | Bin 94466 -> 29547 bytes pkgdown/favicon/apple-touch-icon-120x120.png | Bin 8342 -> 11565 bytes pkgdown/favicon/apple-touch-icon-152x152.png | Bin 11129 -> 15335 bytes pkgdown/favicon/apple-touch-icon-180x180.png | Bin 13413 -> 18958 bytes pkgdown/favicon/apple-touch-icon-60x60.png | Bin 3939 -> 5002 bytes pkgdown/favicon/apple-touch-icon-76x76.png | Bin 4871 -> 6507 bytes pkgdown/favicon/apple-touch-icon.png | Bin 13413 -> 18958 bytes pkgdown/favicon/favicon-16x16.png | Bin 1085 -> 1224 bytes pkgdown/favicon/favicon-32x32.png | Bin 2052 -> 2428 bytes pkgdown/favicon/favicon.ico | Bin 15086 -> 15086 bytes vignettes/generate-closure.Rmd | 763 +----------------- vignettes/glossary.Rmd | 69 ++ vignettes/graph-examples.Rmd | 14 +- vignettes/graphicalMCP.Rmd | 77 +- vignettes/validation.Rmd | 4 +- 24 files changed, 386 insertions(+), 1953 deletions(-) create mode 100644 NEWS.md create mode 100644 inst/hex-graphicalMCP8.png create mode 100644 vignettes/glossary.Rmd diff --git a/DESCRIPTION b/DESCRIPTION index a2bc584e..703f3d56 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -17,7 +17,7 @@ Description: A multiple comparison procedure (or multiple test procedure) particular statistical test used to assess results. This is a low-dependency implementation of the methods described in that and subsequent papers. -License: GPL (>= 3) +License: Apache License (>= 2) URL: https://urban-sniffle-p11zlpj.pages.github.io/ BugReports: https://github.com/Gilead-BioStats/graphicalMCP/issues Imports: diff --git a/LICENSE.md b/LICENSE.md index 175443ce..f9aad505 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,595 +1,194 @@ -GNU General Public License -========================== - -_Version 3, 29 June 2007_ -_Copyright © 2007 Free Software Foundation, Inc. <>_ - -Everyone is permitted to copy and distribute verbatim copies of this license -document, but changing it is not allowed. - -## Preamble - -The GNU General Public License is a free, copyleft license for software and other -kinds of works. - -The licenses for most software and other practical works are designed to take away -your freedom to share and change the works. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change all versions of a -program--to make sure it remains free software for all its users. We, the Free -Software Foundation, use the GNU General Public License for most of our software; it -applies also to any other work released this way by its authors. You can apply it to -your programs, too. - -When we speak of free software, we are referring to freedom, not price. Our General -Public Licenses are designed to make sure that you have the freedom to distribute -copies of free software (and charge for them if you wish), that you receive source -code or can get it if you want it, that you can change the software or use pieces of -it in new free programs, and that you know you can do these things. - -To protect your rights, we need to prevent others from denying you these rights or -asking you to surrender the rights. Therefore, you have certain responsibilities if -you distribute copies of the software, or if you modify it: responsibilities to -respect the freedom of others. - -For example, if you distribute copies of such a program, whether gratis or for a fee, -you must pass on to the recipients the same freedoms that you received. You must make -sure that they, too, receive or can get the source code. And you must show them these -terms so they know their rights. - -Developers that use the GNU GPL protect your rights with two steps: **(1)** assert -copyright on the software, and **(2)** offer you this License giving you legal permission -to copy, distribute and/or modify it. - -For the developers' and authors' protection, the GPL clearly explains that there is -no warranty for this free software. For both users' and authors' sake, the GPL -requires that modified versions be marked as changed, so that their problems will not -be attributed erroneously to authors of previous versions. - -Some devices are designed to deny users access to install or run modified versions of -the software inside them, although the manufacturer can do so. This is fundamentally -incompatible with the aim of protecting users' freedom to change the software. The -systematic pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we have designed -this version of the GPL to prohibit the practice for those products. If such problems -arise substantially in other domains, we stand ready to extend this provision to -those domains in future versions of the GPL, as needed to protect the freedom of -users. - -Finally, every program is threatened constantly by software patents. States should -not allow patents to restrict development and use of software on general-purpose -computers, but in those that do, we wish to avoid the special danger that patents -applied to a free program could make it effectively proprietary. To prevent this, the -GPL assures that patents cannot be used to render the program non-free. - -The precise terms and conditions for copying, distribution and modification follow. - -## TERMS AND CONDITIONS - -### 0. Definitions - -“This License” refers to version 3 of the GNU General Public License. - -“Copyright” also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - -“The Program” refers to any copyrightable work licensed under this -License. Each licensee is addressed as “you”. “Licensees” and -“recipients” may be individuals or organizations. - -To “modify” a work means to copy from or adapt all or part of the work in -a fashion requiring copyright permission, other than the making of an exact copy. The -resulting work is called a “modified version” of the earlier work or a -work “based on” the earlier work. - -A “covered work” means either the unmodified Program or a work based on -the Program. - -To “propagate” a work means to do anything with it that, without -permission, would make you directly or secondarily liable for infringement under -applicable copyright law, except executing it on a computer or modifying a private -copy. Propagation includes copying, distribution (with or without modification), -making available to the public, and in some countries other activities as well. - -To “convey” a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through a computer -network, with no transfer of a copy, is not conveying. - -An interactive user interface displays “Appropriate Legal Notices” to the -extent that it includes a convenient and prominently visible feature that **(1)** -displays an appropriate copyright notice, and **(2)** tells the user that there is no -warranty for the work (except to the extent that warranties are provided), that -licensees may convey the work under this License, and how to view a copy of this -License. If the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - -### 1. Source Code - -The “source code” for a work means the preferred form of the work for -making modifications to it. “Object code” means any non-source form of a -work. - -A “Standard Interface” means an interface that either is an official -standard defined by a recognized standards body, or, in the case of interfaces -specified for a particular programming language, one that is widely used among -developers working in that language. - -The “System Libraries” of an executable work include anything, other than -the work as a whole, that **(a)** is included in the normal form of packaging a Major -Component, but which is not part of that Major Component, and **(b)** serves only to -enable use of the work with that Major Component, or to implement a Standard -Interface for which an implementation is available to the public in source code form. -A “Major Component”, in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system (if any) on which -the executable work runs, or a compiler used to produce the work, or an object code -interpreter used to run it. - -The “Corresponding Source” for a work in object code form means all the -source code needed to generate, install, and (for an executable work) run the object -code and to modify the work, including scripts to control those activities. However, -it does not include the work's System Libraries, or general-purpose tools or -generally available free programs which are used unmodified in performing those -activities but which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for the work, and -the source code for shared libraries and dynamically linked subprograms that the work -is specifically designed to require, such as by intimate data communication or -control flow between those subprograms and other parts of the work. - -The Corresponding Source need not include anything that users can regenerate -automatically from other parts of the Corresponding Source. - -The Corresponding Source for a work in source code form is that same work. - -### 2. Basic Permissions - -All rights granted under this License are granted for the term of copyright on the -Program, and are irrevocable provided the stated conditions are met. This License -explicitly affirms your unlimited permission to run the unmodified Program. The -output from running a covered work is covered by this License only if the output, -given its content, constitutes a covered work. This License acknowledges your rights -of fair use or other equivalent, as provided by copyright law. - -You may make, run and propagate covered works that you do not convey, without -conditions so long as your license otherwise remains in force. You may convey covered -works to others for the sole purpose of having them make modifications exclusively -for you, or provide you with facilities for running those works, provided that you -comply with the terms of this License in conveying all material for which you do not -control copyright. Those thus making or running the covered works for you must do so -exclusively on your behalf, under your direction and control, on terms that prohibit -them from making any copies of your copyrighted material outside their relationship -with you. - -Conveying under any other circumstances is permitted solely under the conditions -stated below. Sublicensing is not allowed; section 10 makes it unnecessary. - -### 3. Protecting Users' Legal Rights From Anti-Circumvention Law - -No covered work shall be deemed part of an effective technological measure under any -applicable law fulfilling obligations under article 11 of the WIPO copyright treaty -adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention -of such measures. - -When you convey a covered work, you waive any legal power to forbid circumvention of -technological measures to the extent such circumvention is effected by exercising -rights under this License with respect to the covered work, and you disclaim any -intention to limit operation or modification of the work as a means of enforcing, -against the work's users, your or third parties' legal rights to forbid circumvention -of technological measures. - -### 4. Conveying Verbatim Copies - -You may convey verbatim copies of the Program's source code as you receive it, in any -medium, provided that you conspicuously and appropriately publish on each copy an -appropriate copyright notice; keep intact all notices stating that this License and -any non-permissive terms added in accord with section 7 apply to the code; keep -intact all notices of the absence of any warranty; and give all recipients a copy of -this License along with the Program. - -You may charge any price or no price for each copy that you convey, and you may offer -support or warranty protection for a fee. - -### 5. Conveying Modified Source Versions - -You may convey a work based on the Program, or the modifications to produce it from -the Program, in the form of source code under the terms of section 4, provided that -you also meet all of these conditions: - -* **a)** The work must carry prominent notices stating that you modified it, and giving a -relevant date. -* **b)** The work must carry prominent notices stating that it is released under this -License and any conditions added under section 7. This requirement modifies the -requirement in section 4 to “keep intact all notices”. -* **c)** You must license the entire work, as a whole, under this License to anyone who -comes into possession of a copy. This License will therefore apply, along with any -applicable section 7 additional terms, to the whole of the work, and all its parts, -regardless of how they are packaged. This License gives no permission to license the -work in any other way, but it does not invalidate such permission if you have -separately received it. -* **d)** If the work has interactive user interfaces, each must display Appropriate Legal -Notices; however, if the Program has interactive interfaces that do not display -Appropriate Legal Notices, your work need not make them do so. - -A compilation of a covered work with other separate and independent works, which are -not by their nature extensions of the covered work, and which are not combined with -it such as to form a larger program, in or on a volume of a storage or distribution -medium, is called an “aggregate” if the compilation and its resulting -copyright are not used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work in an aggregate -does not cause this License to apply to the other parts of the aggregate. - -### 6. Conveying Non-Source Forms - -You may convey a covered work in object code form under the terms of sections 4 and -5, provided that you also convey the machine-readable Corresponding Source under the -terms of this License, in one of these ways: - -* **a)** Convey the object code in, or embodied in, a physical product (including a -physical distribution medium), accompanied by the Corresponding Source fixed on a -durable physical medium customarily used for software interchange. -* **b)** Convey the object code in, or embodied in, a physical product (including a -physical distribution medium), accompanied by a written offer, valid for at least -three years and valid for as long as you offer spare parts or customer support for -that product model, to give anyone who possesses the object code either **(1)** a copy of -the Corresponding Source for all the software in the product that is covered by this -License, on a durable physical medium customarily used for software interchange, for -a price no more than your reasonable cost of physically performing this conveying of -source, or **(2)** access to copy the Corresponding Source from a network server at no -charge. -* **c)** Convey individual copies of the object code with a copy of the written offer to -provide the Corresponding Source. This alternative is allowed only occasionally and -noncommercially, and only if you received the object code with such an offer, in -accord with subsection 6b. -* **d)** Convey the object code by offering access from a designated place (gratis or for -a charge), and offer equivalent access to the Corresponding Source in the same way -through the same place at no further charge. You need not require recipients to copy -the Corresponding Source along with the object code. If the place to copy the object -code is a network server, the Corresponding Source may be on a different server -(operated by you or a third party) that supports equivalent copying facilities, -provided you maintain clear directions next to the object code saying where to find -the Corresponding Source. Regardless of what server hosts the Corresponding Source, -you remain obligated to ensure that it is available for as long as needed to satisfy -these requirements. -* **e)** Convey the object code using peer-to-peer transmission, provided you inform -other peers where the object code and Corresponding Source of the work are being -offered to the general public at no charge under subsection 6d. - -A separable portion of the object code, whose source code is excluded from the -Corresponding Source as a System Library, need not be included in conveying the -object code work. - -A “User Product” is either **(1)** a “consumer product”, which -means any tangible personal property which is normally used for personal, family, or -household purposes, or **(2)** anything designed or sold for incorporation into a -dwelling. In determining whether a product is a consumer product, doubtful cases -shall be resolved in favor of coverage. For a particular product received by a -particular user, “normally used” refers to a typical or common use of -that class of product, regardless of the status of the particular user or of the way -in which the particular user actually uses, or expects or is expected to use, the -product. A product is a consumer product regardless of whether the product has -substantial commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - -“Installation Information” for a User Product means any methods, -procedures, authorization keys, or other information required to install and execute -modified versions of a covered work in that User Product from a modified version of -its Corresponding Source. The information must suffice to ensure that the continued -functioning of the modified object code is in no case prevented or interfered with -solely because modification has been made. - -If you convey an object code work under this section in, or with, or specifically for -use in, a User Product, and the conveying occurs as part of a transaction in which -the right of possession and use of the User Product is transferred to the recipient -in perpetuity or for a fixed term (regardless of how the transaction is -characterized), the Corresponding Source conveyed under this section must be -accompanied by the Installation Information. But this requirement does not apply if -neither you nor any third party retains the ability to install modified object code -on the User Product (for example, the work has been installed in ROM). - -The requirement to provide Installation Information does not include a requirement to -continue to provide support service, warranty, or updates for a work that has been -modified or installed by the recipient, or for the User Product in which it has been -modified or installed. Access to a network may be denied when the modification itself -materially and adversely affects the operation of the network or violates the rules -and protocols for communication across the network. - -Corresponding Source conveyed, and Installation Information provided, in accord with -this section must be in a format that is publicly documented (and with an -implementation available to the public in source code form), and must require no -special password or key for unpacking, reading or copying. - -### 7. Additional Terms - -“Additional permissions” are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. Additional -permissions that are applicable to the entire Program shall be treated as though they -were included in this License, to the extent that they are valid under applicable -law. If additional permissions apply only to part of the Program, that part may be -used separately under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - -When you convey a copy of a covered work, you may at your option remove any -additional permissions from that copy, or from any part of it. (Additional -permissions may be written to require their own removal in certain cases when you -modify the work.) You may place additional permissions on material, added by you to a -covered work, for which you have or can give appropriate copyright permission. - -Notwithstanding any other provision of this License, for material you add to a -covered work, you may (if authorized by the copyright holders of that material) -supplement the terms of this License with terms: - -* **a)** Disclaiming warranty or limiting liability differently from the terms of -sections 15 and 16 of this License; or -* **b)** Requiring preservation of specified reasonable legal notices or author -attributions in that material or in the Appropriate Legal Notices displayed by works -containing it; or -* **c)** Prohibiting misrepresentation of the origin of that material, or requiring that -modified versions of such material be marked in reasonable ways as different from the -original version; or -* **d)** Limiting the use for publicity purposes of names of licensors or authors of the -material; or -* **e)** Declining to grant rights under trademark law for use of some trade names, -trademarks, or service marks; or -* **f)** Requiring indemnification of licensors and authors of that material by anyone -who conveys the material (or modified versions of it) with contractual assumptions of -liability to the recipient, for any liability that these contractual assumptions -directly impose on those licensors and authors. - -All other non-permissive additional terms are considered “further -restrictions” within the meaning of section 10. If the Program as you received -it, or any part of it, contains a notice stating that it is governed by this License -along with a term that is a further restriction, you may remove that term. If a -license document contains a further restriction but permits relicensing or conveying -under this License, you may add to a covered work material governed by the terms of -that license document, provided that the further restriction does not survive such -relicensing or conveying. - -If you add terms to a covered work in accord with this section, you must place, in -the relevant source files, a statement of the additional terms that apply to those -files, or a notice indicating where to find the applicable terms. - -Additional terms, permissive or non-permissive, may be stated in the form of a -separately written license, or stated as exceptions; the above requirements apply -either way. - -### 8. Termination - -You may not propagate or modify a covered work except as expressly provided under -this License. Any attempt otherwise to propagate or modify it is void, and will -automatically terminate your rights under this License (including any patent licenses -granted under the third paragraph of section 11). - -However, if you cease all violation of this License, then your license from a -particular copyright holder is reinstated **(a)** provisionally, unless and until the -copyright holder explicitly and finally terminates your license, and **(b)** permanently, -if the copyright holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - -Moreover, your license from a particular copyright holder is reinstated permanently -if the copyright holder notifies you of the violation by some reasonable means, this -is the first time you have received notice of violation of this License (for any -work) from that copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - -Termination of your rights under this section does not terminate the licenses of -parties who have received copies or rights from you under this License. If your -rights have been terminated and not permanently reinstated, you do not qualify to -receive new licenses for the same material under section 10. - -### 9. Acceptance Not Required for Having Copies - -You are not required to accept this License in order to receive or run a copy of the -Program. Ancillary propagation of a covered work occurring solely as a consequence of -using peer-to-peer transmission to receive a copy likewise does not require -acceptance. However, nothing other than this License grants you permission to -propagate or modify any covered work. These actions infringe copyright if you do not -accept this License. Therefore, by modifying or propagating a covered work, you -indicate your acceptance of this License to do so. - -### 10. Automatic Licensing of Downstream Recipients - -Each time you convey a covered work, the recipient automatically receives a license -from the original licensors, to run, modify and propagate that work, subject to this -License. You are not responsible for enforcing compliance by third parties with this -License. - -An “entity transaction” is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an organization, or -merging organizations. If propagation of a covered work results from an entity -transaction, each party to that transaction who receives a copy of the work also -receives whatever licenses to the work the party's predecessor in interest had or -could give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if the predecessor -has it or can get it with reasonable efforts. - -You may not impose any further restrictions on the exercise of the rights granted or -affirmed under this License. For example, you may not impose a license fee, royalty, -or other charge for exercise of rights granted under this License, and you may not -initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging -that any patent claim is infringed by making, using, selling, offering for sale, or -importing the Program or any portion of it. - -### 11. Patents - -A “contributor” is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The work thus -licensed is called the contributor's “contributor version”. - -A contributor's “essential patent claims” are all patent claims owned or -controlled by the contributor, whether already acquired or hereafter acquired, that -would be infringed by some manner, permitted by this License, of making, using, or -selling its contributor version, but do not include claims that would be infringed -only as a consequence of further modification of the contributor version. For -purposes of this definition, “control” includes the right to grant patent -sublicenses in a manner consistent with the requirements of this License. - -Each contributor grants you a non-exclusive, worldwide, royalty-free patent license -under the contributor's essential patent claims, to make, use, sell, offer for sale, -import and otherwise run, modify and propagate the contents of its contributor -version. - -In the following three paragraphs, a “patent license” is any express -agreement or commitment, however denominated, not to enforce a patent (such as an -express permission to practice a patent or covenant not to sue for patent -infringement). To “grant” such a patent license to a party means to make -such an agreement or commitment not to enforce a patent against the party. - -If you convey a covered work, knowingly relying on a patent license, and the -Corresponding Source of the work is not available for anyone to copy, free of charge -and under the terms of this License, through a publicly available network server or -other readily accessible means, then you must either **(1)** cause the Corresponding -Source to be so available, or **(2)** arrange to deprive yourself of the benefit of the -patent license for this particular work, or **(3)** arrange, in a manner consistent with -the requirements of this License, to extend the patent license to downstream -recipients. “Knowingly relying” means you have actual knowledge that, but -for the patent license, your conveying the covered work in a country, or your -recipient's use of the covered work in a country, would infringe one or more -identifiable patents in that country that you have reason to believe are valid. - -If, pursuant to or in connection with a single transaction or arrangement, you -convey, or propagate by procuring conveyance of, a covered work, and grant a patent -license to some of the parties receiving the covered work authorizing them to use, -propagate, modify or convey a specific copy of the covered work, then the patent -license you grant is automatically extended to all recipients of the covered work and -works based on it. - -A patent license is “discriminatory” if it does not include within the -scope of its coverage, prohibits the exercise of, or is conditioned on the -non-exercise of one or more of the rights that are specifically granted under this -License. You may not convey a covered work if you are a party to an arrangement with -a third party that is in the business of distributing software, under which you make -payment to the third party based on the extent of your activity of conveying the -work, and under which the third party grants, to any of the parties who would receive -the covered work from you, a discriminatory patent license **(a)** in connection with -copies of the covered work conveyed by you (or copies made from those copies), or **(b)** -primarily for and in connection with specific products or compilations that contain -the covered work, unless you entered into that arrangement, or that patent license -was granted, prior to 28 March 2007. - -Nothing in this License shall be construed as excluding or limiting any implied -license or other defenses to infringement that may otherwise be available to you -under applicable patent law. - -### 12. No Surrender of Others' Freedom - -If conditions are imposed on you (whether by court order, agreement or otherwise) -that contradict the conditions of this License, they do not excuse you from the -conditions of this License. If you cannot convey a covered work so as to satisfy -simultaneously your obligations under this License and any other pertinent -obligations, then as a consequence you may not convey it at all. For example, if you -agree to terms that obligate you to collect a royalty for further conveying from -those to whom you convey the Program, the only way you could satisfy both those terms -and this License would be to refrain entirely from conveying the Program. - -### 13. Use with the GNU Affero General Public License - -Notwithstanding any other provision of this License, you have permission to link or -combine any covered work with a work licensed under version 3 of the GNU Affero -General Public License into a single combined work, and to convey the resulting work. -The terms of this License will continue to apply to the part which is the covered -work, but the special requirements of the GNU Affero General Public License, section -13, concerning interaction through a network will apply to the combination as such. - -### 14. Revised Versions of this License - -The Free Software Foundation may publish revised and/or new versions of the GNU -General Public License from time to time. Such new versions will be similar in spirit -to the present version, but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Program specifies that -a certain numbered version of the GNU General Public License “or any later -version” applies to it, you have the option of following the terms and -conditions either of that numbered version or of any later version published by the -Free Software Foundation. If the Program does not specify a version number of the GNU -General Public License, you may choose any version ever published by the Free -Software Foundation. - -If the Program specifies that a proxy can decide which future versions of the GNU -General Public License can be used, that proxy's public statement of acceptance of a -version permanently authorizes you to choose that version for the Program. - -Later license versions may give you additional or different permissions. However, no -additional obligations are imposed on any author or copyright holder as a result of -your choosing to follow a later version. - -### 15. Disclaimer of Warranty - -THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER -EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE -QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE -DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -### 16. Limitation of Liability - -IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY -COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS -PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE -OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE -WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - -### 17. Interpretation of Sections 15 and 16 - -If the disclaimer of warranty and limitation of liability provided above cannot be -given local legal effect according to their terms, reviewing courts shall apply local -law that most closely approximates an absolute waiver of all civil liability in -connection with the Program, unless a warranty or assumption of liability accompanies -a copy of the Program in return for a fee. +Apache License +============== + +_Version 2.0, January 2004_ +_<>_ + +### Terms and Conditions for use, reproduction, and distribution + +#### 1. Definitions + +“License” shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +“Licensor” shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +“Legal Entity” shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, “control” means **(i)** the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or **(ii)** ownership of fifty percent (50%) or more of the +outstanding shares, or **(iii)** beneficial ownership of such entity. + +“You” (or “Your”) shall mean an individual or Legal Entity exercising +permissions granted by this License. + +“Source” form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +“Object” form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +“Work” shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +“Derivative Works” shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +“Contribution” shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +“submitted” means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as “Not a Contribution.” + +“Contributor” shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +#### 2. Grant of Copyright License + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +#### 3. Grant of Patent License + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +#### 4. Redistribution + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +* **(a)** You must give any other recipients of the Work or Derivative Works a copy of +this License; and +* **(b)** You must cause any modified files to carry prominent notices stating that You +changed the files; and +* **(c)** You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +* **(d)** If the Work includes a “NOTICE” text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. + +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +#### 5. Submission of Contributions + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +#### 6. Trademarks + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +#### 7. Disclaimer of Warranty + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +#### 8. Limitation of Liability + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +#### 9. Accepting Warranty or Additional Liability + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. _END OF TERMS AND CONDITIONS_ -## How to Apply These Terms to Your New Programs +### APPENDIX: How to apply the Apache License to your work -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 apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets `[]` replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same “printed page” as the copyright notice for easier identification within +third-party archives. -To do so, attach the following notices to the program. It is safest to attach them -to the start of each source file to most effectively state the exclusion of warranty; -and each file should have at least the “copyright” line and a pointer to -where the full notice is found. + Copyright 2023 Gilead Sciences - - Copyright (C) + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. + http://www.apache.org/licenses/LICENSE-2.0 - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - -If the program does terminal interaction, make it output a short notice like this -when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type 'show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type 'show c' for details. - -The hypothetical commands `show w` and `show c` should show the appropriate parts of -the General Public License. Of course, your program's commands might be different; -for a GUI interface, you would use an “about box”. - -You should also get your employer (if you work as a programmer) or school, if any, to -sign a “copyright disclaimer” for the program, if necessary. For more -information on this, and how to apply and follow the GNU GPL, see -<>. - -The GNU General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may consider it -more useful to permit linking proprietary applications with the library. If this is -what you want to do, use the GNU Lesser General Public License instead of this -License. But first, please read -<>. + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/NEWS.md b/NEWS.md new file mode 100644 index 00000000..4d264d01 --- /dev/null +++ b/NEWS.md @@ -0,0 +1,3 @@ +# graphicalMCP 0.1.0 + +* First internal release diff --git a/R/plot.initial_graph.R b/R/plot.initial_graph.R index 5c45e7f2..ca0ef9c6 100644 --- a/R/plot.initial_graph.R +++ b/R/plot.initial_graph.R @@ -169,11 +169,12 @@ plot.initial_graph <- function(x, graph_igraph, ..., layout = layout, - vertex.color = "#e8c2ff", + vertex.color = "#6baed6", vertex.label = v_labels, vertex.label.color = "black", vertex.size = 20, edge.label = edge_labels, + edge.label.color = "black", edge.curved = curve, edge.arrow.size = 1, edge.arrow.width = 1, diff --git a/R/plot.updated_graph.R b/R/plot.updated_graph.R index 86ef282e..30bac46c 100644 --- a/R/plot.updated_graph.R +++ b/R/plot.updated_graph.R @@ -19,8 +19,8 @@ #' layout = "grid" #' ) plot.updated_graph <- function(x, ...) { - v_colors <- rep("#e8c2ff", length(x$updated_graph$hypotheses)) - v_colors[x$deleted] <- "grey80" + v_colors <- rep("#6baed6", length(x$updated_graph$hypotheses)) + v_colors[x$deleted] <- "#cccccc" plot(x$updated_graph, vertex.color = v_colors, ...) } diff --git a/README.Rmd b/README.Rmd index 12f8dbfb..1fd0e796 100644 --- a/README.Rmd +++ b/README.Rmd @@ -23,15 +23,15 @@ knitr::opts_chunk$set( -# graphicalMCP +# graphicalMCP ## Introduction -Graphical approaches for multiple comparison procedures (MCPs) are a general framework to control the familywise error rate strongly as a pre-specified significance level $0<\alpha<1$. This approach includes many commonly used MCPs as special cases and is transparent in visualizing MCPs for better communications. `graphicalMCP` is designed to design and analyze graphical MCPs in a flexible, informative and efficient way. +Graphical approaches for multiple comparison procedures (MCPs) are a general framework to control the family-wise error rate strongly at a pre-specified significance level $0<\alpha<1$. This approach includes many commonly used MCPs as special cases and is transparent in visualizing MCPs for better communications. `graphicalMCP` is designed to design and analyze graphical MCPs in a flexible, informative and efficient way. ## Installation -`graphicalMCP` is current not on CRAN but can be installed from GitHub using the follow code: +`graphicalMCP` is currently not on CRAN but can be installed from GitHub using the following code: ```{r eval = FALSE} # install.packages("pak") @@ -39,15 +39,22 @@ pak::pak("Gilead-BioStats/graphicalMCP@dev") ``` ## Documentation - -- To get started, see `vignette("graphicalMCP")` -- Te get familiar with glossary and functions, see `` +- For basic usage instructions, see `vignette("graphicalMCP")` +- To become familiar with graphical MCP terminology, see `vignette("glossary")` - To learn examples of how to use `graphicalMCP`, - see `vignette("shortcut-testing")` for sequentially rejective graphical multiple comparison procedures based on Bonferroni tests - see `vignette("closed-testing")` for graphical multiple comparison procedures based on the closure principle - see `vignette("graph-examples")` for common multiple comparison procedures illustrated using `graphicalMCP` - see `vignette("generate-closure")` for rationales to generate the closure and the weighting strategy of a graph - - see `vignette("comparisons")` comparisons to other R packages + - see `vignette("validation")` for comparisons to other R packages + +## Related work + +- Graphical MCPs - [gMCP](https://cran.r-project.org/package=gMCP) +- Lighter version of `gMCP` which removes the rJava dependency - [gMCPLite](https://cran.r-project.org/package=gMCPLite) +- Graphical MCPs with Simes tests - [lrstat](https://cran.r-project.org/package=lrstat) + +Built upon these packages, we hope to implement graphical MCPs in a more general framework, with fewer dependencies and simpler S3 classes, and without losing computational efficiency. ## Related work @@ -70,171 +77,4 @@ Frank Bretz, Willi Maurer, Ekkehard Glimm, and Ron Yu We owe a debt of gratitude to the authors of [gMCP](https://cran.r-project.org/package=gMCP) for their pioneering work, without which this package would not be nearly as extensive as it is. -################################################################################ -# Basic usage - -## Initial graph - -The base object in graphicalMCP is an `initial_graph`, which is a weighted, directed graph represented by a matrix of transition (edge) weights, and a vector of hypothesis (vertex) weights. - -```{r create-graph, fig.dim=c(3, 3)} -library(graphicalMCP) - -# A graphical multiple comparison procedure with two primary hypotheses (H1 -# and H2) and two secondary hypotheses (H3 and H4) -# See Figure 1 in Bretz, F., Posch, M., Glimm, E., Klinglmueller, F., Maurer, -# W., & Rohmeyer, K. (2011). Graphical approaches for multiple comparison -# procedures using weighted Bonferroni, Simes, or parametric tests. Biometrical -# Journal, 53(6), 894-913. -hypotheses <- c(0.5, 0.5, 0, 0) -transitions <- rbind( - c(0, 0, 1, 0), - c(0, 0, 0, 1), - c(0, 1, 0, 0), - c(1, 0, 0, 0) -) - -hyp_names <- c("H1", "H2", "H3", "H4") -example_graph <- graph_create(hypotheses, transitions, hyp_names) - -example_graph -``` - -```{r plot-graph, fig.dim=c(3, 3)} -plot(example_graph, vertex.size = 60) -``` - -## Update graph - -Hypotheses can be deleted from the MCP using `graph_update()`. Updated weights and transitions are calculated according to the weighting strategy in Algorithm 1 of [@bretz-2011-tests]. We distinguish *deleting* from *rejecting* in the [glossary](#glossary-of-terms). - -```{r update-graph} -updated_example <- graph_update(example_graph, - delete = c(FALSE, TRUE, TRUE, FALSE)) - -updated_example -``` - -```{r plot-updated-graph, fig.dim=c(3, 3)} -plot(updated_example, vertex.size = 60) -``` - -## Generate weights - -The weights of all sub-graphs can be calculated with `graph_generate_weights()`. This uses more efficient code under the hood than `graph_update()` in order to be performant for larger graphs. - -```{r generate-weights} -graph_generate_weights(example_graph) -``` - -More information on the closure can be found in `vignette("generate-closure")`. - -## Test hypotheses - -Bonferroni testing via the shortcut method is supported in graphicalMCP. Such a test can be performed with `graph_test_shortcut()`, which generates a report showing the graph & test results. See more insight about why a hypothesis was rejected or not by setting the `verbose` and `test_values` flags. More details about shortcut testing can be found in `vignette("shortcut-testing")`. - -```{r test-graph-shortcut} -graph_test_shortcut(example_graph, p = c(.01, .03, .02, .01), alpha = .025) -``` - -A graph can also be tested using Simes- or parametric-based testing using the closure test. Other types of tests will be added over time, and a combination of tests can be used for groups of hypotheses. Additional details about closure testing can be found in `vignette("closed-testing")`. - -```{r test-graph} -graph_test_closure( - example_graph, - p = c(.01, .03, .02, .01), - alpha = .025, - test_types = "bonferroni", - test_groups = list(1:4) -) -``` - -## Power simulations - -It's not always obvious from a graph structure how easy or difficult it will be to reject each hypothesis. One way to understand this better is to run a power simulation, where many p-values are simulated, and a graph is tested against each. - -```{r power} -graph_calculate_power( - example_graph, - sim_n = 1e5, - power_marginal = c(.9, .9, .8, .8) -) -``` - -All valid test types & hypothesis groupings are valid for power simulations as well. Power simulations are discussed further in both `vignette("shortcut-testing")` and `vignette("closed-testing")`. - -# Related work - -These methods were originally implemented in the [gMCP package](https://github.com/kornl/gMCP), which is still available on CRAN today. There is also a lighter version of gMCP implemented in [gMCPmini](https://github.com/allenzhuaz/gMCPmini) and its successor, [gMCPLite](https://github.com/Merck/gMCPLite). These two contain only a subset of the original functionality, but they remove the rJava dependency and add plotting functionality based on ggplot2. - -However, because development has ceased on the original package, we hope to re-implement the methods with a more general testing framework; with fewer dependencies, in particular shedding the Java dependency; with simpler, more transparent S3 classes; and with improvements to the accuracy of the parametric and Simes test methods. - -A portion of Simes testing is also implemented in the lrstat package. - -# Citation - -```{r citation, results="markup"} -citation("graphicalMCP") -``` - -# Acknowledgments - -We owe a debt of gratitude to the authors of gMCP for their pioneering work in the field, without which this package would not be nearly as extensive as it is. - -# Glossary of terms {#glossary-of-terms} - -This package seeks to be both accurate and performant, of course. But beyond that, much thought has been put into the readability of the code. Whether being read by a user validating our methods, a developer extending the package to new uses, or a contributor helping enhance the core functionality, we hope that the code contained here can serve as an educational document to grow people's understanding of the graphical approach to multiple comparison procedures. - -To that end, there are several entities encountered in the world of graphical MCPs that we define here. Some of these are used only in the internal code of the package, but most are inputs or output in one or more exported functions. If you believe any definitions could be clarified or improved, please contact the package authors or submit an issue to the GitHub repository. - -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| Entity | Definition | Aliases | Variable(s) | Related | -+=================================+====================================================================================================================================================================================================================+=======================================+=================================+=================================+ -| **Graph** | A set of nodes and edges representing a clinical trial design | | `graph` | Hypotheses, Transitions | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| | **Graphs** are so central that two of their core qualities get their own common variable names: Hypothesis names, and number of hypotheses | | `hyp_names`, `num_hyps` | | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Hypotheses** | The weighted nodes in a **graph**. Each node represents a null hypothesis corresponding to a treatment endpoint, and its weight the local significance level. | weights, hypothesis weights | `hypotheses` | Weighting strategy, Transitions | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Transitions** | The weighted edges in a **graph**. Each edge defines how to propagate local significance when a source node is deleted. | | `transitions` | Hypotheses | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Intersection** **hypothesis** | A subset of **hypotheses** from a **graph**. Plural often implies all such subsets. | intersection, sub-graph(s), closure | `intersections` | Weighting strategy | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Weighting strategy** | The set of all **intersections** and their **weights** according to Algorithm 1 in Bretz et al (2011) | intersection weights, closure weights | `weighting_strategy` | | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Adjusted weights** | The set of **weights**, adjusted according to a testing algorithm: | | `adjusted_weights` | | -| | | | | | -| | - Bonferroni: No change | | | | -| | - Simes: Sum weights for hypotheses with smaller p-values | | | | -| | - Parametric: Multiply weights by c-value, based on the joint distribution | | | | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **P-values** | The set of p-values from a real or simulated clinical trial | | `p` | Adjusted & ordered p-values | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Ordered p-values** | **P-values** sorted from smallest to largest | | `ordered_p` | (Adjusted) P-values | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Adjusted p-values** | **P-values** that have been divided by **adjusted weights**, allowing direct comparison to **alpha** to determine significance | | `adjusted_p` | (Ordered) P-values | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Significance level** | The threshold chosen for results of a clinical trial to be considered significant | | `alpha` | P-values | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Test types** | A specification of which testing algorithm to use - Bonferroni, Simes, and parametric are supported | tests | `test_types` | Testing strategy | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Test groups** | A partition of nodes in a **graph** specifying which **hypotheses** should be tested together | groups | `groups`, `test_groups` | Testing strategy | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Testing strategy** | **Test types** and **test groups** combined | | | | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Marginal power** | The power to reject each null **hypothesis** at full **alpha**. Closely related to the non-centrality parameter, which is the mean of each null **hypothesis** in the underlying multivariate normal distribution: | | `marginal_power` | Correlation matrix | -| | | | | | -| | `ncp = qnorm(1 - alpha) - qnorm(1 - marginal_power)` | | | | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Correlation matrix** | Specification of correlations between **hypotheses**. Together with **marginal power**, this specifies the (known or assumed) underlying multivariate normal distribution of the null **hypotheses**. | | `corr`, `test_corr`, `sim_corr` | Marginal power | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Success** | A specification of which null **hypotheses** must be rejected to consider a clinical trial a success | | `sim_success` | | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Power** | Under a given **graph**, **testing strategy**, **significance level**, and underlying distribution, the estimated likelihood that a particular combination of null hypotheses will be rejected | | `power_*` | Success | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| *Delete a **hypothesis*** | Remove a **hypothesis** from a graph, and update the graph according to algorithm 1 of Bretz et al. (2011) | | N/A | Reject a hypothesis | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| *Reject a **hypothesis*** | Under a given **graph**, **testing strategy**, and **significance level**, find a hypothesis (clinical endpoint) to be statistically significant, such that the null hypothesis can be rejected | | | Delete a hypothesis | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ - # References diff --git a/README.md b/README.md index 26b8cef1..f05167de 100644 --- a/README.md +++ b/README.md @@ -7,169 +7,57 @@ status](https://www.r-pkg.org/badges/version/graphicalMCP)](https://cran.r-proje -# graphicalMCP +# graphicalMCP -# Introduction +## Introduction -A multiple comparison procedure (MCP) is a statistical analysis method -that allows for assessing the efficacy of multiple endpoints, some of -which are dependent on each other, in a single clinical trial. Endpoints -can be different doses, treatment of different conditions, combined -superiority & non-inferiority testing, or many others. A key feature is -that MCPs strongly control the type-I error rate at level alpha. +Graphical approaches for multiple comparison procedures (MCPs) are a +general framework to control the family-wise error rate strongly at a +pre-specified significance level $0<\alpha<1$. This approach includes +many commonly used MCPs as special cases and is transparent in +visualizing MCPs for better communications. `graphicalMCP` is designed +to design and analyze graphical MCPs in a flexible, informative and +efficient way. -In (Bretz et al. 2011), a graphical method for MCPs is described, which -separates the weighting of the clinical endpoints from the particular -statistical test used to assess each endpoint. A graphical approach can -also be helpful for communicating study design to clinical teams. This -package is a low-dependency implementation of those methods. +## Installation -# Installation - -graphicalMCP is not on CRAN, so install it from GitHub with +`graphicalMCP` is currently not on CRAN but can be installed from GitHub +using the following code: ``` r # install.packages("pak") pak::pak("Gilead-BioStats/graphicalMCP@dev") ``` -# Basic usage - -## Initial graph - -The base object in graphicalMCP is an `initial_graph`, which is a -weighted, directed graph represented by a matrix of transition (edge) -weights, and a vector of hypothesis (vertex) weights. - -``` r -library(graphicalMCP) - -# A graphical multiple comparison procedure with two primary hypotheses (H1 -# and H2) and two secondary hypotheses (H3 and H4) -# See Figure 1 in Bretz, F., Posch, M., Glimm, E., Klinglmueller, F., Maurer, -# W., & Rohmeyer, K. (2011). Graphical approaches for multiple comparison -# procedures using weighted Bonferroni, Simes, or parametric tests. Biometrical -# Journal, 53(6), 894-913. -hypotheses <- c(0.5, 0.5, 0, 0) -transitions <- rbind( - c(0, 0, 1, 0), - c(0, 0, 0, 1), - c(0, 1, 0, 0), - c(1, 0, 0, 0) -) - -hyp_names <- c("H1", "H2", "H3", "H4") -example_graph <- graph_create(hypotheses, transitions, hyp_names) - -example_graph -``` - -``` r -plot(example_graph, vertex.size = 60) -``` - - - -## Update graph - -Hypotheses can be deleted from the MCP using `graph_update()`. Updated -weights and transitions are calculated according to the weighting -strategy in Algorithm 1 of (Bretz et al. 2011). We distinguish -*deleting* from *rejecting* in the [glossary](#glossary-of-terms). - -``` r -updated_example <- graph_update(example_graph, - delete = c(FALSE, TRUE, TRUE, FALSE)) - -updated_example -``` - -``` r -plot(updated_example, vertex.size = 60) -``` - - - -## Generate weights - -The weights of all sub-graphs can be calculated with -`graph_generate_weights()`. This uses more efficient code under the hood -than `graph_update()` in order to be performant for larger graphs. - -``` r -graph_generate_weights(example_graph) -``` - -More information on the closure can be found in -`vignette("generate-closure")`. - -## Test hypotheses - -Bonferroni testing via the shortcut method is supported in graphicalMCP. -Such a test can be performed with `graph_test_shortcut()`, which -generates a report showing the graph & test results. See more insight -about why a hypothesis was rejected or not by setting the `verbose` and -`test_values` flags. More details about shortcut testing can be found in -`vignette("shortcut-testing")`. - -``` r -graph_test_shortcut(example_graph, p = c(.01, .03, .02, .01), alpha = .025) -``` - -A graph can also be tested using Simes- or parametric-based testing -using the closure test. Other types of tests will be added over time, -and a combination of tests can be used for groups of hypotheses. -Additional details about closure testing can be found in -`vignette("closed-testing")`. - -``` r -graph_test_closure( - example_graph, - p = c(.01, .03, .02, .01), - alpha = .025, - test_types = "bonferroni", - test_groups = list(1:4) -) -``` - -## Power simulations +## Documentation -It’s not always obvious from a graph structure how easy or difficult it -will be to reject each hypothesis. One way to understand this better is -to run a power simulation, where many p-values are simulated, and a -graph is tested against each. - -``` r -graph_calculate_power( - example_graph, - sim_n = 1e5, - power_marginal = c(.9, .9, .8, .8) -) -``` +- For basic usage instructions, see `vignette("graphicalMCP")` +- To become familiar with graphical MCP terminology, see + `vignette("glossary")` +- To learn examples of how to use `graphicalMCP`, + - see `vignette("shortcut-testing")` for sequentially rejective + graphical multiple comparison procedures based on Bonferroni tests + - see `vignette("closed-testing")` for graphical multiple comparison + procedures based on the closure principle + - see `vignette("graph-examples")` for common multiple comparison + procedures illustrated using `graphicalMCP` + - see `vignette("generate-closure")` for rationales to generate the + closure and the weighting strategy of a graph + - see `vignette("validation")` for comparisons to other R packages -All valid test types & hypothesis groupings are valid for power -simulations as well. Power simulations are discussed further in both -`vignette("shortcut-testing")` and `vignette("closed-testing")`. +## Related work -# Related work +- Graphical MCPs - [gMCP](https://cran.r-project.org/package=gMCP) +- Lighter version of `gMCP` which removes the rJava dependency - + [gMCPLite](https://cran.r-project.org/package=gMCPLite) +- Graphical MCPs with Simes tests - + [lrstat](https://cran.r-project.org/package=lrstat) -These methods were originally implemented in the [gMCP -package](https://github.com/kornl/gMCP), which is still available on -CRAN today. There is also a lighter version of gMCP implemented in -[gMCPmini](https://github.com/allenzhuaz/gMCPmini) and its successor, -[gMCPLite](https://github.com/Merck/gMCPLite). These two contain only a -subset of the original functionality, but they remove the rJava -dependency and add plotting functionality based on ggplot2. +Built upon these packages, we hope to implement graphical MCPs in a more +general framework, with fewer dependencies and simpler S3 classes, and +without losing computational efficiency. -However, because development has ceased on the original package, we hope -to re-implement the methods with a more general testing framework; with -fewer dependencies, in particular shedding the Java dependency; with -simpler, more transparent S3 classes; and with improvements to the -accuracy of the parametric and Simes test methods. - -A portion of Simes testing is also implemented in the lrstat package. - -# Citation +## Citation ``` r citation("graphicalMCP") @@ -190,226 +78,16 @@ citation("graphicalMCP") #> 'options(citation.bibtex.max=999)'. ``` -# Acknowledgments - -We owe a debt of gratitude to the authors of gMCP for their pioneering -work in the field, without which this package would not be nearly as -extensive as it is. - -# Glossary of terms - -This package seeks to be both accurate and performant, of course. But -beyond that, much thought has been put into the readability of the code. -Whether being read by a user validating our methods, a developer -extending the package to new uses, or a contributor helping enhance the -core functionality, we hope that the code contained here can serve as an -educational document to grow people’s understanding of the graphical -approach to multiple comparison procedures. - -To that end, there are several entities encountered in the world of -graphical MCPs that we define here. Some of these are used only in the -internal code of the package, but most are inputs or output in one or -more exported functions. If you believe any definitions could be -clarified or improved, please contact the package authors or submit an -issue to the GitHub repository. - - ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EntityDefinitionAliasesVariable(s)Related
GraphA set of nodes and edges representing a clinical trial designgraphHypotheses, Transitions
Graphs are so central that two of their core -qualities get their own common variable names: Hypothesis names, and -number of hypotheseshyp_names, num_hyps
HypothesesThe weighted nodes in a graph. Each node represents -a null hypothesis corresponding to a treatment endpoint, and its weight -the local significance level.weights, hypothesis weightshypothesesWeighting strategy, Transitions
TransitionsThe weighted edges in a graph. Each edge defines -how to propagate local significance when a source node is deleted.transitionsHypotheses
Intersection hypothesisA subset of hypotheses from a -graph. Plural often implies all such subsets.intersection, sub-graph(s), closureintersectionsWeighting strategy
Weighting strategyThe set of all intersections and their -weights according to Algorithm 1 in Bretz et al -(2011)intersection weights, closure weightsweighting_strategy
Adjusted weights

The set of weights, adjusted according to a -testing algorithm:

-
    -
  • Bonferroni: No change
  • -
  • Simes: Sum weights for hypotheses with smaller p-values
  • -
  • Parametric: Multiply weights by c-value, based on the joint -distribution
  • -
adjusted_weights
P-valuesThe set of p-values from a real or simulated clinical trialpAdjusted & ordered p-values
Ordered p-valuesP-values sorted from smallest to largestordered_p(Adjusted) P-values
Adjusted p-valuesP-values that have been divided by adjusted -weights, allowing direct comparison to alpha -to determine significanceadjusted_p(Ordered) P-values
Significance levelThe threshold chosen for results of a clinical trial to be -considered significantalphaP-values
Test typesA specification of which testing algorithm to use - Bonferroni, -Simes, and parametric are supportedteststest_typesTesting strategy
Test groupsA partition of nodes in a graph specifying which -hypotheses should be tested togethergroupsgroups, test_groupsTesting strategy
Testing strategyTest types and test groups -combined
Marginal power

The power to reject each null hypothesis at full -alpha. Closely related to the non-centrality parameter, -which is the mean of each null hypothesis in the -underlying multivariate normal distribution:

-

ncp = qnorm(1 - alpha) - qnorm(1 - marginal_power)

marginal_powerCorrelation matrix
Correlation matrixSpecification of correlations between hypotheses. -Together with marginal power, this specifies the (known -or assumed) underlying multivariate normal distribution of the null -hypotheses.corr, test_corr, -sim_corrMarginal power
SuccessA specification of which null hypotheses must be -rejected to consider a clinical trial a successsim_success
PowerUnder a given graph, testing -strategy, significance level, and underlying -distribution, the estimated likelihood that a particular combination of -null hypotheses will be rejectedpower_*Success
Delete a hypothesisRemove a hypothesis from a graph, and update the -graph according to algorithm 1 of Bretz et al. (2011)N/AReject a hypothesis
Reject a hypothesisUnder a given graph, testing -strategy, and significance level, find a -hypothesis (clinical endpoint) to be statistically significant, such -that the null hypothesis can be rejectedDelete a hypothesis
+## Acknowledgments + +Along with the authors and contributors, thanks to the following people +for their suggestions and inspirations on the package: + +Frank Bretz, Willi Maurer, Ekkehard Glimm, and Ron Yu + +We owe a debt of gratitude to the authors of `gMCP` for their pioneering +work, without which this package would not be nearly as extensive as it +is. # References diff --git a/_pkgdown.yml b/_pkgdown.yml index 3679e161..2177d8ed 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -46,3 +46,28 @@ reference: - simple_successive_1 - simple_successive_2 - wiens_dmitrienko_2005 + +navbar: + structure: + left: [intro, glossary, reference, articles, tutorials, news] + components: + glossary: + text: Glossary + href: articles/glossary.html + reference: + text: Function index + href: reference/index.html + +articles: +- title: Vignettes + navbar: ~ + contents: + - shortcut-testing + - closed-testing + - generate-closure + - graph-examples + - validation + +- title: Glossary + contents: + - glossary diff --git a/inst/hex-graphicalMCP8.png b/inst/hex-graphicalMCP8.png new file mode 100644 index 0000000000000000000000000000000000000000..ad38c2b223d57c629cb1d5ecb451343599226d66 GIT binary patch literal 114589 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ɚ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

X$?K@%jR+dXJCJmsY^SmEcRxHsM z-{GQSSWsOvnUoh9H%9vPKC2YWvrI8Lv;U$&)v}EK1}E{vWY0c{HwW z`){ddI!J@k^k%u&^i+V?%B5X{JL%{90wSu6?)L@RqE9`fkC0L&yum7i8C!2f%E~u0 z>k8d+fo9Pen8$>b?`xfTuGh)1_-4JVPWt`gc=ejh+@*ZM41g#9RquwSrv0ZOA~<$G z>Y(kasUw94^B#~dQvuD-O{D>rpVux4)dNk7^I&6?pZ{vK`^5WI=-;|LC7EvySWb4i zLium!-Mj@%tG~RvbE!ngxMU{%Yrcp#Av?fAi0kUkR&Edr1?(4<|M>w7@3s)8N1rZD zFX$hC{Q6%HC^;f9YWpjG1oBH@-d`#kzeFder~ljVk23ua%pp9Z_$1Hr*@n+s6 zNJbNJ)6Z#bk~;-SDxtDRfscgVuPAca;YED@-__p&P!3-C0(A42J5=D|{XeP&CExpN zz|AIB^5xn`JIZT(ZigSgjg;37G2VzWBjoN(eR(!o(uvuPoW{VT@UA#5EG@kT446`a zr?MXRa6GFDXTOPnd&e_r5*hPOyUjA=ud7XVW9l#U*@2Gv-@PGUQ=B0l>`(U$} zfB*aUzp8#by#Egl{*QBs+q4V&$Op~np=Gcm=}bjwr$YQUm5;Kt)L#~I(wq9Dhpai~;uVZ`C-x+iOBcTzM{5;VlRnQ||88KGW5k{u@!Ev%z zBITuc5^tDAU~jpP?L!tfn2OG03eTq$27ct0TJnUVB&Js7;3v9W8T=%=G;~r*$?qwm zu7MrZOE!=sop+aym(^+OyoNiJ=&!A&C!o;W4$E(y3g?TGHPF&ZlV|0FIU)1O7bB0W zbI1R#?@jVLF>cT#-xeB6Y5<#}4_$gwW$>jYgWJf3bh>=$PgWf-x8lgjBj!6*z<4h%HD`aogF&W*X2naHC=;fv&6Q0b| zx%Je0r(ZtMsHNP`B4ZE{MVGfcXMEYblS`TmxedL072ktP_ICy!FlJ#VgdYT2rYBmy z>(5RciNGq;OPJg*`wVWc`u_bf;GYE=oD2+AMe&I@sPbdAMpWiqBWBnq*&mZxwFO9b zkv~CO_G@cNRP7_?@lrnvYe9zf*ElN=iRmCv5l9XS)Q@FfY!4btOdPX z^EH=q&*6Zvg%^hl&Mu2WqaU4DYhrM{57$j0HT&^HO;@kI?x<}4-m>GLlwf~@d-nbE z6};P}M>ohm`dv#)s}htN&VUSm)i2B%qA#n|e(=S*(@;h`hxL_NTk=Tg1)t$V&%KLz zTgZab(e0k0y#6xwllcNQb^Fk~XvR@O5leSwyv~4E)rO(DG3JT|TBXJ@kY^SJq_W}T z(RJIsMepOMi#}8|pI)d;t=T5blQC)L7&3ZmlE{w@CF$mWS|Ayb#`E&;!;@*+$?(ln z5y^)Pe=}FeueC0Y%B?(GYgS}89@!4iwaL#L+{}AXHeN@C+&=(kz(yKAYot>rd@2c- z)%Jhil`|0kdJt0Qp~c)#y{yW-_zTt278F|L`YTaf1% zfDHSg7VoEK=I|3a&XsE&#dczxc{@~rWO%o48$k+e^OQ8Z$brkk z&IkM#u&Dj~s+iyBl|>;6Wn0ev(SPz(%DNJZei#vY9WDMwXvSNsS>+AtUaTPt?Wh&g>Jrmnch3FWy9~xxmIf7Ma9qNFhZA{+H&ex3FQqu_? zxpj3g<451u3(jI6tyJH&4f@VwV!TCP(1TNiYQrSiiJHr6Uv^5V4zfPnRnn}qD7=^= zDPO~{e3qgi6SGRAStGuHnu?`;Jg9wdBe!fsYH+^sw1NQd1v9vh+MVnNn#o%c(yucW z-?MUs)^CM8`zfbUuk&}!?p3_`5~B!SMO%Sq%<2cMDsOLb&JLp-t#A2nV>X+)OeVb ztQ!@m8wN}l(FABfzNMw>4hPAPd|~k1U&hC~Z{SCSx6_>X7&BCH|4Z)c7f117w%ICh zyYSNyt;x65BSrX)p)TswqqySN!(lX4wQVlku_zCRDn{^4zi#&xyv$(GEU2o-rsweF zVej!(ZY(EJYLg|`{{6QvJ#1l~hIrUFPe*aRdshRw*qk#FM+Wx@1%*j6@;6EF(uQu* z<8@ZOGT-+ZU3BD$dGU96F2*j4+HuI#=4y#F*YijCl~;`N)Tncb{Pjl@H|E45oeY9B z^iwnxsaH9{uQEZbpefXsCJ_z}jP}F#=kK3p8Hw<$ki%@QCWwxc&Q$mO@_v=~dP**4 zZne^Y&zd~o8F}387w8XY=Pv+r`obPF7)8sxLX+exGy`BYHEYf z;h{QDYWlC<+N_uodLP2aLWBfZJ=1L2zv{*>8SiVxt32-t`#M1HRhpJo!3%kAN=VD-m4ejb>*#;$#ZpP|JI$Z z!TCX3S-X*0?UnFoDm>KS%BwB>c={@pjz-G3uA*&DA=_*^SyH@ApFX@sAJVM#Qrez( znSz=1-7^(;?ZSQXx(!87Hc7nfKP05Ps{b#p-a4+T=ZhM?w4i_rS3(d4MMAn8l@J63 ziA#fYNT+m&2oeTJNq2WQNOyNPT)O+2gWuotyr1`PICsvO*|YcBYpppad8}i0z_I^j zIa`)1OqLEBh{l08PP;<#QRoOp(u8gh&0uTT+(#zaZkKdPMLkluWk`<#Jl6|Hk67q` zgRn}YbUANXhYUOB_xzMootCOQJ4K^;ms5lYjd-x(sKm2tZ2umeFB=xe4q`=F_DV{B z%v>I~A|s0y$G{rhV{hTNR=us+5p~6d*j=ZBjTo-RRZ$oX1_0M; zskoh?;w#!xtKxDZmUo1zVp0^+5ayvHY6R1+cN}=h^FCQf2kAsMX3?hb!g-?Zfkxb9 zxGwgbtyh!239hhttGrN0fcPu-g{sj>VLNkh!mW&kkX-f){Ia z8;w~gOD5F!2p6E-Ztyf#fuGe2`Fok*AxZhjzb~vOC zkr_5;3uiRDVgB#mC+5OhNMuu_&PiMp=zix{q@mGJtRct4x}PEqmp~$I4@;Njp3){q zpuq^Aze0oEZivQi{lW59>eRd|dcl@=sqM-sJYo~p?mcm@Ra38g({QQdS+GllB#%5< zAL_pcf61+5-X&!fH1yM|HT0-$Z59)ihA5{&jM_ z)|LALk5(}HC*SL@s3E*;nt60XDL6xFhG#$I>=ctj^hPjXg!EUOXw26ITy2e1Xk%}i z0yKnqBjo5r<=@0DCP#m4y1wPx7{978>B0%x5<+tDxciKuozrACt|u%qT(ysd%isL{ zb!5ogxgHkq`}ip~jK%=W`EvBcpXI~P1w{UnG(Fg7ugBaA7EzPCjd?4$$BcL6QgS`L zCGNvyi^{w(n73WJafZG`a*)Rs(JwLls@B27$|ST#jKN{a?JKw1wsT~uyLPj90uQA# z@VPpou*cyrVU{QCFy`&7pt*>m%R9?b+pDeN@2$)!J${B+wMXw-i)>Kc&ktGiy#=Fr z4@H0oU1P*_uyt9PH>~}&7_F7twJsSR%NtafKhaxmk56H8kq%>m4P@_()bIc1YK_p0 z8`LLTL*lf`WCrh@6^2FOUA_M=V5gsv%Qdmy!{ARjrRd!K95aAsjjn5tA)M|{pYWNA zlC=J6cy=cbv*nzy=c)n*^T!8S=2MvUQw~m+k5exims^coJ~w|CPG=J@yzhrznJq{e zEz_>n#&ioT#Le8AMLzC7Sl49@3gAZxdJdyuJDS0`2!+9#Kz*pIV%vVMh#2Y?^t3Bh zAG;gEBw_>$;Z1FP5*Fq#w4zrqL$~gF#0I7Znh&Vw};Q_9&9_@S~@M!TT}~Wf^}C^KBp* zS^2t~shby%%Ku*|OCS`CpKlkC$dt-si-y|fX^_wm8613U|B)9PTIx?nu|WYNWPvsn zWqSB~l4%vLjPWV!FJ+%#?S5m%!W0Cw3$0hGj){_c#{il#-27vXgea@-Uiqbcvdf_s ziPBS+4?<|Nc=JILqU5?qg?k|~h9SF6@VD>i*Yr}sMbJFord*C34zN*YYcsBVAHzEK zZ8@CM|0y=EhxL6M8Txf%1f6_MWq^x$?0jF+e8k?BGgwM;u#_0TS~b~I$t2EIPFZm8 zYTyO`3+$o+cWBU(%uJT?Y{)sK~_kz`kXc5N}vF)fO`kr7G;G(}*rGC_$qU zG8R`2LY7*G+BRq5vwb1@FRO(ou|-yYi22bYACpLgR`Xp)SEAwzntnTNSU+74E$f=C zDv5ae8MqJGNhk@X(YAP`EG!IXZCUFCQ75UhNONPs9r6cYG~y|_9c7tnY!Q1K#`DMM z9GhhC|FV2UfC%!3s*yj>^AK4nnbeM)5Wk|=^7#^?(T&5a9Iz$YdE%jf%+6QdQb+D{ zUk(1~j@6>wl17Oeg`Py#D%1PqtIpD(0H1R`61Ob7PP@5&5IycsSB|HyzhV1g_^G?p8GB(PvMpJ~Of>@+~u+j=(ge^OD?|PE|_V4-a^-_Fg$xe1mQsmqBZSf{ zVPtiI5p8q>-A|GwwIjW#mfpW09~kZYPHE*t0w5KH=xhuwMvHX+n%r3qnaFvNYRj4} z?EGqBXoWp`-ixHpFiHc>7jE<5Q)~E-s%W_lFVm;z&)gxFz#jSl>CT^g`-e!Lli!qm#^=tkI>Uz! znnNBNA!6hL_Q`Mb{`h0Hu!mQqT^*0mRm9`m;c4V@JPE7CN$2oaxgQ zVMQC`XVNf`8UN$uGfHDuOUqzJJFUS%b^%=2WYuT-3<*T6o%)k>%F*dqE1JO{?<=fT z*=jyWXWB-NqrwECtWXtYk84cn+{gcW?N`4~~YERv`}CntRPe| zKF~Sme{B9PN=`NAlg{i+#@){-orJZRA!9`2Tu){dFqZp9gZ!Ia&+z$S|CZLqYTN6` zKRQTak0`^20V~7Y>V>$SGqj{%@0Z@w!vFMZCy5V8kk+CKmxIWXz571s1SwjW`A(ix zmJ%LDb{1)3@+vE8SF=>*?ZZN>etLo-vjvK0(LbG4Z)TsZdtc-FhPWy zbj$Na%SE?zR-*Q9WN?&KQi!FDar;mz$_%#MyXZl^`GKAtMiZ^9(6>s4LLIBgTrndZ zW5HX~^o2~Qb<$tUz6_G{rBtK!Z0z-tB+DD0hfcD5NGC}Rw|+|KAZ0kRkV*PgU8(jw zDP_KP>H`Lh1|O7voFEcW&aJKCw2hzhG1$-Evsv?1S#w+G?blUh{@ z(;d71eQyOW-7Hi&hfsU#JDjDQdNeGvDO81Mks@! z1nmz$eWqdcF@$x|K3yed1=*vf0X9kARCwn4$k&B}X7XzPRN~BAuq7z=UP|)nL|VNw z>L1FaUGbnE@Q(DCQRX_Z+4kz9r+>j5wuC3T@XJ4mnuC`uP0r3#(%YXe)u47pTDiYi zivD+2$P7_$`8Pw`lfS+P+%QY|>5Ey8>eFs>9%+2|wxV>!IeX}%;lWNvdpp*-m%}bO z?gl)?*RI1>FT_<@T9WR^&`M)EbC7Km+dmAa(gQRB01t6-5wmpxdh9DM@-@cNhGHSz zPeX0RmRh+joR44fhRX3qmt0*(gb-#Oq+8^v$w?cycUno8<(P;d*fTOEr{|lj70XmL z$lnes&lve&JntqebRx@JfYk-w2|6&Hi9ashpZ3ja&Xha;O3jbp*xFL;gG1Ap{mZ|?w~!(c076N+ob(e%djYnMNHxS6Q$}^QhD70&ek>n3V6D4&>?>jstU&?uc3w6_s19@$9k|6e9LfOjSPAukb!H;l|iSjTf1i^(GpjFF@_plHj)=?~_`T?D0rNmlj*S`Fs^`wd;e$IOwFc_Cl6=4XQw*Q8sXyY+^s7_6 zT&O)s&n?@c-%eJ?%pu_4~0PvtuUDg@>I3TA`v=N!M+e?_*~o=sYD405iE=U%7<{&j{U{$7=K=awwn zGiVfbx>0Ag)O%8$+m^2+KrMTYdUY0&<|moJ!!8_Oy3O^&h!`f8!t*-5aE;^U>_a9M zfeg9rCgd4c5^WDhp#Dgm)L}>pN0x|Mu0do4#~e~VAzh1h`{V0I8`l>0cvJtRwQ^Kg znIK5pqD)HxD%%O7oqZVFUk_Q9%YRl2*JM~32B%b2ugBIT#dy9Q8~MWVh@w|S=gpyA zpnr>QA?^dBuRJMv_CuJ(rMAjF(!t(u5sa&KbFRGB^WPQGWT!jtQ76`vXokW|?OkXi zG_E_XvW)|c`dPHIt*E7l6@!bfq|bo|)>`6nVQP$n^<33Hn=EPz3=?I0viInG1{GF! z2u-QVGL3h6T+lPBNWaT18C0M|t*sW_Z}XW7n&=x(CwG|2Y>IxHwUX~BmD(NM8?{}X zGcxnZ2h&fOgl%qa8h>V_KWAyY%)U^g+D4+uAhq`?Wi1;WON2yPN{W(ZY)=k&jlL_$ zy6wN2K!u9-qxr3TGPbZB-jK0m3eP#&99}4I!|@HGSS&-8{UYW5tB~lOS}fNfM@C6X z_ZdG?r(@IFn(;aK^4$o)c5xpS5sDku$ImpXigp6AyI6dlMZe8{h*sKRhDi2nv!dr_ zZh_yz^VqXKyP!SPtTfqlVm0+98HuDnw6pUUNy(lign2v!Kti^}>*~7_qgr-)xdhkWP1puWmtx?9__0$yW;XrR3Z&)_0PyUIo|NwBI6j<1r2La;|9Y8 zsaKey2X5jWQ=Ek^hs$9B{v?hux#%=jFEE)&U9~(;sg{LPJ9% z{dz`2CzF+8H#5#oEki%gY9$h6(o1xYkWJvJ-J)pG8QT@UkY~4(nc{$LhxU#WGNzsjhg0%)+ts8 zR!_caXgG2x7LQkLF*2wWb>>WluQ_N>C$sb6X}T?72%PURW$k#lVF_C?SIbZH?QB`t zlb~OqWUE)GlAC?YS~YY0$D_dX7*q=Wl3Il08-#h1R6f|j+H8+z zoAZpo{1C+Wr`%HY9Dlpm%bV&szRI>+(7T|q8G<^OiatEF#!Y)QaRT$yu(nq!gMG;n zqXCz9U>?EH7Cj=v^F3TW{FK$=!u*TS#PmT5i3;VtQgh85+=DJonaS%QJhExSP5#xj zjgnd-k5g?h1u~K+G_^fivYwtiF>pT-o*3}WoPUcxd)wsDzqrD7Eg>QQt40@t4MBdH zjh{(|>1KNaGZ(7>h@Hj1PpV6=$u}C2!py&jFu$B_Zez^acLpk5tR{Va$IADu0si4! zZaX?!P zcE7Na^IKmfCaui2wTnPkH2>%G_Ro$xo19ILngvEyqNTO- z%$J;si)}~YFs=;~tx`O)F~dXFlNa^EttMW|Ms$sZR9dN21H)7>7zH4ZVJhZfY77k7 zfWV=x{7JzOm~CSIF(PdD8&@MbAvLpdiKCAOie+Kv5A*^2#s1LS!-JoDbU64mW^106 zHnJPC-*3C{Nr8DZ-27C$wh!6ZGb;mX6U1I4l9O5d*|N>W{9$;Vw#tY#Ju|Zqqem1M zEAK~g3Fbt&?ryk7HOsyo`K=chBS+b+8#C1t+dbz%;G&TN%b;z;qakU?3c{a7p0J{T z;&vN4=CPTx@Uhv9gf?u_D}7DEbiValW$b{j__3Bl(fsprb#snE4#LG!ASXQ?O2Vr*osKrQ>0Dveiu7a|-Vmziglsh`;v*#jCjwuwxF`_r=H zQOa2y*a+i8YPzo~EJa7%lpMW0o1zWZ%StQftblbtrP!8Mr6WW^wFExd-snpvB?I>)QdMH4?#t$+EH zG+(P+;8E}h&ePi}qBL3l+RAOHMwqw%P0h|dJYOp3#I3?d`(}b?q~X`s)qGn60Oc6D z+?xDcKZimt%^b&!Yfy(a0}ir{@?8G+;gkddi~lvGDvDH^n%3| zxAUZFLLfnVxq(ToMhY|*<1bNW&%o5KosPr|F=<^yOrOq5o4$I*&myFD*fpXRzs=6f z|0p=2@9WUXJ(vd%Sh1aZ^~k2nw!)TdhBlwL_?(wl6QgF@_VDm43@R!rkar8u*kLEO zQwXMwRzG~ZW`wkaqnwU}xbmN9?E8l)NN2i?*(uv|lPz`E_5( ztQX)+)yZ-NJ_r6RA_t*VfLg|8&^%7hIJ@wU-A-b_r zvkhaxV3^Q7e;ymI{V-$z0z$J*uRmuw_>)6HdA#U!6w;KLi}r(gQNroz3zO~sOFnz> z`ggbNX;T3uavH0W2!BBObZ(~SOg@@mp4jf1A+q92G<7K^=eUI+BbugO_>jk zjL^S-+=bS)g~BHKgt+Vq{c|}vW=dFnYQ%(zr24)vA`;J!vpktAQ`q(%MEl(1T=dKlJ4xCZ>&Q)I|2|Y-=079jNfj`H9FP{aVc7 zEOkQ+tYQv3rG5Der8=VCY42@QBfVD8K(qr^4d&w2u{1omSac}k@1AyIr^d(@&*S&&Jwz7144*W-9&at%!7L zK%1D9^M6IccN^9!1c2Ac=k<2dV$R~Vu4Bzo(qy>T_<99We6vN2X}TTH`yFe&CrOjz zSp&94nM=$pOh3IkxpCYoPrp&g&W`cNHg#%92!>f7+4uV90X#sl-6AT?I z`6w0?C>;Q{bKx{@v4u%z5;_6#B=n=}>&jVJB|=GIGcMCOcplbzuS(6Lwz}Prd0yTV z*mIK7(st1tFR3Hw{?stSJT5@f;_>bS@7ISu2Y4>}W&M$HAZ+JkP|*@82}`KyCS6Bd zo#qY=BhowyO43~Ox5o3N>BDjgYMPh78NV>1rXd8r5YEhd$XCIM=rBSo=%ERz*^P{h zWa**-Xe8Rf%GSjISJZ47HK}oM$<-f-G84d^at}vyVN0o*x_+G56FRQp(E|JN`86sW zLmWqi^Z6g!te^cv0%so-nyIYSXi`S9iX86S+|#r+-q%enH3=>D0xY>|Y0`J|jW-`` za5o3L?V;I|#brfAU7VM0_Y>f|*N^+yJl8S>X?6VG;9#!~!oN|6Md!JrKY{I512#tX353jp=m^0%&vN&YKm$dAz?BTx0wM^QZ zWHeajrE27xlwMVzv9aCMNJVoBfoLgigni3fAZxpvk2z2wMhW#;NMcn0tGGpiBVE!G^R3$uf#3%u@YWc4VLzp-z* zpEmR?+F%VDa|u_eJRJVm|NBs_xC}(D{fR4z&+8B8L-TB0Pa4*2m4pBBuQ0AzE9Y$S z)D9;aQ)=$f@`Vr8J7Tsge$dV0*kBOqt5Yls4?h2UCjy_6c+qen`tp+J@I z_%p+qxGZ?x8g>}#eia7oj&pe2Ni@H+Iu_pcP$V35E}N!lrbYIoglq(VxXBr%rDW)0 zXlk)pVIC?FC?Nq26o-94pKhU)rM5j;xLg2|TR5GVlw@$jqBfyxqa-80W-N#D!8c=< zKN?Cf*={Hj*ak;N)W~}W00ZHPjVGlmLI7Qejzwc&u;Dr*oco(WEv4kQeI-s~mMb+g z#~cbQjvv~DhC3D2s0OY7|(cS?zqTl&50wwV^){W z3+`kw!xtGDQv?-9;G6?bzOhS7;9z9wSeK(6gpF5o^p|UC*Rg237Yhu{YY7H4CTk82O$`Aq?~_ic!JOG&6}%7B0`Ey% z3hRmxq7e{R?QWTxq?yUO9-+lDs^1%)Tfo``E}WYu=4!LO8{8>^G(1THlXYzF?BRz) z|BH%X<&dAIRee)EFBNzzSODN}) z9cW!5eZf>IPmKvhrC`su>t|-w-5w#r^HEe(OwQkx`+wJWmQSZtJb3m?qS9-Fg-g4m z;^_v>zKyeVi?f@WWY7YnUUz zvOA)be=e&G<=6HtqT(Xc2&kQ=%W2s-Y~R=|xIz(*fbvw7-n3a%kdzAf$nIFDoR2t# zXZqh>JJ5>$)K!B=JN z_mEbHM_R?uA6x3ZkNGoJw9estc;68OzZTZlHivcb1$^;|ECzQ6#5u_IOMwaq zSu@HcJcWCCCps#ZN^>%G^X)&DBbchLUIgCz!9~5p2RO2Zc)CijsHMZR!RhhzRj~XZ zS7AW8>M5IjUjX?pvOWOZ|$&A{Yb2KW1U&oZS3z>8+n@F8+=TPWOL6SQY-k zOGUl%0K6LD`$BHtjGL1B^6l#=ulhKR`fTPF!cLmz*Dd(UiNs_1p6aB;TO;%qRY{g< z{U+>T1AnCzcb0@XLN{B*OXu^cG7H3^Vr}i!qgw&L5bS37?&fccvKVllKiz z^T5y#dWIA@h#6`DeNkV|ynXl~(}Q5z`w=D3-Uk9dth6pbL%q_vnwlrZvZYhR$9Maj zi~ybob+^Wjj>>?@z`=ZF4=-)ZayLLy0jsb$U&>9GfJ*ikXeTbwp4^z4RBl8^k6_T4@0d%F(%AqZF z@~#BqpB3*hE6eQ?tOHQ!!H)PeG%}OfBXE$U8a0l@+4`(<4R+>Riu=GJ1ntCcuj+A< z`)Q?RtmpVCz$~%(TTP@?W;cID#|p=9Onj|W*acwlkkZJQ;$(XB7qL&Snoyx6gK!)J zYggU0+qSf{xG^TD)-p96nUKwAKb&wPf$FLCkDKpx$q5LSFj@Oe>|z(yOc$Q^+n+=MFZYbQ&Wy)lElVbvFDF@}V-sf?ymV0#7Z;cPHM$4u zD`4f?gDV>O34TmfL8P8)hyFn2zbG^WTrEj_+k!Q7nfUqfhkr zrrd(Y#)Zbl)eL@D?OGkFqj~D3Tws(ACu5dFDa}aD6`v@b%uYEosPsBr1ijIrg`?gZ zf?o$5|BH)wR`qlnq8^%1$uW56b2hnpbS#G%yV!06_h@W9OE$)1^}%9K&C@D3MMb3v z#m?u2&WRNns%&g>`m7{?K%>!z=Idc3X(ap(=9qDwhm>WW{-x5!e(lAs`%~^Z+z5y2 z86f8>Dk+&XMoQNjkNTdD4EN{6@1iu#vq1^I9oi9`;SYa80*%BgZw#PZEPX?))@<^P zS$RB+^b;Q%7)Xq(eWm!pp5#RmkSFL7IYwS$$uQXmHoVvoMMw=WIkz?OxUcJKOa1_$F|1_@TwX83QP&faSjNzraeL5N62&*52tnhYqxy ziZ7A^O}RE6#$LNtpI(^)d4s7Q<;80%wDIZ{_~xi}uF?w?eMJ8E&ip5aM^WCHZ(uaH zUmU|Mqh8g2$D_EGWy?>~sDH&K4hJvs|7xdDkK~2{mVRicM&xbf?=kq|tH*Z-qqet} zzoNoIP@qMZ2F;5#H`#EN^fiv5S%Y)nkW@%^$x3 zr*sHhgOHuuGD=;hv`RBqtXT|+V_p9-kh8wNdg76G!mEf%pjDpZyT(C68P)67Xn$E{ z&_xjZA|pWccn>w$rEMUO6n_j%kefE{-~b@N4=06XKH_%jnuY8aYU-9yCCOlclQPw) zi16>G)a=ToCf<|~g4lzW3J>fhot{q{n3(1IXAi@hzkV?eXbtk-vp!gyLkf|bm_21~ z#Tpn$&X1R%(rtud^gcAELtWJbCogY?$WLsXQ*AGA_*jO<&FvMWKL*N(Lk~s9@8ZCgku&i%=Tf$^a3(9kwpjF zzgxt1>q5nKEB-klp5mC|;y0D+67%tHz-T^$sKc%A5%?6}T9AgV&w&KkiJYl9eU!;U zS^v_Q$6+_CTZ1<-!!l6gWesqbfb%9aR!}7P0y0 z<;WTdB^83yBK?Y{acHRaU48Z^)pN-=sdo% z=SzS~HALfgoT{PW=D~21ha;JBz^@aoC-&j(+D zo@22+kv%-j$*`$vfRJ15ME6-R41%C8_RYxmag=C&yrKCaH3}!>W%J*Ka8QSZU{8=Y zDhoVfuMtJXLgNG77`FeE_*VOxZGmX%*YJnr1Y{ql%3ed8 zngG7{(ZyQf^7TlOZb!9=nR#(04JOJplI1?MQv|?HVSYzf$Q2hgY}SW9G5M{1QUt>$ z(dlTOB#3sgZ}e|?jO#9uYOR5HMgxaEyy+j-5zRr2*$hVEaiG z1!4eR$fP!|n|aLZm^*?(H{#oJv;l}CbRiy2Ucm%F5pWC>5ECZ)YjdA-gk0W2K!_Ex zT6%mUyz?2b(J$HZDD`i8RA5u+J$<`!3(tCSTsRgG&Y9;W+X|-gQ5vH8EDJ2o=T1-$ z^>64__SgKtsgaWMd=tk%&^W-z%R6lPgo6NXz1Tj~aW*^qh{0t0y*wHpu79Y?bx@2R z@&zn}6xt5r2F~Wxzvjr-DLJ|1KAbN*ho^lvHn;Y(wkf%?;@EI^|>)Oxjf2YIB>)Dx{}T z;!w0xE!2trBJK;F8iFjhb^L4^e+?nch%mF991G$>{>2CeGYdz`_1^w<7C=SCoTU?r zglxernX7mBaA9#FH&+6Q%eq{HOpXSHnp?TX(FacUr`qw$%)lp3K^_Rb4Goo#=ERK_ zmlmrD-~y8-)b`m!LDEC_3VycJijvG`TS8-btyRa3fw*lCApr7#;KUPU3#>O*`9n;@I zeydd&Noc~+tJRd{edYPx$;k=wCV#$p+}r40l79&x#S$aAfnChy!1MV*yBd>nJ&O61 zt)3*X2o42hA6veNM^_xxHH75eWN_3CwyXjya&!K48_`Asckd+YnkO`9JS<_8o8!dA z!*8AYc@g8m!GV$t&Za7b}C>Bv899S~cK0WZ5p~!n=jHy%sxEe7QbCp_YL&iS< zzZf!Cnlq~N*=3#n*km;I>BFicEr%@j=Q%}svg89Bf56hLy)pgkNhFY)ponf}yf0s*Dq zO6$Y-N2YTc0**b2CgzJquhMU0(1*zAXH7kWYSsl5N1owq+rZ7@r`M1Z7ZTC@HF)y6 zOmp(`Pq!AYA>zXU?!kJScx~G7vQnkjdxKYKg;%19(6u->*P^4n+~`y1PCV$6Rsdw$ zqw2GxZ&C_*xPf@9#ig1`ugwxoGQz`U89UF2zO_IRgbqazYWgiDqs#TcNPnp@ct{1H zS{%$q&7~D+j%T&4oz%tOk@b1w^JjrRtF0P(P7$$e8Y^~uTZ1RQKsUv3+H8j-}fDCDz{ebjko7!Vk&3V6nOsAk><+Wv4P zLPox7kF9h;d!w0Lzj8ra$3)$tx>RjqyFyJccqS)7J^XNcdh^)St;D?8f8R%PdC zKC8YL8i@6}AJr9>r&SsZuAuZu%e-69=~7c9&&kiE;WBWNnweFE3Wzn>pm`pE0NdTQ zY7Pp`2PxzL3V8rQDn16$is;_EoG*{fNGTATlTFqTEtg0g0FnVzH7Ozddz)q!AM|H^ zcd`N^t}sDN3@_ljy>ve;q*(9G_dcReHs<9`uRUFIAC`CD(I{pwnota(D!h7jAN&6^ zxQe+=Bk>2NPh)DJJ1jA)s9ba)3%}>w5tgOE3OX7Z1mwCgG5YX-2kkuI2sZ%#&&KzU zpbS|T@$pM%(E$4(cOrE>k{7I{qJ~O#yJhl!DG)l7mRCpj>VqkA6tXG3ERT#zv)oy& z`S~Xe_(q7dE{g##o!X8=O&wARf&nC7m3UeJo(LhHS6Lg-P_}xi0|Q9Tx{sDSK>XqZ z%?;?HEZUIVfKcu2ala&(Ds@c-9K$AEdxXk)2EA#BWGZ1>j^{sL80_{7Lhx0drh!O< zZ;T)R_RG7$$@ z+X^$A+CBJ<=?0E5xU+&rmC=Efo@T==tzfKX|%7feUY zxaFq>)7}ZhQ{AS{Rj!Z(=8hcH_o8_XIN&7_P2cF1VXdBLXHKV=Zs#P-9a0L+_4U6G zC;aUb8g^FWFu&xknQEN~3@HqaD{3n}zN?_GpL|~e>PYe-+(R~6VdZ;uW++5gZhl&3 z16cJEW8cG5h?5j0A|n&96UjxoNfav{+GCtB6b_gy{Ty<-8q&%Kxar5u^>6+fo|F6~ zu-dqHLUThnPjF6U12-F?v}Lc5qqOr;jhT;*G;WtY{G_biviJ}>)ZF9;@}~9US$yT- zKBK=*=z?t!cz($utw0=0Hss3psCON1ip1He1eI@i0T8rKK$C;0qgIrGJ0B;O$pgq6 zaiL`5u<8ml$C@~AZy*AZ^VhtK2JV`^3NSylK$dr~s1Act0wLI#i^AOM>HhwC&CTMQ zI6G^Qq*8l%n0g4rs{WeS6oh(~ci(odUZOcG5abNZ2kC>`wKYIy^{f~ITNfcMH1?0V zxhH`EfqFt;pkDx8!gGqNpTKcry2(w$F8>32^Lz(wNP&$3g{vh%sDwa&yEaK$)h#UQh2;PxS%4k9R1J zZw8Xi($(PdHU{0nvU9E}wHTWSjD{10*LSMTZ1Q0$S6oXVEacfO*aJ%C(~;1M0C%{* z)OxPl#cS8CInW5+C!Sqq(5RYpdJ1lT9-{eq=B=CwfhfVEa*}u;%l)s^sX8O39mu4_ zpL4LWB}TUM0z#(}$AvSsF`a{cg!cDWa41nYAA*WxENZq01~q`l^bsCWx;IMICE7MH zjnq&B0oV4`yX(0b#b+(|Ex(~&#T~NnOHnERcgL>1192V|m^KPJZ_%K20H%I{fphXUfYkp~|Uj-oQiu5pgg{RTzg%~y{& z!6W7xNF2J+vB0s5!J60GJsUyZSM`GA0(NgExMmW^*Lf>(CL`9@={5yUYJkKE!RcOr zfP{ma*YR%+< z8(eIAv&isx9E~zt%|u-)aJ3D%?-h#E0!_zDmFQaA?wsiudIT_~bE!tE-Vo*(TYq{s z27p2iY>KjXK$d>oav@mjRsWcPkQs0>kXp8Yo?CM{PkzW%W_?&NeK~7pSHe(0Uw4sq z%Lkx`5Xod{q5j>t&uc~1a@)W&-}75|;Bw16vjIGTvpRyaT^n~-wR%qgkB6Nr5C1l5 z$?CcmYG5pjo62WCnmXh$rNaW}6QId^#6HZGUR$eWJ&K_n0}$tEo>Sov@vf3Lnhjg2 z-2xskwvWQKuh=%hoBN;Tas;?uW# zFS^nNSaPG0taV=4dLy+JXS_`dEKo0@2hACl;vAjXR8e&PH)Upn1TW(NM|uMI7ctCi za^@5i$~;-pjfaPGeQ2aBjt^jj7*JHB)e1cZos4pT!+4%0v?)?+PQ`~se5xsG+#6?s zsaHhk)6w-P_0K5wXb-h8AU1Yb#-<^o#GP+wekbosU-EUc0E>m3}s@V=Mdn# z%2AL_+DwsS`RS?u8dy+5oae}hz0mm(Vb}8+6M~Lp(1TJGjI>9SljA6M9&y4R{4@?Y z@e!|0m~z(4_ws({-%NSdcYXPK3V1vAoYCyz%8$VtA2#hxKe`Mu!eBTg(6;s*SnJee zceXwFd#~$n0{9scHFTD4ae5pE3e~v-vVV3b&aR}Yrlj5tqZK!-Bl^;k zHgq0ZWnOT9u=ejf@`8daDSdt)Dn_Z8ZUNKQzZgArbpy^0c1V=+@ZlnlC^$3bKk8km zSjoYH+PQV$sEk_a zQo*?46iy%-m=5g?Dam((CPqT{7n!24x#Q%cK*JG18!62H9J9edZLwXS#MXGYT1a2l zu)bEEz;%pNGTr~Etqtr20xmPU<5iyub2KX(STGhp0|jgOf)@AAF=Wzs0wEiIR$U^l z?8>(Uopj=O2ZvfiK3g_Ui=I6y@&tm$Bf~9OiLBccqlrMffuf3IsMy5Re57|L4r)j# zp*3e?vu7c`Gv4FjGce(mgo2MAWC{{nNuOEDJT=9S@&=Axr5tJy4Kx6zkj<9PGpF83v$jXHj*W0S;VPAUsc3 zj;DRdJ_zt`1^+I zpyrR4oSJhCbBzr}?e~#m<<_3F^5HRWcdqt8MycLg1cb0SS*WJmP#(eQYqX-21Hi{g zf%f`xObBrg&`AaKrOp3p)R|(G?N+}EHJvsjLYZD}s1F(gIn?J1m<1eT`AUbN8OuRL4JE-Q$%*@bYC?AHTTKUwkx8idha%%Y-49(`v%t5@8#v?m0pX$ zgy(LqzI%WLY^LB$kL3y=o@=k#-21m(myY2$3Zp}OAocVJ?dexn9y4gH*SxXx_;hav zV{m3BSA-JMbA6z4jw8%WT=0mh4@fhU>AwtRjDSRzk)Bmdzu$PnQJZd8>5(hKwiF)U zEqatF2VR@-FW^yuxu!_3?f$1Kb5L+=lwF!lJVt>Hb$#dJ3#JVL9OxBXGwy+YIAyww zsc*^2$^Wx~yn+xa#$)1J>6v!v0HYvrEYE?$*AK*tAxJ7;4ujk%e>plvHjqth=vZY` z@c29v`V9!KVSrQiFdPwQQ(r;uGVw%$Mo`J^AYXjvsl3x_jrb7ccw31D`O+DS1~H6#(3OZ2mGGEO&%B&G!8IVz`G!oO2v|_nUv*brOJvtAPy6d zRe`ew)O52Y0Gd6Mm+0#3y>kzS15S&>2yYGW@IUy*Vt=Rf881O!>q#DXBjLE}_@;?D zP^J8QYtlfi0)7eew={SA<8`q@r2yRt;uH#WPr&|UC?>6AX~!UG{N9yyPd`LqEcm3bug zA7G4{$F_g?zpW;(p}~;ap)Z7%(}QF!;~WKyvrt^O$ApoZw&@1a5TNxz6rB>cRF*udRQ0X8Ju|s zkq)f;3j~Sm-WVRJH#6S6X{{Cv?AE1^Jl_HJj-7cjmr3wy$!kM@$5_g{ax-ds7;S>0 zzenpLKPZO(V=b!7AC>Erl++L@YLH|f&pcfv22ty&`nv>PP%#lWFEA9buJb5IM# zntikUu>TKHU*Xr}_x?RZL{LBkRFJS}X^>{30!nueknZkAETp8nrD2rhgn>baFuEnB zrE}~#H=pn8_xu5{d%MrM&UL-(bj5Sle$O?=j87tmx<<4qsCo@0+FlU&hUws*l#Kn% z03L#S&{_`!hkBf1e(bD1mxQsW?QiSoV?smRgtg6jdGW8d%Y;e+Yg?Uv9RL2_4xYR> zXYwZKUJxsc@&-7KS)Otza5PN1bogKC7V$g^B&8oK>-YV_rSb)eu%6s`gSZgQJ8Z8yasbW!o`tK72OLABnKF+9h{r*L20|B~d!D*kk z){o_h^F*!x!5shlOEgzzncvFcAf`)!G8XINC^fHU(qQw${o()|Fk)hRys4e7V6z4K z{+qO!O-RX<;i+7rh!WtMzu3@Jk-y?pRp(>6*|{v1N^mVXr~55I;t-nwsTj3nKLGWa zQ;)fDnj&^CH{%9vtT1pOA*B$`r~1jMdG{Z{7Vbjdpdb*QS-3(Zl}(O%<2)$%yBP3@ z+ImN8)~g%VE1(rM@=pijA+r#RiDUrF>GJ(l@Tl7Vr5uf$$oWVx9Z z-?gD`=hg_hV63e`BcYXk)aoG3lPz{ECXpuLr<-&geB6Ie%<{p+J)}vN?`NgyrQpq` zt{rbbU6gYgf`bf_zhY)iP~HcN8G15&qfW~H11n?YvpZC89>UrMp*5nM_h$--)h;Ah z%8J>1b@UHAojOJi5x z7XiDW=wU4h+;_Z-uZoTeYervwe+4<17~3HgJc|*1tyb6VGWAEDiowoK=L5nd z5eGo{@&nln9IaZX#x|7m$6Y{jrF;cow57T=@4@Tefx1azZ83T+gk4(RLm;`#U3c!2 z+VEf2u+yn6E%Bk&j|585v!jvyUP1?6m8|QYjRwaGd_Vs}=Gp%}`dTZ`e0eKp@{%VD z0{{64q~3OOb%jV64 z)0zHxR8uBnX#ALlZ?si}#nRzc!znrT>=(ltaNixUvq%AHXt+|?L>~-x4B_zvNWhrm ze>k-I^pKd*#<6Z@^#2@|6z=a1WMYmKCjgDoHNrCPCwx(v;SZcQqYq+^xWd%c}?JgdX7A5<)LZC~_jF zsEDoMR|1e~z1UWlC!4~3v@ZT@=Ex2NMBjh~5qP&7;mW#zBO!iw)JPC02F)m!EPD6c ztGQHS)2=WU2K-Al@ZKN*{c~|;b|-SqJZW~8UCH+c4Wuw|bkPBSTU%m708;JlMM8(b z)x>MdfX{Pzu5SEZhEU*%K#@<)bXi0^C+d@)8O=ipY$>|fuyK!%PGbAMAv0qutyD<2 zeANUoYzOKxKLyrXJ^^cY|Kq@KxUWJV`mAKQblOPE5p|)b+wKuBtD4XJnHWM{F?t;U zMhlRffHJ74bIfi{O>OdO+$TWE6Gp5LEz^6ex()5SQ+a#`q)-Ig`jj03Aqz>CQ9JSV zJ76?9hNx<(=CuP|y>e=lwn*NCnAOcqO$CioL`xd4s55{fpgHIoA@ z`p`nUdGV3T1>e1E?Eol%%uGaVYz^!A7>+Rb&rd*3&*DTf0C|^t$3W^R|NYLs!I6L= ze}Z2?V$cf6MIdf!hf=dxE-g)2y6~CO1cir@0B*M!90X~?F0C{bcmDPDX0@I17_tNC zxrB}ov?(o;PJC+_V^&fRU%=WSWRT@1aFJ7s-U=y~s!iM{J6JjDF!4T%V%DHS))Xf? z07_x9;-@vB!0~Aw-l{da*AC2g?GzV(7)KQ+;(t=WRDaBB4OB3nTJwjLCoHwfm35QH zOIkmIuj~*0w+>FaO&CxJ_0aSv^?jY6TXiLN|Kps?`rzxdMn_#T+kls8rJ);ax1z^} z&!^x=rzeY{@FC#bx=Q*fc1+m#3&v`V9QIihTEUNiq&1!sQRMpmcjg^{MA{gAF|1e! z12Eb;n=_D)9j(To^J}LkN&&n^K}(qhtcGA;vWWa3CxEpJTs$?fhBk~RSTfzJW@lkC z*V{imJ%E&V8ak3(!TNmR^!D-m8Z zE#=3Y2KAY!%?3G*%U8U30O1ccCcq*BzB#XAzFO2u!Ta}wr3g`2;3U*gK8Tjh19nF0 zTvb4{Gf}9`i}){n)a1~~hmPw9Bl3>Fhnlq4wCo0cZC;~QV|ie{ZfsVk3WSG{sG1no z4nbZl5B94`oKaJsUV!EH7=UB0e@7)b^lIe8s}+C%<$xW?$!3hOMd8DuBY8XzL`gq= z(7|~V`T*wgUK_NrJ|=p|ZcTe<0K4S|G4T{YUJmHI4T}>>s(Q^H;<`urf$yXd2+Y@o zSRO1LmX?(%QK(S>+~o5$==XmCM09f%cPzX^KYB5X#&i@Q8(NT=H@X$nJze^2O&*+~0(+B{ua4srx*5lfV$;3Ylj> z5R)<1zhXYKoB&_)7X=Z}!rr?Lebe@%Mt@NL0?myG?2Rm+LN5H(&atWcEc)Pp2jDk$ z1RM;r`iha$GdNBeO4z**7k}m1D6z&96{Z)-BDOTO8nWV4T~kxkR5OjtR!&j|ZCuKT z-4N<@#x(mG9-k-)Fb$d;tAGPZ+Y97OPB4}$03M%46B9gEUR{sFlJ*|t+yo`Szc;|I6NX1} z==V1n&it@DzcN<;g^&@E5`zxEd>CC3q5{1g@{2zQ@d8pgZ+xbWJP|o5OrPp3;Rnu?4&w}VD_TLt{c-FmNZ>yhr29cfyb+`y08bx3ohg>!1ol& z>25e{UJWxHpa#BI2<3VQo$yj@H?Bgk<5+fz1?UUDo=$0LXd%jK;z?1TR81gt%q-B2 zn}D?g0c!tM1+!L8nlQSqvhx=IwF*dKHwc2908`pV3B*H&01Ei8^nEGn{${yCQ1lz0cR?pzbhe}IB0`x8Ow|6KMIHXfGXTiQF? zo(C8XkkFRjxTuq61Jr9g=^ynXwLJj@xVN);dvK^my?V&aoocar9WpVvqj!q{bbNz$ z;Uf`gn0hj3JZ@c_>O5dxDJmLkx}xp5G*Z8;TkAf3nt98Ev!Xa~aB}n{C4`tssQEiz zR-x5LP%9uG^)*QB^GUldTeUd8R3)~;M3{&7Nl8l<-n&bAKIacm#N9wx@b6%Hs^Q6R z8?6duKtX~Sj^^(dg>u>5%XRgPs5l3HE8=+HZ(}M!9f62xRMB~@6*L3bLP*OC%&LZs zJAApsDBgx9*yyi?LNp+9xJC|v|+ct95)!Sc9VZtAuhFgXlr_x-#)nOGks5Kb;w zGHnZiE80Tl*p!f-@^ifAOHgb0KubrZu$q0u=8gHsYvzugP;s^sfZGDPptyM-NO+ip zJOTaaT5)=bg6h^wA4aEsG_^dUq^C!wQ0`=H%`qZ$Ot2?!kMB;4bf9~kzW<6jKW!~T4C;spQ_~XF& z&z%9i?iYyRaoly|}>ul9WWPp`ktjSVX9On4cOcnGK|S=8*@?7HMf| zA_3c}|M$q`5$n;@6BEVI3Uw4cAv|@>U9PNt_bscbA9-mP=!Ombb`F957j&V((erTj zT2W467x5`m9!Nbkx|n7|EWbK9wzbNX%1ow*PTh80ntN4>s88n!)m8>OuAc$>2mZUy zA1kP7^1_{Vk{-=#q8Bk$<==Q}}o1bOnMW?yKZ-u&ZSAN$H;!L{P+3?~SY zUEVFMuJ1v@u0e8%D&NLw+&?otXfg%?p6C6TZTh`E!EL{#Oht++(3_b;c5ZmgZ_Y`IeWX z2HbNwhq{sPr3u}(h6yeGKYoKqK0vg9Unv_H@7X-(N=% z`~&N~Uz*?wvJi&GC+)R@&XPdsTS^}p!i?ByZR-H*2rVfg=tH{spw)aI%*RuW`vy|k zdjfSj_|NfyiBSze_6WQk@Vg#?{?aJ>I|p~0D1_C4!)X^9|79Vt^Jw7?;->=?O0?H? zJD|vCYrGH~ed8MUaNQ*Tip*?W50_5&=TiDs2J0yf*z4#)QD0r9QIHR>0%h!C!o4}a zf5gv6p#e#$>e7J&4^r*`?982jY~2uoTdSAewet&t>N$cOZGQ2t56I3>zWL{3%=e+*T1jDic_#SW5k>$amic#dHcOfCff^B=QJb0O7W&n`fV1vynUhF@j z5A4+zGZU*#-ebtgRDk(GCwhO(hyBgz+LGP#+|{#1m+>l`9WdDxm%h95k;NA@kvZ@) zLd`p#XWc69wE8jt9tG@~(Z-_&YH)%Kj|{5UW6ye%9}~WxhV!1 z70e)g8>0GOgNC;1JDy9_H;Wn3vAZiCdj<#dAg_UIjC5fMF&^A@uzHU2D6DAe0FMu( zz;qmG!w~=>V~5gI%8V2N2{{ZBJi%a#+F9W=5Oyf_VW9POaNnpJf$v(r!K_&M+u<3J zLhA_91H9lZ1ZBB6w2p`nXh3Zc*Hg&YAC+@{o~e2E21@JLtEU)_$AVCl>RR`rhRX5t z+PL_nqp*{c6G~D|wmVnHG%|%ir*_xy%&&2$H59VHY4Nnts{Hfz`}Avm_{75fW}-k( zNdV9ZR}7;;z>Lo8Ae}?SR0(T^JZ=Va>>9&*3}&VCT%>jsCk+eyaW?-U;4Dx0$jr}Q zwD-sZV-JE%+w~Z}Aw$4D2PSqgc@Hr(cNwauUuR5+e}2hSLUe5fTyL=KI5jU_6@F;T!7W1!myQCVLvF6-w2F%^>BsR|mKi^v2PBScjbNOsIWec4La%q7p zS_J69Sm-0Ie2wM#DyWM`f{wXgf8S3`BZi74=vb9g&yt8aKG{`eOvUFY!K-Y7FM=pR z#St~l?@j;xp)FgM8l?0%F1>mosZRQLATCtIdHwT&-%(IR>X9;d-4*t{OTC*QvU2;y znHoNRPEn;UUchgEO_6SvC%e0b)y5=2c%R~dib0wOsoS8LP-c*gmWduxOtoa6KN7Kw0U*P3-n6B+Afq-hNZBG zTmkNW@AY$LIsdjGh;m>8y0+tr{ViYysAfu*;24<@cdG&jXu9uF=&(K5o#wms7)YH= zoaiNEYwxP<%4EGymzbDZUNhN?xRa7|1*9rgjE3!>T^z9%c@XX_YbE5qTE4HifIOww z1a4ad!Kailv)?YI6S~aZ+O4X@q!JD1B%~yNtq+!k#Y9RvSSe`E+_8K%CLn<&hB)t_bq-r+E%cN!9d*33+=eN_u0w!1gsFZ*N8h;C{UON~g zw}1cqIqc1TKInW7H0D5DJP04mZ)z!)qN81K#`3kiO`%_Kum?Pk!XjezDCr^if7&3> zEK(awaw{5G6pI~i!9HEk!+0(&-+Vh{H8eOUQAXy2iDT({Y*%DXz@-G4|D9nBkl=Qk zK3ws7@$z_FHYw@S$=%1Mj++moPosXQrV^T2)WxFdgamxa65}xNSN;WW@AZ$ zVSoyIeA$BbrOtRTu)Q9-)%dT|WtHwP>uLzG`R!OD(p$!~CDZ~o-qeFY{0o{7nTyVz zTa9EG_}x$$IB?0~wyzB>kz*Hm{(R-*Z4R*#<+dYc}O{0Jn{g zBKrb1=$t_|tml**{OQVW|_YT*`# zfAY(I_8gIeUGI%kh2Ms0Uxl9PZMT%Yg6q_7?{AF#eMU_5Lvid{>V_C2Em$`Y z`O7t2b&@F2)kE|Nmcn=@zxy1vxZh70T<_>(Z_7_t&)ibNk>2 zj2Ch_aMjNne9YE-?npWpcyEw?dGfb09L1MA&_@8f)%or1m58ve^XstB?0KO_z{W5% zIclwCA30{GjL^^<#9jvtq=@_KNBVDDZ{h_r=~GIm_92rJj&DT}rfE5dSL<*usEwG3%W1=~(Hmx8F71?>q?r%@^@n zs(a&q34hkSJHpr&lLG}iXmID;3FQ$27T7cpEx0!0yZ;_9(Dz!N^;eb}h47F?=iYg% zK(7s}S)~s{h3qtLqVzvX20W(G98ym zyh&QV*QQQws(#xcWq@gxcT~3Bbgcy@vq}3}Q06|x2vVr~7zc~oOj+o9yS{psH1fNd zd*c50!YgjSJPIW0g-&g!1FnKRv#$cRdMJ`kyA(VATmA34mcQ;!69Od4K?`s4G3HK1 zAySG0W6}W3H7W;!br=vct6ZY*TztQt-)E~)Axk|Ckrv?MvG?lKX|FcDj8!EY(f2?ORz zTCKkyxwEdRG4hxTQi?vCAuWj^eNEf^C=c%o85NC_{}Jq!HU2*0M+tZSy#D#`JPkR?zd) zk~RWUf9E{b=W52kp5Yc?nU9mAUN6xdCa>zEcE%>{l@5$i2*~b~>zTMQ*rr5REv6O+)Aw&Co=^^BN0N)@X)_MQMmq27|dgUgSettXBmw3@f~ja^qdrTmU}4K?f* zzo-4d?+mB@byWW$W3a0XZ6qL_3N^))5||tPm-8jc`am2mh&;6PE=EznfTFS@0K@L+ zWQ$@Os26=77j+(rU9q+N-5-1Ms>b_g(L%HSkM~mBrNp@o=X5+EUuUAms!bvC-tH-W z5$AWO&_?_z?~PI|AXmzSywe2W=ChA==3^p$yX*l447i;#w}YLPY+_PP4!s;Hy3oaa z&yCLgq%Ac>#|d7hvaoub_3+%0xMo>1E!mx;lr8^&5tY;3F^1zTxE~8^!u-UT5_8Y4 zK94x*`25|W_)#OfS{Q7yUXNPRT$&?!HZxIPKHSF0^QqzS_Yq3cZPNSPGZ%F_5319^ zmM|SuEad`n0%*8VB%|V>OClH;tA5-h)e|!0Y#||fInClW9qA#w23~u{g!DX_*%EtT zM&I`m>&|Myrs}3kJ7d2g;W)4b+}xw3VfS2wJ{1#<4%vu%V@tJ4mOl711o4&M0Dw<1 zB+Zvd$0o07&KQ+pW&f;MZm7%XoEK6(L0O)C}K;x{X7fMKfB0OV2;OU1^i`Oi7%B%wpT zPQd$&|6d5}t4)F*gxuDBwxy?mm$Umm!* zENavd59jH&$Jtpk*$I?$@BeSVbVis(c(Wtk`6NC<&p;zrcR}fczT0Nql#1 zdM>C{YiGf93otjk7uVK~SUcbP=MqJ>pb9#;nvw}5lt8cL%|-Pq0+v;!o-!;RjyM8Ai0$w#@fz6B--WktZRkrY6 zc%Elu%jh7C5C#SuBI1kmJS@aDH9xa|)$^ zt*Bz9fPiH+XQ9nr3BQ1vWKox?N22o{IwmYIn4l(b_vp!?_O-jA;}BdJVqLVlP8_Ju zmvaX-p77U&3~nVL{cU{41g)BAK7x+OHpIaw!R?u#*xFgkKThC_`H*v!w5>SltIe)j z-}=csdLR4Y{rai`s#NisQh>wqbbk7nmjlzO)xk>jnDu7jHih|hDHq@Hp;IV+9=JAC zeGa~l&9nCI?|ff$Ia!p04?zt1uxJ`=r;S!kyUI4r?cw>n;dynhfe7NaC@HYq1z_ea z0P^RBkpu;}_+bU>sh5FwORAeG?@Z@38h(%lN8#!aD6`tB^#1!YOQPVpq`gX^f19pu9Jli7Na=iId3iA$D@sbTob~bkQRT)%~Ho-vY?Dau_o&M=-$jD6MVPom~bjmN`+7lt}EJ+uW z&~H-SFRndxx|&y9%~CV8+Opic@Y*B)xkDZ%2_;YV9lgICc`z~L#p96GlDZ{UwOif0 zv==YWwA(g@`zMJ?`Dhr>K! z?<{~pc4PAVBj8)TD$Z#cgV0S&pWn!aV=ZSH`6spKb$Mn#HRW&3W8pzP}Al`4z-OW8Xxu< z`22{ke9C8T{{8oJjqPYrvMdu5>|OWz=ni-$EXI|oQR0-syM=Q( zOwQh>L`usR^{h}A)Z@iMASg=CHkx*0cMX1sZE##k1*Nxmg(mR(@c3xnM#|<;XxX`L zBfi!(PH=ld6`1>haTY+ib>d7k+>Lv;`qs<6*Mx5!#GhbH<+&tlMeAGlZk-LI8w9OK zZp$nBzn{ULKhLj(XZ4B39y=c-09$V_wF6VZ!B1(M$#=~2;I=Gf|9B3A*NyXElDiz$hg?!- za(SAxr-+gJ=YTVe)UPSN#+hHyuGS}Zv@Xw7Cvv)yVG3s|F(yrNx@~^?Qq9@xfVuZC z9c-~}kN+x_=k4v4zp((iD2CD#H0oNBmsniQwUjMv65QnfbPmZ8jLbBL*^*Sa5H;I5 zT71*&`zBR^qI|iW3s=urq4vx&8#%~F<9>^}b67YxCCo*l(E{6he5mtkzIpA%&rJ^D z@7nLX41W9K4m?A|iaK~^ycIHQPNYKL;! z6F^?!sqT2wv#h5EA~*2sK)k1=&Fb&JKg+APVo8!O647VRNTBC`TEW}Wk|&@yBUe5l4k&y1aoqQ<^M0b^!xkb}raxQK^UcXZ&7dB-i=q z=L)yrNAuJKBc>T=RyAK|>F&WhRz0|@o|AOsju}!WAP52nOla;819H2MxJ}(u745m1 ze{!%DkPt%jln8k7YU}`OR^V8;{7h0_9WYC1tM@__DgE8@y0LPA**&6B0E!H6K+)@eb-+qm_yQ=2m7aGs0 z%NaRgg1(fg?Imt7G{Rp{QSr)xD^1 zUh%Rxq58@^%$|s>NMF|GJ$-oY#kP5L;(_xWS%drTe(+k+b9_hu0`Owado$pJyL*Qo z5{oZI={qIF`Sp6}lv?xSe_Ff!RPgBjo?$@>tF^X&^Gu8$qkeEnWCjSB_qz;n^1x_Q zEs~1QLbuUFH(qWX>W;=1c_ZDH{n{h}X!wmja=;2WEf#y9e~hu`eG{_Us-^0>NMmh61w30F(Ea1}yghWeEsLW~Rr!0XB@UZ-RY!)hL%Do&vyT zv15tpj(Wic=KU+ng|S5k zkFK-V&nas(yb3irga%*+pa3wM2I+XZAmeb+xrr-ThFN-VJf+O?S7jV@yC+YJq>Tv* z09`{_F>6o`$r3VOU)kq<+)_D*L8Yw4Va4wqA$ zI3gHw5i4d(=?58S6Mf4^;r~R{Tum7zCZec3{`OAUECMQ?qrSe?2cf5*YJT>Z6flB~uy$PfrnahSgnm~7_46aLZrvi86 zgp;SN>bV{*;DM}Ha4*eH#ledl^0k7uL<(A*dUo#$z>EP$6xJMx41F0d6@0U660fd4?>s664?Bd+Y313xk2@4ib0Lhxl|TL>u8#nVX6{SfUMEskBOFl1`)O z6e31;Fv2E(AN@=Ott@l}Ra1@1zFYm2lv#3CQfVh54FNeuDD>Gr2nXRSUd zK6(vAoPS)K%&l@3M(9>KgHUnhH{E`^CdRomF7kGmWr6nnV^LK6r~S6FJRgQnzP-$B zgPJ2cHnYE9wkQhWJKnvRX(y2H7Y4-Wq}s(2+`o)SfUzdP+fIuYQobkD}()nvJ<@Rwsk*~%bYzi_iIFE6N4*gSsUqm{hD@X?G zj65EnDYuSk+RmLBQOdw_iTM37RRlR2{h?P(ZU@aRUqD>hH9z04`)O}RJ}}ja3RaXc zU;eM+`)_5*x!0Sizes0+Xoh zeoIA@zMp7*+hVA<5yeUw)UYuI5mm$ zEP|V9@Amqiy>k2#a9WE#oSmr39Z-wT3feAZC<}#Vy?`|NI!!aKcW8(3`u6)Wt%a+m zs9SxuwI}q67y+2FWf6Wj5IZ^hAXF#Qu-uWHUKlFk+*L}&8dG>ORky#r_0nmb8eaW? z!Rd_S8n`$YT=Rsl+2)K+KO#hSu9Q1aMgk(ht&cor~bLDu)~?h z^3T0QAj`?73e_rZou;`ClWxAPY*wcWxUFj%S|bHDMVbbE8(Y>V{ORi8#`RpbfpA%Q z^Fg3JirH2XKxv(sWBJOs9CR}fr{h%&X~adU7!04YsiDiSZ^S-#DOJN$No%Q|m_~DY z(Vq9|<6x827&ub6LYJhFaV$kU648^}ZS{dx>0+UtSK-51iaCqS>MhQb0?OfkJrr?= zoqq$`C3?K_ugAzo)}aK}n^Li2`T0z+SXP(UHs_W5U)V}YYs_n(`Z6I;iZpWvoYowI z^{lVNW09o!&wInvI^<;&yp;;GDqi(>C(a?Q82$Qf#fxIuPq%9J$qrZGXZaR;xqW^L zYg!Ipi(&tq^6t;InD~Gw&Owoy-vISTJNtku>wi6DT@%v0XTXl;%UoGWwEkXQHS)T) z?i`y(C_kR%>W-CTFMR1NOCHX;5y`TY*ozFNsG1>crgP~iJy|f;V4SElM0(Zx(e(h1 zr1|9(npbAlLT)kl@$+C|+%|68`~&;Sk>NtS?*!*!tZ)(c-=<8W5domC-R*OwBxOt~ z@#vdO3Z%NFewl62RU}T)qVjh0fyXzx1GkzVf7E%C)Nwx<&1kJOhBfu@zQ>*>NB2@Q z&b>m^dFyg*`Ku@e>~3N6Y=i;3kd$de^B@@{c}iv{l{=!;G@orV^@QaweDtXlJXUlY z=8T!x=rw>@fL(jZoFkwXb!B`l19TmXm1~AGM~slD%4Yg4l693vqf;mT@OJYzZahh| zA}Nv%M$I2TCc8`%h?Wg=Z=M94_mjED@B0o{f>HZymSNNXcaqat#+YHmw{QDYZV^_^ zE}DE1(bS7XnXp9jcP*~rm&PKM8w@05nj2o$JRV$iaK9%+n;fCowdi5pIc8Dn)bTdF->$A{=i+z+|C=%e5*EhR+LXROaclPxR%sjPjXPWBKOlu?d@!pN}TJQ3Jt7&BER zSK15n`%*|bi+jIr@>*9Ph=d~@y z*=5G#I7H(dr8l-N&q{ww3QUeJ9{jAI+!&EKlg=c#A}f8uJmY0P5^x%dh5xO!F^goc zRXS?%aMu#`>jenk9=gMS;Y_K>>a);#Ly3wHN>Ff< zTIPKCX4P7ASmp-3L>bW44GpT~Ya9Lar-Iqr+P4LH**dIz`xAj5P&A->+TF`$gLMJf z7Gef+N&8$$FInbgt=RaoiIi&1|GL3^*)R_apH#oB?oed6>?SVA*p)fp$fBJtt0Y!#L` zy`o<|X=~puT+$Ie0{L_ItUxT}d-uy9^ ze`pGK7Rm09;py-yp4?$s<;Ic#ym!ed4RMeu~mMOF|sS) zlPUX=OAp@U+dwX(eF4w&I13E~A}6Aivnpdu7iXrA`MDi zzKG$(V*25opnT6ptE&D;52bMdIvjhLQR5HIw9RNZg0alE>emD9u^#!o0wz!vOh>-5 z(`tZwfq|dvkn~&WB7%K?VHmE=t&`vRb|HmFvS?ANazl;>Rv+@xek8jZm|&ml6ucbLks;rytZI(->Wy+fi^)It9g#u> z>OHk|Bs|}VoH4cprC(5%YSsaGn{>11K}LPHfV$;&=13CcH86U z|Hv)u{``Jw`7aykY~CXiRucW>*oUh_$ZEryC)AWF>pKZpnQ?D?%Vsxer;)++YfnSA zE!YMVwUJL7#*qt?AI7+9;m2TJoUY86e{zFnG7Ej|aBw+0>L@cCnjrw z4zKs&UvK#GHK%Uc?6TwOvqEoyJT3OWCCU%tfP0sfs?YMVqYgzw(c4g+C748t%Yzb5 zoOwNO`kRf{j(l^4iLK)1g9lWoOR-lHCX19fYfd;8SJ(&la!xbwA7XK62kepF?Y8#p*(d`bUO-*KUs4 zc>Y;6%KQn*G|W;H5$ujeHR*&0qwpcv9GNwO$(%^(g z;|iGsm=bh@3^vUMI)!kZe_XL1N`6~Sc&LvAFDySl4>%^9@fA9iIWsg17!n-KP5qQu zA(3A7N%+nhK4pqyk(9vLwWYwE0U8bMPJP8PH~AKQp|(25E1xwo^pTyep_83$B(j@d zXo(bx;69D+ok-X_MgS>1H?9|u`g%`t65iH zN&-gY@4N$HCbE8;4`qcOx|6rVF(2zCUNZ?UmJ(Tc9CXd&uxS?V*jy~FF!+Yd0sDrH zh#2{Ng|c8A(`nT1s95e7>B$6v)m7H9s{W^i|17>+e=JiS9m+Iq5Q|t(Qg(UfN3)k& z!4B)x5E?3JU68G(HM@~)j%K9NLa%+v(_e3pJ{JZehrC;bPsWn4n52Xzf+%n>;}rV7 z;A*$de?8}OClQvm{A>X~DVx?wQp`V(T+h$QC|%H;B(E^XR}uyhyn)Zu(rmT-oRb9N z+0$4fKli0I3Ma}&S~mMdS2cp`mX~waZpvwtK0&FT=sVl|^wOC}()S24ZLodTTVkqs zFqHXzeg6Y<%&!0Dd*QHS3Ypg98F4I@5IHIUys45wM}KB!um!Ze0WnxQ9lHc)wmF(= zY5rDPuvDMkFE@|Q7tvU;>^R>@sw`e?+1M*G%;#Tk0xF=`yBJsnYkl5=^ke^caN_Z3 z)wWJfxf8V01&Dy3!kJ*eOZ4W~nWSMj_8?GW09G=y+AOg<81rgQkv-1>%`YYNr-=w;rff+ zB4U>_EO<|3#`1;H!Gc)Q_u{t&%unb>1z^YhG&2RVGF1a+cWCYqNe!(@#&{U zHm0m%>4vviQH?|Ojzy$ho(LRt z%iGG=`ZErSpIy$;?R9OO#7`MR$^z0_e4Iznb#1S5c@EgGR`DjTn%t)D zE<7pcsHMDbMqGWlU5vqU>)>vB-KXl0QeoMWM5E~a-__ECIR~zU!vs83eqX>XYMrlnlGW+W`t2Tl+?&=PZn(R`+7#_*oXs=tbP8XeR5;q8L3>qljs zbsq8lgw3=&IczJP2Am3ooJ4QJ25E)GO_=E)ZQ^7%4UcXWvK)^7`yB8<>m|(b&+5ioFN3AV?CP!PPO2IH z?#?f%JLj(|y*qP3IZbKo2q_EF5VK-T$I__eo3@Mg?vptrJ!$&-E;N_1j=%PC7K~}V z>wMqRdgpwC{!|DN)&-La=5;pG+xo;kXjmOkI0Du`wE#zOy+0v7C*D8BYALx~f8#85 z4GfIk{%w4mj@NUXvboss{-s6aujzIEch}gPG9({!CPx(GQLDDqo&VwZczVnAl}!1w zvp0Jj+);P1wrrh~#~t}d;pJzsc%QDA{Y@&BL24S)*W_>YF?S>nJaq2eiU~`1B?_#4 z=$~5d-XIr04Cm3?;NIT+QmqpD zxZ^CVyQ`^Kc}gcJ`j%AG$9`k<2gIACq^H@<(3RZrqUX_-F>V~M-{a^#U0BuP^m^;K zce9>RT~{3QSZ*Z|FFybHM)DZEuDk{hcfyo|lCc;P)h$(7`f8PI%!VgcUClG(ahI>U z?)P`~Jg{#j-3dXTzL)&b%44>er2fY)D`rI&-x)o|{)Kgw?Wev^XVXG&^7x<`c-F1j zvOZ=v>iJ~-`v>+bezp1EK7=RY7P4QM4aV-B`th!ipe{E%s8aF2R4dnB(%?!+y58k$ zjN!xZ>SK%K^ZFVtKdrYWx?P`srJA$QRMtG3h&qee+H-e8Ypdz^r$67{Dv(nyEK&#t z?69oD;6n6U>fOi#h6%yV75@&#f*X&O3b^lj51$>b{;4?}#cUkh>H4oct*lcGP?daj zkf@2qpAP%9?(t#nbbiEY<~H5QoYNGnGo5#PFP3$ci-e4%V^0WfTWH$!YT5f8M>^Iq zi};GgoPm|VLo7qCk#dsfK;|2|QD@U8l_fdp?(l=s&qw(#nY_Gz84^^s!ssfl6CdTa z{<~>)E#Z}H5#r6NYZ@)XX;$}>z2$gOJQl;Wu|wJCgN*4r`l@3mANpSAc>@Mgss3`@ zgH5&Hw49$0)(4(p%Q=c;#j?~i47CqOsX}n&dQ>mZxp^7=_;mxe;#YV6AeysXAN}z`TzR*?m(*k|Nnzj zD7~$aQ0AqKZlTC3`;wi6kWD2k<5~^bSyzheO(7$D6dBjb=2|5qdtaIN_d2TgyWa2b z=hq+p>Yj66^Z8h>b5@>sof)ym2Q!MPTD#S9W*k^Ij&VE~rHE}KC9l0~t6bvI6_;)3 zM8wNbpgzuUZl>mWZMO4n`e z-k_DSubO;vB+CTsh&e04e+fhuc9*2&o0;Bh%kG>KerrLCzXoD z2DLni2w&Oc85B^lNSl9ujarJ+kBQ*_WK-HFa7tdC0eeS5^|5`r3UA-44Jbt9+JX#k z8}PELNgJAiHPsCf2VFErOW!&hXH@0}AZO71-oL5&^k6erae(mZehpy&U1-#m_ zx%G)Lk^u(^9pl}YSGkvzI-m^5t|Ng{|7;KK(X*TdNdDbPZLp_h2wOLa8-zZa(GM@F z_7A!@rwz3_N?ZAjiWowzzsF`Z^l)-($b?bg#z23eif0}hUMq#7itFIInREHyxAf$H#jArkI8T; zFCrpnGj6yjADhUQn8CQd+z99;1=~tSUBsmB%TUdcV;tE7_oxugcLydq|7wjWyuEQ? z)brqxrdj0ckipqe3`*T?tcuj2(|B~SD#hS=hD&ncqKxPFfz}Y`cqhgs_@-j-7Sl#- z=I(e#c`#MB%lb#J$gS*B(%Mw1duG+jy<~Nl(#TTVK2INVDkf6dTEFePWSCk3DJMWw zwb!kJCQ->RK^+wm6Jw|8v6!gXIMG*4t<5Z?r1KzED@HDgV_}hR=K(5MM*5sv1gNKhBW08b>&L3y%sFsODfk|(2`~E6Gyf>A z%sw+gr*2LNYjC%pYxU8Fe=hlo=0K7$N4Q7@Yg3BIH);&|XiBPh`IQsN*U+`vp?W!8 z5AaKy!Q$DJ{e2b&0{n+%N%Uz|hnMVaL?efd7s0n-t_s9+ack%@uBkSMUPp&gc_4L89Z+NJRIk*hc9-hZm<`9$3beY_5~xr#N`CoWpPw5& zEF?wAa7%JN`#AfZ<;`+Z?rV>V7&(R#1XvJBxa#>Ov@+t@V3%YwcM~>)XIgc=DTU<$ znOfP+f-@<`Gt`+`nRD@lD$}PKwHi$8nVi59)S(l?R?JOkr1BP9{zY(f>%2v{wkdg^ zEWp5{pDXsgSvbiPwpiUq5EMFvlNaWXdClQ6|E z{Wj~}V&5~P)NVNye#Pe=**i6w=G$AtHn$w9?yFmERM*HBC0ew4{O%UR3e$5hf&gq)DikYz3GqkXe z@w?lEU6c>E=e?X##Ofg*UWOwBCg}O4(hxPl8vQXvl9p0iLqaEKrdCOQPEY+#!*OTMcL>f@JS1F&%=gM+ud8BiigCidP<| z+I&Nh!(xZkVfW0H<<79l`wt5bHIuK`X1>-~sdL0^j`fOrVR7OumjVtdwCug9^!kfu z*AKbUz^~LD#L|AZWk+?*u>(*k4|OMIgiYv+^j3oB9T> zSlN#?>~d8|GcJAgJanF)G(bnC`)unMHY-dHxn7#lTt#Dq=dJ_e@+}8OZzau$a%r@x zkC4oT@GwTkp4?`?_VwHwDJpLqO?4DJx+lX^UV5n~NmM3UtP>oGLK)mnoKjzwcnjB_ zj5PBRn?quEG2dd*I~R4Y_Mb*sNV3hp*AN@igFfE986U;N81^vCfo?rQ*iffIb8@I! z(i~a?R0VzFlt(`A} zw~u$1bJ$fT_27e5UvGsmk&uEKA#2h=nH&`-p5Io*!&+F|<{r(#o?K>lP(z+m%UvzG zr2FaJ(lkGnTfU~v?%Y0tOii0JeWqHm;Zj}b1KtX#Jca056sPv2DidHJL9Vuqe$Jho z3L01~lzbjrF{ViBmI&L%of+NA(cp(kQs8zLV4pTONL|cNckX9je!d(=ZrbR1Bg7@W zE~7D3%J?ISHadw^L!?wH%La?)_6dr;5Wngr2i`zJ;JxR^AmVd3^wDq&=WXTK$ki>O zm&^6~k2oxoQ-$=;zIo4vcF+p-)QQ0Rum+eX9TJx8QYktq>zhOr&|4LAt3ugv?I?OH zepN9a>87+*nS7ZAd^(U>SP8wxpBZwKQzH@8jJj@as&P!AnjpYW1W~o8q>ea_KevuF zu_ZCwMl!23hQ>O7vf#P29ISTrqN-?q^GDUaDXq6IhAE43aXUThA-SHzW>OuAmflIl za5)O<4e1w|MH^r;cx+|bTs=xD+oTe;eN{@iDMfcDkTJ0jtfn=Un%3qp%H6NR)jh6X z5t{WRg*;PvZW!6F99MW_?Wj1dX}4N?U%y_%!g4Pe*K&MxHXtF%X;9XUdfaO-x{vwNt;1QE*{N3Wn#Ux=ClQSKJwLlLgD| zo|9)W@9rxmdLE{gWch9xy1r2UW%^9RDwWy^#EArs`SQ)B#es6X0p3wtLh*WqkV%Cs zdoWH7;iT^C=(8ApB3ChA+Mi%5@d-Q(m&sP4Y2}KpJ(1Bu;gi6Wa}_dKDMor@2DIvO zO$x2c`T`^^u|IU05#~g}mQ`M@;=3-^>vr@Ir%w`*5^nE}Z;ntBOHn!sKzOb-qa2q| z?F(hHE72cF!74xDm~Q&$yLtH<|1?kT^@B-#CVQFOTyhg^QF%=Qn%`)6U@!7 z95n5hj1z14sB?D)7HWWy15gElF>Fv|{k6ncy_8~-rFZzo5VJs^vZ|SFLAvu`@@W9r z@(rhUHId`7h{0!g#I>r-@Pl1Ed>ywHeb-Cpub>o-%sIcRU=uvG%`b#Z5W8$gKSHGl z-Q?oo=~fLLtx`i$<7U@WPK4WeJf9ssxl|X0H_G(zI(xRe^;*SxZMNjQ@645NZc}h54GUmj7u42`4nD*-dK0pO&=%9q-gR}mN25QWQuyaW59S&?Ld<%m zzF^G6&y4FkYH>MME4y7F5HGdWsm$Me%&B36upi2yWMP@Wa^10`O+PbnZ=@t@1B|sDF3_3?%}T)#rb#l1Wa#+ zlpc7Y2lN*w>GDD>^;-*SIu8dK_AVqZ$t~94YDhn?PK!9VA@$L z%dIJ*=S`m7fBUiAz{%$fCv#6Jhp|$n(UnS%t_YpIZceFz1WWIH)4B`~y^z<%woADK zUn<p6$7?rLv8 zt!|U`4{+9DSPH?GhwrFPM8tbJd$m@eJ(cbJN>khfZ7bTT6e2eLa>&=5Xd#moBrAq9#M`@|yzr zV1|f0Bo^(St^G~*LsKSKVk7M0Ck{iCBj7z_GbzI(qXUB#2XeiXcsjT^HIZyx*4-?% z`UL)Pm)SZOijOX5K3-8vq8u>U-ipii{Kl5RrglN<^m_RF#6>0%o_+ zn&P-(wm611#r8eMDqz>SIKrPq~>x9^PIQqlo0;Ji||6NY`Nti0p6wgJ2w=ugr0WF zq!QYt#RmzS>$8T!hwb}XN(6aDF^uO=OVcX#vKGWokWgDcP$^SeKC0x=f13F{x#G*Z z?Hdhq>95>%7;#(~*HDH7>h8 z<2DxRWb;&G=hcjjx!l*+-7Lwv`*xRkS@p}z_~XSbzb6muPZG}Fb$3(t+?tW}PZ#fa zu;M6aM;yB8o{4nQU@r7)yRKMd$ZnO3yG8H} z-xhbm-~2w3S{)^(bF-=Od+1thi)|&LYJxTNrKJ)Zx+iAE*FJuLQHUpujB_c?q52Sg zny7VX8(=sxfZ+_Ck;|Nqd62s$dGCnU<$!}VxzhtHN?A8m>YM2nisViBmDP4$e9iE> zd9cESI@2_!HxZfo0XMWaxqOvWs7!b3P}`(ug+^pn+q&e9w@bsw*w}DQ3)M-k&aU$j zNf_?cNhd7klEA~ba9#1~y-_H^F{M^?`Gd70T4>DI>QdjRt)$O7-MfU-Y&mclX6zMf$<_3NsRWRU~+tlUFG z`3}g1hTw#t9xYrbC)3SA!o21F@K@9 zB0qk7hRd{{WrIJO-Xj}r;XE`=U!wYsxJiIK^K>A z82rV3`tWmq3(ulT+egG=#%P>K$8h{mm-sg%WJ?8_&5Wy__!x46ZazO=Dps9+Ys{d0=0Zi_GaddP;xyHuSC%_nkAbMS_mZBcmt>t3zX-TJw>C%H5 zhndjVne%enx0H>Zsa=33`!z)>hN7>TIWw>i&V6c6Z}Qi=esGt@endQwZ{M`>2<$w!NgUw>GTzo?Oj_nX3B9J;#U9&TOCPGns z4u1Y({wlkSV`3@ni_wT%B6K&>;NBG(ETY&iW z>2YVgD6g*2JpA*~9NYy33*iO5PvhaH1Fl`iF#h*OOVYPF>4_A8qLcu|l`n8lPxmJ3 z%}rP06)J2()x(0^Y#Y73^x4St$suUTc9V+_&}*wB0zBQpwT!^Uu$JGduEc-FeKLcn zK`$Z_Nc5hyh+y5D{7O4K#ki^vf@+M6Yaz`U&h^i}IfGtY8LNK^W50HOx>$Eq+6{pI zuB2yG3A~LQmcT&?KU2U@3PF)i zqtA$m;Q5afZD{}SKP#iP3xK^4VYm4D(>xf06&m`(Cu%o4sm{{0r|3s#)LgqCM~R$? zo88Dcai7tf4OD%EJ=%7`AUPOkR&5~pElEaYdbM+Lqv>_reb9V_6ELeBNq>M?J1-i> zfhyPb8P;;}_@E3Uh{PT+RIbg1IpLY`(qeNh>552X*0z~o5BEcC*%7c~Mi*v=;f+c! zJYnWnd=Zwc)H1cddO4whlc4vW%nf%BzRq3)e5zbL%ij1A8(m|lvj$L#=Pe`xkAvIO z;Vi9ypl*}*WBJZEOVGB;9J}M0hORe*lpt`81M}t6ADd--z3x`~5I)HIW3#NLRhc8n z#J_$F;U$2nvc4m{@nVW1VZ!bF{MV4p@Ve&jg)^D+k_AP$)0D=`p zgl(!qqUoDr6zIO&>c2^`D4xwjCN1+!=-wSedLo20*nX({U@^8RddOV0+B9TR|3!k! z%MUM{@Ocz8kmOspHA((&m>fgXulY=D!Z#DL;S# zr9yqn%W*0RU~{^xx)w(=tEn zoa@>VOoU+s_hdvbl*Ol{>-pY$n{N0{{wlxnuf^-E%tlv63qkq_Rd>L+lr;15)M&O& zquoo*zYmG@vFJDZURJ9I_on+i*jMeS$V;~%c>7-AC?5CGpUm|7K}~McZZQ*i$IB4( zIW~ZaN!XVnMf?UA4j{qbsT;Esqc>6xxFM&|wxVmkSj}=wnB)WXB=fZr*f)9e(gf@u z4|@KGiU{$-bLYda)%&-M$ajJpmJvht2e0@PSi9`yS7wrhqc~c30?z>+HLtrasShPQ z0(&QK_ul$w_IalsXB_%_JE)v*p0mTXC;G@H_dM%qdmae-o?2onZIgEcxUfmeW7!lY z?D+3DTkj9n+8nzT*CY?|0?3f?LA-K)DfL#uLP0^;Iv74c+G`}aOh$CU3{;!OTzG2G z$#|B&9rzC%H2xj!yz?IBwF@EZ<$p=}00eo;V)XgdVSIRA^DR1w&-=@_l<$N^&l52C z8JA&W+Wc!3={money(Ma$5)zc&+&SQ7py*rVEs#gyT!orF9Gf{DH)V;60m;!oV`^* z8Ss?)f*ZwQci7nkd^*w+`Yh>!e@?IW2oZp09x@K8iw_LaI(2nKk#YH&zdBsLFamcA z3!et23f(Z}o+O>t6SOk?o@mMCX0&>K*b#AXi52wV5)*UDM5?o_`gfp@Ed$~m6c_Hf zn4#=;6{uhdm+K;yw({7EeQxhyq=^{VR}9S7Ks6}^Mj=s+7uY>(77KrgT@>{{#jdU0 zlF|1mpzR2Q9`&m^H`Hi^N;!0unj|yS-sO7PuQ&4(dyo1h5qTG<0N|8qEmYbXw@@fQ zR&bJLLu^U4*&9q>u`Y1;?r|6{rtrM7l_!1il*zT$Gj8Fsgx9*Jm~;N#u^K(FbJh&z zFZR;ov|el_owLtocKbn?{+6M@Au_9tqP zd!y#C(PNPVW&&*c(I0EJV%e{S5+H2=1*rb=EPD7Aqg`+L%)C3Q`bJ`b7;@1A3#jDO z5BA{J9mn4UatxmymySta?^t4l)GlWwxlLo&`79qOehAu8wsLBCI-FfKMGd*g!#^}? zA6~X^UDLt~quoNpXB@!JyX`b0$$52zYzyo;L|fSdG;Kb@`BFRwa2H)b(BQ2927rb+}=NN+fL)o-N{5jpOe7M zGrGob&U&<$eRf`U(&oWM*oPWPvQq|-aVz6MxE)w^^s1sj8!;;FmY)agL_lV`8dtKN zH8sot@rwo=geHGqx8-wrys(oM2KaPSs8{D6Re$&ika8(pPUX`-%lAID)QpVuF9Asx zqYL7tv+o)tBw|7!qkCZThWe2Vy6HSg+{>!`_AlJ%U5rvR>F11nZ@;XJGgCzV89{+w z08bX;uqL$n66zQR%v49?{{~BkrNgvM>-omeo>+F8wghCI47Et$< zC-+IZ${FMqZUrz*-?zJMze`zh9{HIyLe0#89IEjekKqM~C#pW9>)I;{q?3f1%)&^2 z!HlLT75g%#qi`aiHrN}HpQyrCJfg~Rz0 zTySR4k4xNJd_LlA^QPK(agZ;OvYu;1%8M z6@43|k+1g;a)e}oNb8-1Z{ZX0ydi5I#oU~3$-$Im z^nl{)%F)3bgDxW!Gm%KCCtE@ZrfYXxQ{UZG@x;cBn1pQUzc|I77zDB<&Bxi$ln{a$ zmy*J+&!+PJ!xa^8-+8;mB-f5&kQ3^?`FGNRI5a4w?i-ZtXVA5eCEA@`$7Sg}lp0kSuj7Pf*`MH|+>xeff8V&-0 ztZ)LsW|^Y1xJKsoT0thlVTwDxZ1NQaQNmfU>eZgd4Y-Y4bDBqqS6+_iuu%#b-(qgb zg3;pS6_suT^Ly+N;dtYyyl9!nD$TIhY(1oQ9iD4?|9`sY9ms2zmBLr94=i}GM7~B0 zzL08jr#?>m(A;bR|52#{Q0f!r#GPuJ-%M*g@cmV9!muEk0#Dd!XRz-n3^co-@}zK& zI7?X$k_wuIG+0-BJ7dGT7}qEdsa1i;$Y9tmX7&srn=nRiSpdMtC={ueFPQ0T07{D3 zOs(*AOBD)Gy>h3P)i7i{uA+SV2?e+>V0vnH`xbfS&ODN>8H6jy#1Xrh$)#!jfakq| z)gZv|xuQ6lJ#YPHcSBl7z*Oh$bm-gV5FZwG3>2^IWAS%xNAiZNFCGOr3&rseMFds1 ziCDo<(ZoeDk?YN4{CB0+rBd4*@e<({@Z7rab6bv9?WLkLGVl9RIV4wdSkrTJ{YmuR zmb^7~D3QVypkxCVJ7vrw!?_**(Pq@bz(u@^ylfU(89J7a2eX1eLA3f;kTL9X1IY-r zm-ZeMkD9?wWe_fydP@yA^zO@YkE8<`q;&x_;PZcQVk{kOH!G|wUN;B(ZRF{@)(##N zGas(+<3#H9X%NsOq*H*m|AVFS-P!G3g@)c6Zb_TPFOn9%{)CKX1w`%MEOI=)a4HN% zlyKQ~Y-;QH1yTz8W@>VyIu^rh5Djpdf8Tt5^Dwl80+aT$h>P3c7gVLxFgNx!5DN3H z0nIl-F2vHouO|_)dzkPmT!c;aC!dq~K7A^Aq11CRiwFo;d(5B>OJZ}CrOv^^)=`zF zo}a*0)jQ>|OKIK>aAHDXj~pL}yn!6*6v$l#TRJt=b6?+W30Mnq6r>$a;o?Z-u;Thms3?){-waZ;nnnHeiEqVG-!QjLZt}v z*3~x-sN;JGu=&b`Ol>hM+f3r1kvLqQtmxxN4Kt8`11oqbXs9a3qDQj)02B%|J}6X> zT@EBMzthNNR==x7t%AhJZ&a^l5hGj#(k7v0d99$_`kb5T0*Tr!R#0^m;DJMg{>w7c zdnW&zWj3w>H3n`U2Qp(Sr#=E}8O6mrLOl5}`pY}tK9-8h5g`zy2&y(jieGzI8|C(} zti27}SB_AB7##`3z93f%1LA~y9;+keDd%tS$0?SdRs7SZ0v~n+<0lo?Up%2!TzPge zUuW`I2|`_S%l%$py{^y~YA7;I*!p?fouT4{5l}RHk``}_I`kX^fLF~3^nHTg+>iWU zFAwK2|1e5=?#9N9g{X(!>ST1PBqWg^M6?0O;a5?Q0uogjRjGw$`^+wAJAxYi@nLav zb0D8I?Z-;Wg*^GO_CvnZjd@-gauu4lX?H2T?NfuF_uhXCYpf}Gr#vWNq{#3?qlsyI z4cFZtq_>k$SQA#Cf^#a_qPEJ3|gV zHelRo;c-_Z#t(O+gFCjU&>fz+fz(11!3x!^8)7dU$-Ff{T28?t5BS=k`Yg~fH_gw+ z>+j|>kw5_q@X%2Kg-uaAyXh|8F3N6d;T1Rp>w^!f9|35`8=1d2xhN2daH>WWv{BMj*B|0#C)vveg(r2CDD;$Bb#yIh zC(Bv7yY67p+X!4ld(aH;Hi-{E215r&?IE?N_+j^P_S-G&__ct2Yn^LK!vmRIuTN~0 z182PUk3am#c#*B+Ra9?nY62{U1^O_A(3A_p6|XnCp%V$w%x%p;-7dB~*|m#&A;J65 zRG<9wZAJMaAZIj?PTw`a^oUN@v-XXd}A3|x&L;$qfo6wwZvN0Spyt}-~`6!oOj z?*8r%ut6D8a34JS2QucjQqqj3^I@c(YBWq#I7fp6GP&wwih6kpH|G-Pb%>M)Bb94!`AF>4rb@tU@q+!0uvIs6Du#R3EOyS3Sc8sed34=t~aOBPCWK@cHxt8M! zpX_bj)N!)dtgR1a4LJ-B;2H#&>(tn;|H<+IaO9+bfuq#)zPfsY=O@VvCM&kZIjm>% z1MN};j6bw^KZ6CzDudrGDa+Ia?w!qk=fWw42Wp-+kQ%a z98@;7RhfNI{~%PO2SiqA>Dhesbfa}L$XBf-f@N$a&PC!mwCK%p4f0>rD5Qe*l53p+w1=iuK5 zj{WWM8JGTW_{LZcvG2_S>~8l}=9JZc9D-kr?^=TzR3i)GJBL8soA3?f^v! z-wig=&0_mISeB3;mkym?i4pNIfIMD^!OOsZ;768vIo#(*mO67N+y{2~KEL^2{s6c; zJcBv*%MUIj!9dRRB`CdrN29+Rz!J^j>q>XQ*&5S<#Rygx>>a~ubZa0#F?8x2d{@%t zAty;i)ndxw+p5)fLY@MhBAJa5oXz>Ug1^(Xr=*Dg6e?ak{RcMQeF2_a0VYpU(jMDe zQT&RjADH12G$xARn90KytkKMqAUBISzh{U1xaF1LA_P>Ln{W{VYU4R(v#JuO_V{N& ztnhvWgLee^b}@cWI%SO=+sF!#7dT(JwJY(mcPLpq9{|TPK>hAo?^D0ufTQ;#z`21x z_-h4&Y~q(BcmxCM$!ygQ?f{`V2&GOo#wIQQz^7aOE|6$9={aY*nB1-tROx|sPYb{U z6mYHmxsG-A`nbis_|6nKPjY>I-{OlpO-KtWZG^e3}PJu>55a(3ti90URIMQ~fgdnuRVa$HCFw+Secnh1NM*@)zWt1Y~MR zZ4Ey%R4&I<)a-f3;|KLi{h97Xn8E&@xsF0)rnBOhn{4(xQ~Zr}c9DbNp77{no-m6A z-EzY>if+GOPhfs9*~I}e)4Rw}QQpKco)ry@un;K!Kg1eztDn2^Pv|Js0q;Br9<<21 z@GP$f5KC%Vrhz@CKnfy-7^+1KgKYI9*p&MEYWq!L=5#Nf5@r7Bw;)Eun?H!+}W(sR{pw z_Wh{A?n8?;W(rT=8MeN^0?vT>3HuXz8eo6#pWG<~rG~&0U=AcC{}VkmsnBMhyyemV zTrVIL`EQ2+!osCXY5?~y(sz!Z#gy*o>eQ8@%qUo5_K!9QFY!XM{fvWxA&1oh?|l6K zOoS$kzLy>QHEEAqvz<2$5$OA65THmQIMoMv2ju;M90@xVz}wSkFdY&@RX=t{+`H2c zpI|f6P24(e3bdNEJ&zCia3->xBUVd2+)qkKps0jH7yh zEAeQjwQ-VZ&XCf~%*Vu4tfa%P5y;g+kk(0dx%oji)5_hycK$|=ua*v`jxI(>wU*J^ zaxwQPS(IFv`2d`~1^W67Ra;!aj8_TRx9Nba3nkqC4LTBDF>{T$N&aRLutl+@1q&|l5K@y;{f&eEt z9`^s?dk`JaIw7cSFXkA*ztYUT-&54H21quYQx19;+Oo)^w4UQKbipx72R)wSkEop* zSqA$y^w+P_gT7ma`)dt%f{Rdi#HE1)gzZsRf8%`9zJT+2RmV0=<$79AwIK}_iGWf9 z*NmFMHN)bycZY6zz5hRG-|HJZ$>21L4DPX6lFAq%^EP9uY4J5}5947IouK_z$nHOi zFVOf`wiA)%bH3Am^1cAn&y_0#dwUX}M&?B>+x46Sg~PkpA0B>s%m0)3eSAwK^*?zZ zGy?NwNdLfouHT0Q^?%kvoQ8DEm2Vo$%f{oX1@y_jCO3beHktuN0Liuupy;TzNHtUwvsEo6h zz3N6nGw3^67{Gg90($^EE0qb$+dooaLdBJYKRrHaMHgUD4oljB$VrJGJc9-0e?R`t zS^^(`2fD2ZI3Us`&lwto5_t9-aLiF((B%TKuw@ zUz-Igw}LEktn&G+^I!DT{7?SpnRGZ92Ic@ezcn_@JKK$ zVGf@0rfVrE&vJPE0=bHgvx=uqU^f=Ig+GeU*%AYV7b4rgGtt_@w{_Jx^}fH6Bd|Dr z9P`uCjoQ=uhx?ITl}4dE&bf0QtLQUa2sB zf8J`kWt~r<+)xqomL`IbRr@W+N!2MHrd^0r@C>94+qd>4(OWd^K2uf)E-%<^Ls5 z_WTjb=K1sJ-aRJqlcp89BTH+MUxC^H$v%Z=t?a@dS+30U?MyWHMhmBAbbt;D1<=Ax zQu6-OdPB9gb0XtMzK=%}Ch9?_HNwaz;mHq=P1W;ykb5ts&5BhA(?9tuN*J3VNcW#j z`uFp~c{e26NwyE6MH@5FIiuy^=r4S!{jqrRgF?0Pqqh>>H7@LNA@e!2gln|38UwL9DK3LFFmjK-nxj#8VJ&LP7r9IB_ks~!01|M>& n?b3NxZV2x8-+wL^GJ9T%_1#(lPclFf11Pw%*JN_87(M!bpErhA diff --git a/pkgdown/favicon/apple-touch-icon-120x120.png b/pkgdown/favicon/apple-touch-icon-120x120.png index 2f2c698dbdfc3df373a0f46757ce8d61722ebf49..f5872ffcad5fbda7a8ffa6ac6c77b3dff7e507a3 100644 GIT binary patch literal 11565 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 F{{df)`E>vQ diff --git a/pkgdown/favicon/apple-touch-icon-180x180.png b/pkgdown/favicon/apple-touch-icon-180x180.png index 64f75e4b3f1f40017bba51f621d7a388aa5fe315..79ba8b12d116d5faf1ba8f7cd78bdb7a12a828cc 100644 GIT binary patch literal 18958 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 AzyJUM delta 13256 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 LggZ4~;p6`Sah-_a diff --git a/pkgdown/favicon/apple-touch-icon-60x60.png b/pkgdown/favicon/apple-touch-icon-60x60.png index 1b28299aa3f90584bbf441d37e53267a7b16ed22..5d19e3c7abdfe38bfc027a5b05af9be1fa7936a6 100644 GIT binary patch delta 4818 zcmZXXXHZjNw}tsYI?@yb=}15@K)_Iqpg^RCAcE3CdgzfB1c?RdMOu&|NY_Y_BE1(u zLJ=teLO^Pe8l?9x-kJO3&i!>}-kCjTpYuLztyv3#(Gu^1&`fk!m6>k?KPgjDao*C^ zx^Ln-GnR?)u^LMc&+*;bXtrF1#sJJ?01LEy$?ZH0m^UzLXu70ETlS@B0Auo1o8B-X z&CA`3Lk7;#8H_y9cFA?&phuu=vEDGoD;mav!I5!Mm%h{K)&Sfq2vfk%W5m@xFPG3> zHxEZ#=K8w>bb{WCEtP{NQYb07)pskH_6fsU#uNt=7SZ>>bWZYKt>+P(6?!_1naIQg z8$=h_(@v<@GN(T8)POQeemG+aHX-3zuKCtQf{0<9vj~_8~~iuuM4J_sKB@%$5Ld69f!S zF1op;SJ1LFlg_ro3urpu3%DwBl~{xM6n!{T@^Wov$-h01&pmp(u^K@T_Z1IL_&ym7 zR#QZS%Pu;?g@R3{SorFL=%R)g=JsHoEF_N(87D=u&d>b2mDSi!$NGCu`)CGtHnpi~ zen2kpTn^|96ddAmY9eg&V{-YUtv`9bIjyBdHj4axgI>;qk2V_k1K(u06wHhZu{Bdr z${W>&e43wcsP)h#>4bmKwjZCH+od<}3`N^;oYsa_Ychm}Fm}mikQ?v>cIpU3RYz`g zkGtk(`LwZ6fUPBOTcPAN!Um%Ex}wk?AgDGN$QMVNQS>}ffpG zFOm}VHe-HkrkKo+8dsXzpDzHMmCIE)yqeNJF($kRm(>simdjhmcTqUi$9H` zKUmA{^y(}(HzB-@xwcu~r5clep)>yA532L6@uT7Fu0;Uv(W^@*Rd341Y_V)X!psnv+OAE>fg6ybqBeiK42zNGS66 zjQPqXe~}KGo}82w7rCtQN#flHxb4MzK!;P7iQ_k1yXQNCKbC{J;c!$ZdaZQD_#=~O zP09hS)l|5<)alMYIAK3Kq1b+>2x&lb1@KOzeWfRem@z(Z?W#y9LZ3JA6O(MVan7}y z9`6}!yOXBpjJjsWwVQC1Nr5M6C&*7ZkBV|$Av6h5;0uBZ_8_(>FkSHi%MhRwH63Ey zs6NIa@>9C8mt=A=hpq_%=(m~(b,{huF_pZ-09=wpECJh6yMmmxunv}HJc?L*DR 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 diff --git a/pkgdown/favicon/apple-touch-icon-76x76.png b/pkgdown/favicon/apple-touch-icon-76x76.png index 298177b193aceb80d570b6f311cc63bc00210b6d..bd03bac3437947fbaca38b529ec72da7e6df0695 100644 GIT binary patch delta 6335 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 delta 4666 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 diff --git a/pkgdown/favicon/apple-touch-icon.png b/pkgdown/favicon/apple-touch-icon.png index 02ca1dc90b25b82de57639052ad1820acb135ba3..a8be68096b543a963eee3e599b0b56a131362660 100644 GIT binary patch literal 18958 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 diff --git a/pkgdown/favicon/favicon-16x16.png b/pkgdown/favicon/favicon-16x16.png index 49555b050e3555ea4b3c108ab532f6d29ca27ec6..cd6647d5a04f6bce5ecd99473b0da5e50b283227 100644 GIT binary patch delta 991 zcmV<510ejp2*?SLUw;AwP)t-s0000{oy||2%qe`j|Ns9dd$|KZkgwhFsMF>NVZaAW zo4VukwczpvMUXCmy#N5ESgYPupwCmE&L4felf>b}-tNNQ?vlgd8G5>by4<+f>*4SB z;qLdh*z16~+ib1XtI_D!>Gbyc{nzRAtJ3Igu-Pn&!=TLO&VS|d@b~-a@btsl=#;?P zJDk>Zx#G9X*rmG1cfII;!RfWd&d%TIZL!*Lvf9?>@Y(A0Xsp$2uh!h`_1o+9XROuI z=JL?x@?)yhF^cGZm-s@(&*Oc^Y;4u#N6tRyx4QH z*o3^@yxQ&K@PGH>@AtXb>xjSKD1*P1#o@%>?!(^hl*Hj8f4%$t{{R2~{{H^`{r&s; z`uqF)&Cbr%)zr?;&dSQl#>U3b(9qo6+_tr~v9Ynt%*?;Q!MV7&&Ck%Wv$Vs*!_?H& z)6>(z!NSDG$ko-=+S%Fl_4TL9-j%-A_? z{e834zZTc!^!NFXz1ZUH^7;DvOd!?d00017lm7u0e*gnOzr8*KA&KYbhaeGZ*8bIK z5CTWO`ue>_0u;;26c*9Z78cRb78cRb6wAvL0!qRA`@cv66K&c4*J~0ZjOpl#A_POi z!9fEl>i<6g0004EOGiWmk7(IZ00007bV*G`2j>a~6gU{SlIi9E008z$L_t&-(_>%& z0!CpGe^D`U2_^;zU}lh%l8%Xyk(Fa%1#;QgP#_B$z<#_5fs5PI%X`&opn#9B zpFa;T&^LSx0f9j=F~K3B`~pz_3WkM8L`Fpmf!F}|woW2&4kelZ001R)MObuXVRU6W zlX(LS7%?y{Fg8>&Fgi6hIx;jXFfckWFeqQ5){~tB85l7zEig7zGB7$dHaapiD=;uR NFfdsH8fufy18-CUSWN%` delta 879 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 delta 1804 zcmV+n2lM#+5`++td4B^26F4>c62WHx00yN=L_t(o!?jmkY#dh={?5JgvwySe^{!`a z$98Hvq#~e{q^g=qNl+yMEsY9<2vijsDN$4;gw#fTK|J*VAyL}$0757VQX*Q35=z?; z8dN|{+R}(tq*N%hPU9qwliK68*SoX3vpX~QULN)*cCwD`(tn(JncX?}obP_;yXW3Z zSf%}G-+A2bjnG@x$va%`{15;vVgF>S`^A5M5FJ-L4~?!W9<9{zACJuAZ(Yx0q_!zn zH2g4l)kF);@}&I%T%nuCm(dV z^SI0NcluP}3xE9#6&IGszH15l*|ZoqR$;~J?#XRP9KU&rn|}TM{`Zj(Y5uYC!Ilzp z4!C^g{u(Pq6-0-j3IvXbOnR2+c{M5RXZrllp04mYvHRf0C3CP&f1cPo0reFHkIk<; zA36Qhv^MrqUca!*V}+=KTmm;iLBeB&XkNdtYg!w7>3@9W?Wd}2ex3TV!il{T%QNt= z?^JOrbsToEHdEvuKkRbn`(>72A5wiq^}OCRWg;Q7W0tUg*(Lg(bM#BI+lmih^KWB| z0jRqap4)sHF_DbSY7_Ul+&SR#nS1I~);>|@>&#S%&=NgwTf%-i6At~Q%1gC}&u#&| zL7>Bro`1w!i9@)%^4(2kmVctmov(SU7?+Sugaie3Lr?_;YCf&^mLCxTsxdvK6qHh6 z#1WOLN>bV{$3^yM??;cF*2rt7e?IrQcF@!zrkzz=*>eHWqb$DoJ-fYu^(;f#IXN771xh~WD^ zlz##kV-QjxnMlDf3{_lKGg;eQ`u z)|-N?NDTB1wr52|n4XzJ5Kf{m*AEW9e8|-SXmJVHnH&Hh3`1~!tyfqHtI<2uileoS zt<Nlu$~7h#HCM76Q0o{c;Uq7&cmd zlbxmZjZcSxR)PgHBu2o3W!Bz=Zhsko1r$puz!?YUT3Zi9pO}FLh06_90E7se02CNw zAfm=TA)2BTvay-nBt{1SN^zyvxYCw{K}7I850@q{LP!C|u93%xHG99nm8r`pm5YnI z>B96}Y0#8W12w2*0Pxu0K;4o(PiDj6Kg49(BQSJoxv^*rYcj)NiZ22Hpnv^4*WHh# znYnJb0)ZhW(_S_lKAMo(C!fvjsJFTI?o)VS?VE_pRBVnEe4KPSh4!8%UcosGc`J4 z^h6`j=|@V{bE$V;7^;8n^?#D=+Ee1r_bP05B&1psf`p&|jbr%|H70>j`B0G1m5I2_ zjwglvtEA{Xa@joVY^-j@mLo~*X_dB9kmLKt@rBAT{WW#!_7b1|fyav%-quw-0VwGRLx4v#YxlUbX)YOLSWW?aDV? z<~&yB`8#~7E>fYPVlpAJ?^)9Rc{*J4N0%4M_dEBZ|Hc2~YPQf$?#bh5_NTbp{d#|i zPwg#nXMcsw4FN!0c1KSng?%t7dVljz>y@j!^G{&=;p~dyt{6beUfwr`-e4U&8-4xG zGN1Vo09c~u#~ZwR-<{IWsRs|OUsb&S0Zrl!yNskpPLrz$85l4#Eig7zF*!OlHaayk uD=;uRFfiKq2c47L2pJeKGc7PSR53X^H8wgmGb=DKIxsM+rN1GQ4GC{)uv#|& diff --git a/pkgdown/favicon/favicon.ico b/pkgdown/favicon/favicon.ico index 9d550a564ebba93f3b5597fc55833fab162013a5..4a1285e33e6a3780b420697c58fe4196954f1983 100644 GIT binary patch literal 15086 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 literal 15086 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 Z{*c&zWk%J>u2LwgU8DdFwA7*Qe*jFjNU{I` diff --git a/vignettes/generate-closure.Rmd b/vignettes/generate-closure.Rmd index 967f60ae..4e8fce0d 100644 --- a/vignettes/generate-closure.Rmd +++ b/vignettes/generate-closure.Rmd @@ -31,9 +31,10 @@ library(bench) library(gt) ``` -@R-base +# Motivating example # Motivating example + Consider a simple successive graph with four hypotheses. It has two primary hypotheses $H_1$ and $H_2$ and two secondary hypotheses $H_3$ and $H_4$. Initially, hypothesis weights are split equally between $H_1$ and $H_2$ with 0.5. Hypotheses $H_3$ and $H_4$ receive 0 hypothesis weights because $H_3 (H_4)$ is tested only if $H_1 (H_2)$ is rejected. Thus there is an edge from $H_1 (H_2)$ to $H_3 (H_4)$ with a transition weight of 1. When both $H_1$ and $H_3$ are rejected, their hypothesis weights are propagated to $H_2$; similarly, when both $H_2$ and $H_4$ are rejected, their hypothesis weights are propagated to $H_1$. Thus there is an edge from $H_3 (H_4)$ to $H_2 (H_1)$ with a transition weight of 1. A graphical multiple comparison procedure is illustrated below. ```{r base-graph-1, fig.dim=c(3, 3)} @@ -51,6 +52,7 @@ weighting_strategy <- graph_generate_weights(ss_graph) matrix_intersections <- weighting_strategy[, seq_along(ss_graph$hypotheses)] matrix_intersections ``` + ## Calculating the weighting strategy Given the closure, one can calculate the hypothesis weight associated with every hypothesis in every intersection hypothesis using Algorithm 1 [@bretz-2011-graphical]. The whole collection of hypothesis weights is called a weighting strategy. For example, hypothesis weights are $(0.5, 0.5, 0, 0)$ for the intersection hypothesis $H_1\cap H_2 \cap H_3\cap H_4$. Then hypothesis weights for the intersection hypothesis $H_1\cap H_2 \cap H_3$ are $(0.5, 0.5, 0, 0)$, which can be calculated by removing $H_4$ from the initial graph and applying Algorithm 1 [@bretz-2011-graphical]. The algorithm calculates hypothesis weights in a step-by-step fashion. For example, for the intersection hypothesis $H_1\cap H_2$, it can start from $H_1\cap H_2 \cap H_3\cap H_4$ and calculates hypothesis weights for $H_1\cap H_2 \cap H_3$ by removing $H_4$ and then calculates hypothesis weights for $H_1\cap H_2$ by removing $H_3$; it can also start from $H_1\cap H_2 \cap H_3$ (assuming its hypotheses weights are stored) and calculates hypothesis weights for $H_1\cap H_2$ by removing $H_3$. Therefore, there are two strategies to calculate the weighting strategy. @@ -61,20 +63,24 @@ matrix_weights ``` ### Approach 1: Simple approach + The first strategy utilizes the initial graph as the starting point and calculates hypothesis weights for all other intersection hypotheses. For example, to calculate hypothesis weights for $H_1\cap H_2$, it will start with the intersection hypothesis $H_1\cap H_2 \cap H_3\cap H_4$ and sequentially remove $H_4$ and $H_3$ (or in the other order). This approach is simple to implement since hypothesis weights for $H_1\cap H_2 \cap H_3\cap H_4$ are determined by the initial graph and always available. This approach is similar to the one implemented in the `gMCP` R package. The drawback is that it does not use other information to reduce the number of calculations. For example, it is possible that hypothesis weights for $H_1\cap H_2 \cap H_3$ have been calculated when calculating for $H_1\cap H_2$. Using the information from $H_1\cap H_2 \cap H_3$ would only need the one-step calculation, compared to the two-step calculation using $H_1\cap H_2 \cap H_3\cap H_4$. ### Approach 2: Parent-child approach + This approach tries to avoid the drawback of Approach 1 by saving intermediate graphs. Then it only performs one-step calculation which could save time. In general, an intersection hypothesis has a parent intersection hypothesis, which involves all hypotheses involved in the first intersection and has one extra hypothesis. For example, the second row of `matrix_intersections` is $H_1\cap H_2 \cap H_3$ and its parent intersection is $H_1\cap H_2 \cap H_3\cap H_4$ in the first row; the third row of `matrix_intersections` is $H_1\cap H_2 \cap H_4$ and its parent intersection is $H_1\cap H_2 \cap H_3\cap H_4$ in the first row. Thus we can identify the parent intersection hypothesis for each row in `matrix_intersections` (except row 1) as the row number 1, 1, 2, 1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7. Given this sequence of parent hypotheses, it is simple to obtain hypothesis weights for an intersection hypothesis based on its parent intersection hypothesis via one-step calculation. It is of interest to understand this pattern and obtain it efficiently. First, between the bottom half (rows 9 - 15) and top half (rows 1 - 7), each row's parent in the bottom half is the corresponding row in the top half, eight rows up, because the only difference is the flipping of $H_1$ from 1 in the top half to 0 in the bottom half. For example, row 15's parent is in row 15 - 8 = 7. Using this observation, we can determine parent hypotheses for rows from 9 to 15 as 1, 2, 3, 4, 5, 6, 7. A similar pattern can be observed for rows from 5 to 8. Their parent hypotheses are in rows 1, 2, 3, 4, respectively, by flipping $H_2$ from 1 to 0. For rows 3 - 4, their parent hypotheses are in rows 1, 2, respectively, by flipping $H_3$ from 1 to 0. Lastly for row 2, its parent hypothesis is in row 1. The row number of the parent hypothesis can be efficiently generated by running `do.call(c, lapply(2^(seq_len(m) - 1), seq_len))[-2^m, ]`, where $m$ is the number of hypotheses. + ## Comparing different approaches to calculating weighting strategies + To benchmark against existing approaches to calculating weighting strategies, we compare the following approaches: [gMCP::generateWeights()] [@rohmeyer-2020-gmcp], [lrstat::fwgtmat()] [lu-2016-graphical], Approach 1 (graphicalMCP simple) and Approach 2 (graphicalMCP parent-child). Random graphs are generated for the numbers of hypotheses of 4, 8, 12, and 16. Computing time (in median log-10 milliseconds) is plotted below. We can see that [gMCP::generateWeights()] is the slowest and [lrstat::fwgtmat()] is the fastest. Approach 2 (graphicalMCP parent-child) is faster than Approach 1 (graphicalMCP simple). Note that [lrstat::fwgtmat()] implements the calculation using C++, which is known to be faster than R. But it is less stable than other approaches, e.g., giving errors more often than others. Given that the computing time of R-based approaches is acceptable, adding Rcpp dependency is not considered in `graphicalMCP`. For these considerations, we implement Approach 2 in [graphicalMCP::graph_generate_weights()]. ![](img/gw-benchmarks-plot.png) -```{r gw-benchmarks-functions, eval = FALSE} +```{r gw-benchmarks-functions, eval=FALSE} ggw_simple <- function(graph) { num_hyps <- length(graph$hypotheses) @@ -92,97 +98,6 @@ ggw_simple <- function(graph) { cbind(matrix_intersections, do.call(rbind, matrix_weights)) } -delete_nodes_recursive <- function(graph, last = 0) { - init_hypotheses <- hypotheses <- graph$hypotheses - init_transitions <- transitions <- graph$transitions - - ### base case - int_hyp <- as.integer(names(hypotheses)) - - is_single_node <- length(hypotheses) == 1 - last_is_bigger <- last > max(int_hyp) - - if (is_single_node || last_is_bigger) { - return(list(graph)) - } - - ### recursive step - children <- list() - - for (orig_hyp_num in int_hyp[int_hyp > last]) { - del_index <- match(orig_hyp_num, int_hyp) - hyp_nums <- seq_along(hypotheses)[seq_along(hypotheses) != del_index] - - for (hyp_num in hyp_nums) { - hypotheses[[hyp_num]] <- - init_hypotheses[[hyp_num]] + - init_hypotheses[[del_index]] * init_transitions[[del_index, hyp_num]] - - denominator <- 1 - init_transitions[[hyp_num, del_index]] * - init_transitions[[del_index, hyp_num]] - - for (end_num in hyp_nums) { - if (hyp_num == end_num || denominator <= 0) { - transitions[[hyp_num, end_num]] <- 0 - } else { - transitions[[hyp_num, end_num]] <- ( - init_transitions[[hyp_num, end_num]] + - init_transitions[[hyp_num, del_index]] * - init_transitions[[del_index, end_num]] - ) / denominator - } - } - } - - smaller_graph <- structure( - list( - hypotheses = hypotheses[-del_index], - transitions = as.matrix(transitions[-del_index, -del_index]) - ), - class = "initial_graph" - ) - - children[[del_index]] <- delete_nodes_recursive( - smaller_graph, - orig_hyp_num - ) - } - - c( - unlist(children, recursive = FALSE), - list(graph) - ) -} - -ggw_recursive <- function(graph) { - # The recursion requires the hypotheses to be named sequentially as actual - # numbers for the memory property to work - hyp_names <- names(graph$hypotheses) - names(graph$hypotheses) <- seq_along(graph$hypotheses) - colnames(graph$transitions) <- names(graph$hypotheses) - rownames(graph$transitions) <- names(graph$hypotheses) - - # Recursively generate a list of all sub-graphs - list_subgraphs <- delete_nodes_recursive(graph) - - # Process the list of graphs into the normal matrix form - matrix_weights <- structure( - do.call( - rbind, - lapply( - list_subgraphs, - function(graph) graph$hypotheses[as.character(seq_along(hyp_names))] - ) - ), - dimnames = list(1:(2^length(hyp_names) - 1), hyp_names) - ) - - matrix_intersections <- !is.na(matrix_weights) - matrix_weights[is.na(matrix_weights)] <- 0 - - cbind(matrix_intersections, matrix_weights) -} - vec_num_hyps <- 2:8 * 2 benchmark_list <- lapply( @@ -205,7 +120,6 @@ benchmark_list <- lapply( benchmark <- mark( gMCP = generateWeights(graph$transitions, graph$hypotheses), `graphicalMCP simple` = ggw_simple(graph), - `graphicalMCP recursive` = ggw_recursive(graph), `graphicalMCP parent-child` = graph_generate_weights(graph), # lrstat still errors with graphs occasionally for unknown reasons lrstat = if (!num_hyps %in% c(10, 14)) { @@ -246,9 +160,10 @@ write.csv( ) ``` -```{r plot-gw-benchmarks, fig.dim=c(8, 5), eval = FALSE} +```{r plot-gw-benchmarks, fig.dim=c(8, 5), eval=FALSE} benchmarks <- read.csv(here::here("vignettes/cache/gw_benchmarks.csv")) benchmarks <- subset(benchmarks, char_expression != "graphicalMCP recursive") + benchmarks$char_expression <- factor(benchmarks$char_expression, levels = c( "gMCP", @@ -257,6 +172,7 @@ benchmarks$char_expression <- factor(benchmarks$char_expression, "lrstat" ) ) + benchmarks_plot_standard <- ggplot(benchmarks, aes(num_hyps, median, color = char_expression)) + geom_point(size = 2) + @@ -275,6 +191,7 @@ benchmarks_plot_standard <- labels = c("0", "0.1", "1", "10", "100", "1,000", "100,000") ) + labs(subtitle = "Log10(median runtime) in milliseconds") + benchmarks_plot_standard ``` @@ -283,13 +200,14 @@ benchmarks_plot_standard ## Conventional approach for power simulations The conventional approach for power simulations is to repeat the following process many times, e.g., 100,000 times. + 1. Simulate a set of p-values 2. Run the graphical multiple comparison procedure to + Determine which hypothesis can be rejected + Remove the rejected hypothesis and update the graph + Repeat until no more hypotheses can be rejected -Note that the same step to update the graph may repeat in many replications, whichmay be repetitive. For $m$ hypotheses, there are at most $2^m-1$ graphs depending -on which hypotheses are rejected. These graphs corresponds to the closure and the weighting strategy. Thus an idea to avoid redundant updating of graphs is to utilize the weighting strategy. + +Note that the same step to update the graph may repeat in many replications, whichmay be repetitive. For $m$ hypotheses, there are at most $2^m-1$ graphs depending on which hypotheses are rejected. These graphs correspond to the closure and the weighting strategy. Thus an idea to avoid redundant updating of graphs is to utilize the weighting strategy. ```{r power-conventional, eval = FALSE} gcp_conventional <- function( @@ -416,18 +334,22 @@ gcp_conventional <- function( ``` ## Power simulations using parent-child relationships + The key to allow this approach is to efficiently identify the row of the weighting strategy, given which hypotheses are rejected. Remembering the pattern we found for Approach 2, the bottom half (rows 9 - 15) of `matrix_intersections` is the same as the top half (rows 1 - 7), except flipping $H_1$ from 1 to 0. This means that if $H_1$ has not been rejected (1 for $H_1$ in `matrix_intersections`), the row number of that index should be in the top half. For example, assume that $H_2$ and $H_4$ have been rejected and the index in `matrix_intersections` should be $(1, 0, 1, 0)$. Since $H_1$ is 1, the corresponding row should be in the top half (rows 1- 7). But $H_2$ is 0 and thus the corresponding row should be in the bottom half within the top half (rows 5 - 7). Since $H_3$ is 1 and thus the corresponding row should be in the top half (rows 5 - 6). But $H_4$ is 0 and thus the corresponding row should be 6. A useful way to calculate the row number for an index of XXXX is `2^m - sum(XXXX * 2^(m:1 - 1))`. For example for XXXX=1010, its row number should be `(1 - 1) * 8 + (1 - 0) * 4 + (1 - 1) * 2 + (1 - 0) * 1 + 1 = 16 - 10 = 6`. With the above way of efficiently identifying rows of `weighting_strategy`, power simulations could be implemented as follows: + 1. Obtain the weighting strategy (once for all simulations) 2. Simulate a set of p-values 3. Run the graphical multiple comparison procedure to + Determine which hypothesis can be rejected + Remove the rejected hypothesis and identify the row of the weighting strategy + Repeat until no more hypotheses can be rejected -The small modification in Step 3b make this approach much faster than the conventional approach for power simulations. + +The small modification in Step 3b makes this approach much faster than the conventional approach for power simulations. ## Comparing different approaches to power simulations + To benchmark against existing approaches to calculating weighting strategies, we compare the following approaches: [gMCP::calcPower()], Approach 1 (graphicalMCP conventional), and Approach 2 (graphicalMCP parent-child). Both Holm and fixed sequence procedures are considered with the numbers of hypotheses of 4, 8, 12, and 16. Computing time (in median log-10 seconds) is plotted below. We can see that [gMCP::calcPower()] is the fastest and Approach 1 (graphicalMCP conventional) is the lowest. Note that [gMCP::calcPower()] implements the simulation using C, which is known to be faster than R but is not easy to extend to other situations. Given that the computing time of Approach 2 (graphicalMCP parent-child) is acceptable, we implement it in [graphicalMCP::graph_calculate_power()]. ![](img/power-benchmarks-plot.png) @@ -567,7 +489,7 @@ write.csv( ) ``` -```{r plot-power-benchmarks, fig.dim=c(8, 5), eval = FALSE} +```{r plot-power-benchmarks, fig.dim=c(8, 5), eval=FALSE} benchmarks_holm <- read.csv(here::here("vignettes/cache/power_benchmarks_holm.csv")) benchmarks_fixed_sequence <- @@ -610,646 +532,3 @@ benchmarks_plot_standard <- labs(subtitle = "Log10(median runtime) in seconds 2^14=16,384 simulations") benchmarks_plot_standard ``` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/vignettes/glossary.Rmd b/vignettes/glossary.Rmd new file mode 100644 index 00000000..8d8425d4 --- /dev/null +++ b/vignettes/glossary.Rmd @@ -0,0 +1,69 @@ +--- +title: "Glossary of terms" +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{Glossary of terms} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>" +) +``` + +This package seeks to be both accurate and performant, of course. But beyond that, much thought has been put into the readability of the code. Whether being read by a user validating our methods, a developer extending the package to new uses, or a contributor helping enhance the core functionality, we hope that the code contained here can serve as an educational document to grow people's understanding of the graphical approach to multiple comparison procedures. + +To that end, there are several entities encountered in the world of graphical MCPs that we define here. Some of these are used only in the internal code of the package, but most are inputs or output in one or more exported functions. If you believe any definitions could be clarified or improved, please contact the package authors or submit an issue to the GitHub repository. + ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| Entity | Definition | Aliases | Variable(s) | Related | ++=================================+====================================================================================================================================================================================================================+=======================================+=================================+=================================+ +| **Graph** | A set of nodes and edges representing a clinical trial design | | `graph` | Hypotheses, Transitions | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| | **Graphs** are so central that two of their core qualities get their own common variable names: Hypothesis names, and number of hypotheses | | `hyp_names`, `num_hyps` | | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| **Hypotheses** | The weighted nodes in a **graph**. Each node represents a null hypothesis corresponding to a treatment endpoint, and its weight the local significance level. | weights, hypothesis weights | `hypotheses` | Weighting strategy, Transitions | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| **Transitions** | The weighted edges in a **graph**. Each edge defines how to propagate local significance when a source node is deleted. | | `transitions` | Hypotheses | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| **Intersection** **hypothesis** | A subset of **hypotheses** from a **graph**. Plural often implies all such subsets. | intersection, sub-graph(s), closure | `intersections` | Weighting strategy | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| **Weighting strategy** | The set of all **intersections** and their **weights** according to Algorithm 1 in Bretz et al (2011) | intersection weights, closure weights | `weighting_strategy` | | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| **Adjusted weights** | The set of **weights**, adjusted according to a testing algorithm: | | `adjusted_weights` | | +| | | | | | +| | - Bonferroni: No change | | | | +| | - Simes: Sum weights for hypotheses with smaller p-values | | | | +| | - Parametric: Multiply weights by c-value, based on the joint distribution | | | | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| **P-values** | The set of p-values from a real or simulated clinical trial | | `p` | Adjusted & ordered p-values | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| **Ordered p-values** | **P-values** sorted from smallest to largest | | `ordered_p` | (Adjusted) P-values | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| **Adjusted p-values** | **P-values** that have been divided by **adjusted weights**, allowing direct comparison to **alpha** to determine significance | | `adjusted_p` | (Ordered) P-values | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| **Significance level** | The threshold chosen for results of a clinical trial to be considered significant | | `alpha` | P-values | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| **Test types** | A specification of which testing algorithm to use - Bonferroni, Simes, and parametric are supported | tests | `test_types` | Testing strategy | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| **Test groups** | A partition of nodes in a **graph** specifying which **hypotheses** should be tested together | groups | `groups`, `test_groups` | Testing strategy | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| **Testing strategy** | **Test types** and **test groups** combined | | | | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| **Marginal power** | The power to reject each null **hypothesis** at full **alpha**. Closely related to the non-centrality parameter, which is the mean of each null **hypothesis** in the underlying multivariate normal distribution: | | `marginal_power` | Correlation matrix | +| | | | | | +| | `ncp = qnorm(1 - alpha) - qnorm(1 - marginal_power)` | | | | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| **Correlation matrix** | Specification of correlations between **hypotheses**. Together with **marginal power**, this specifies the (known or assumed) underlying multivariate normal distribution of the null **hypotheses**. | | `corr`, `test_corr`, `sim_corr` | Marginal power | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| **Success** | A specification of which null **hypotheses** must be rejected to consider a clinical trial a success | | `sim_success` | | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| **Power** | Under a given **graph**, **testing strategy**, **significance level**, and underlying distribution, the estimated likelihood that a particular combination of null hypotheses will be rejected | | `power_*` | Success | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| *Delete a **hypothesis*** | Remove a **hypothesis** from a graph, and update the graph according to algorithm 1 of Bretz et al. (2011) | | N/A | Reject a hypothesis | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ +| *Reject a **hypothesis*** | Under a given **graph**, **testing strategy**, and **significance level**, find a hypothesis (clinical endpoint) to be statistically significant, such that the null hypothesis can be rejected | | | Delete a hypothesis | ++---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ diff --git a/vignettes/graph-examples.Rmd b/vignettes/graph-examples.Rmd index 4b8c8071..5157ab96 100644 --- a/vignettes/graph-examples.Rmd +++ b/vignettes/graph-examples.Rmd @@ -43,7 +43,8 @@ bonferroni_graph <- bonferroni(m) plot( bonferroni_graph, - layout = igraph::layout_in_circle(as_igraph(bonferroni_graph), + layout = igraph::layout_in_circle( + as_igraph(bonferroni_graph), order = c(2, 1, 3) ), vertex.size = 70 @@ -75,7 +76,8 @@ holm_graph <- bonferroni_holm(m) # holm_graph <- graph_create(rep(1 / m, m), transitions) plot(holm_graph, - layout = igraph::layout_in_circle(as_igraph(holm_graph), + layout = igraph::layout_in_circle( + as_igraph(holm_graph), order = c(2, 1, 3) ), vertex.size = 70 @@ -388,7 +390,8 @@ hommel_graph <- bonferroni_holm(m) plot( hommel_graph, - layout = igraph::layout_in_circle(as_igraph(hommel_graph), + layout = igraph::layout_in_circle( + as_igraph(hommel_graph), order = c(2, 1, 3) ), vertex.size = 70 @@ -406,7 +409,7 @@ test_results <- graph_test_closure( test_results$outputs$rejected ``` -# parametric procedures +# Parametric procedures ## Dunnett procedure @@ -420,7 +423,8 @@ dunnett_graph <- bonferroni_holm(m) plot( dunnett_graph, - layout = igraph::layout_in_circle(as_igraph(dunnett_graph), + layout = igraph::layout_in_circle( + as_igraph(dunnett_graph), order = c(2, 1, 3) ), vertex.size = 70 diff --git a/vignettes/graphicalMCP.Rmd b/vignettes/graphicalMCP.Rmd index 8a50b277..9e7e8aa5 100644 --- a/vignettes/graphicalMCP.Rmd +++ b/vignettes/graphicalMCP.Rmd @@ -23,16 +23,7 @@ knitr::opts_chunk$set( Graphical approaches for multiple comparison procedures (MCPs) are a general framework to control the familywise error rate strongly as a pre-specified significance level $0<\alpha<1$. This approach includes many commonly used MCPs as special cases and is transparent in visualizing MCPs for better communications. `graphicalMCP` is designed to design and analyze graphical MCPs in a flexible, informative and efficient way. -# Installation - -`graphicalMCP` is current not on CRAN but can be installed from GitHub using the follow code: - -```{r eval = FALSE} -# install.packages("pak") -pak::pak("Gilead-BioStats/graphicalMCP@dev") -``` - -# Graphs +# Basic usage ## Initial graph @@ -62,8 +53,10 @@ plot(example_graph, vertex.size = 60) When a hypothesis is removed from the graph, hypothesis and transition weights of remaining hypotheses should be updated according to Algorithm 1 in @bretz-2011-tests. For example, assume that hypotheses H1, H2 and H4 are removed from the graph. The updated graph after removing three hypotheses is below. ```{r update-graph} -updated_example <- graph_update(example_graph, - delete = c(TRUE, TRUE, FALSE, TRUE)) +updated_example <- graph_update( + example_graph, + delete = c(TRUE, TRUE, FALSE, TRUE) +) updated_example ``` @@ -76,6 +69,7 @@ plot(updated_example, vertex.size = 60) Given the set of p-values of all hypotheses, graphical MCPs can be performed using `graph_test_shortcut()` to determine which hypotheses can be rejected at the significance level `alpha`. Assume p-values are 0.01, 0.005, 0.03, and 0.01 for hypotheses H1-H4. With a one-sided significance level `alpha = 0.025`, rejected hypotheses are H1, H2, and H4. More details about the shortcut testing can be found in `vignette("shortcut-testing")`. + ```{r test-graph-shortcut} test_results <- graph_test_shortcut( example_graph, @@ -112,62 +106,3 @@ power_results$power$power_local ``` # References - -################################################################################ - -# Glossary of terms {#glossary-of-terms} - -This package seeks to be both accurate and performant, of course. But beyond that, much thought has been put into the readability of the code. Whether being read by a user validating our methods, a developer extending the package to new uses, or a contributor helping enhance the core functionality, we hope that the code contained here can serve as an educational document to grow people's understanding of the graphical approach to multiple comparison procedures. - -To that end, there are several entities encountered in the world of graphical MCPs that we define here. Some of these are used only in the internal code of the package, but most are inputs or output in one or more exported functions. If you believe any definitions could be clarified or improved, please contact the package authors or submit an issue to the GitHub repository. - -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| Entity | Definition | Aliases | Variable(s) | Related | -+=================================+====================================================================================================================================================================================================================+=======================================+=================================+=================================+ -| **Graph** | A set of nodes and edges representing a clinical trial design | | `graph` | Hypotheses, Transitions | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| | **Graphs** are so central that two of their core qualities get their own common variable names: Hypothesis names, and number of hypotheses | | `hyp_names`, `num_hyps` | | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Hypotheses** | The weighted nodes in a **graph**. Each node represents a null hypothesis corresponding to a treatment endpoint, and its weight the local significance level. | weights, hypothesis weights | `hypotheses` | Weighting strategy, Transitions | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Transitions** | The weighted edges in a **graph**. Each edge defines how to propagate local significance when a source node is deleted. | | `transitions` | Hypotheses | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Intersection** **hypothesis** | A subset of **hypotheses** from a **graph**. Plural often implies all such subsets. | intersection, sub-graph(s), closure | `intersections` | Weighting strategy | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Weighting strategy** | The set of all **intersections** and their **weights** according to Algorithm 1 in Bretz et al (2011) | intersection weights, closure weights | `weighting_strategy` | | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Adjusted weights** | The set of **weights**, adjusted according to a testing algorithm: | | `adjusted_weights` | | -| | | | | | -| | - Bonferroni: No change | | | | -| | - Simes: Sum weights for hypotheses with smaller p-values | | | | -| | - Parametric: Multiply weights by c-value, based on the joint distribution | | | | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **P-values** | The set of p-values from a real or simulated clinical trial | | `p` | Adjusted & ordered p-values | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Ordered p-values** | **P-values** sorted from smallest to largest | | `ordered_p` | (Adjusted) P-values | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Adjusted p-values** | **P-values** that have been divided by **adjusted weights**, allowing direct comparison to **alpha** to determine significance | | `adjusted_p` | (Ordered) P-values | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Significance level** | The threshold chosen for results of a clinical trial to be considered significant | | `alpha` | P-values | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Test types** | A specification of which testing algorithm to use - Bonferroni, Simes, and parametric are supported | tests | `test_types` | Testing strategy | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Test groups** | A partition of nodes in a **graph** specifying which **hypotheses** should be tested together | groups | `groups`, `test_groups` | Testing strategy | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Testing strategy** | **Test types** and **test groups** combined | | | | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Marginal power** | The power to reject each null **hypothesis** at full **alpha**. Closely related to the non-centrality parameter, which is the mean of each null **hypothesis** in the underlying multivariate normal distribution: | | `marginal_power` | Correlation matrix | -| | | | | | -| | `ncp = qnorm(1 - alpha) - qnorm(1 - marginal_power)` | | | | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Correlation matrix** | Specification of correlations between **hypotheses**. Together with **marginal power**, this specifies the (known or assumed) underlying multivariate normal distribution of the null **hypotheses**. | | `corr`, `test_corr`, `sim_corr` | Marginal power | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Success** | A specification of which null **hypotheses** must be rejected to consider a clinical trial a success | | `sim_success` | | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| **Power** | Under a given **graph**, **testing strategy**, **significance level**, and underlying distribution, the estimated likelihood that a particular combination of null hypotheses will be rejected | | `power_*` | Success | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| *Delete a **hypothesis*** | Remove a **hypothesis** from a graph, and update the graph according to algorithm 1 of Bretz et al. (2011) | | N/A | Reject a hypothesis | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ -| *Reject a **hypothesis*** | Under a given **graph**, **testing strategy**, and **significance level**, find a hypothesis (clinical endpoint) to be statistically significant, such that the null hypothesis can be rejected | | | Delete a hypothesis | -+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+---------------------------------+---------------------------------+ - diff --git a/vignettes/validation.Rmd b/vignettes/validation.Rmd index 98f3981f..fa5f3c8a 100644 --- a/vignettes/validation.Rmd +++ b/vignettes/validation.Rmd @@ -1,11 +1,11 @@ --- -title: "Validation" +title: "Validation of methods against existing packages" output: rmarkdown::html_vignette bibliography: "`r system.file('references.bib', package='graphicalMCP')`" nocite: | @bretz-2009-graphs, @bretz-2011-tests, @bretz-2011-power vignette: > - %\VignetteIndexEntry{Validation} + %\VignetteIndexEntry{Validation of methods against existing packages} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- From 4109989b11956589b886b04abbe5dcc5ffec4ba6 Mon Sep 17 00:00:00 2001 From: EeethB Date: Tue, 10 Oct 2023 21:54:46 +0000 Subject: [PATCH 2/3] Update verbose and test values intersections --- .github/workflows/pkgdown.yaml | 4 +- NAMESPACE | 1 + R/example_graphs.R | 16 +- R/graph_test_closure.R | 20 ++- R/print.graph_report.R | 14 +- man/example-graphs.Rd | 5 +- tests/testthat/_snaps/print.graph_report.md | 168 ++++++++++---------- tests/testthat/test-graph_test_closure.R | 20 ++- 8 files changed, 123 insertions(+), 125 deletions(-) diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml index 199a3fa2..51e0c343 100644 --- a/.github/workflows/pkgdown.yaml +++ b/.github/workflows/pkgdown.yaml @@ -2,9 +2,9 @@ # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help on: push: - branches: [miscellaneous, feature-pkgdown, dev, main, release] + branches: [dev, main, release] pull_request: - branches: [feature-power, dev, main, release] + branches: [dev, main, release] release: types: [published] workflow_dispatch: diff --git a/NAMESPACE b/NAMESPACE index 23d571c6..f4325652 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -13,6 +13,7 @@ S3method(print,updated_graph) export(as_graphMCP) export(as_igraph) export(as_initial_graph) +export(bonferroni) export(bonferroni_holm) export(complex_example_1) export(complex_example_2) diff --git a/R/example_graphs.R b/R/example_graphs.R index abebd650..f26d1da0 100644 --- a/R/example_graphs.R +++ b/R/example_graphs.R @@ -15,20 +15,6 @@ #' #' @examples #' bonferroni_holm(3, hyp_names = paste("dose", letters[1:3])) -bonferroni_holm <- function(num_hyps, hyp_names = NULL) { - stopifnot( - "num_hyps must be an integer" = is.numeric(num_hyps), - "names must match size of desired graph" = - (num_hyps == length(hyp_names) || is.null(hyp_names)) - ) - - hypotheses <- rep(1 / num_hyps, num_hyps) - - graph_create(hypotheses, matrix(0, num_hyps, num_hyps), hyp_names = hyp_names) -} - -#' @export -#' @rdname example-graphs bonferroni <- function(num_hyps, hyp_names = NULL) { stopifnot( "num_hyps must be an integer" = is.numeric(num_hyps), @@ -36,7 +22,7 @@ bonferroni <- function(num_hyps, hyp_names = NULL) { (num_hyps == length(hyp_names) || is.null(hyp_names)) ) - transitions <- matrix(0, nrow = num_hyps) + transitions <- matrix(0, num_hyps, num_hyps) hypotheses <- rep(1 / num_hyps, num_hyps) diff --git a/R/graph_test_closure.R b/R/graph_test_closure.R index ad24bcd3..dbb97a11 100644 --- a/R/graph_test_closure.R +++ b/R/graph_test_closure.R @@ -228,12 +228,15 @@ graph_test_closure <- function(graph, # Adjusted p-value details --------------------------------------------------- # Reported adjusted p-values shouldn't exceed 1 + intersections <- apply(matrix_intersections, 1, paste, collapse = "") + detail_results <- list( results = cbind( + data.frame(Intersection = intersections), weighting_strategy_compact, pmin(adjusted_p, 1 + 1e-14), - adj_p_inter = pmin(adjusted_p_intersection, 1 + 1e-14), - reject_intersection = reject_intersection + data.frame(adj_p_inter = pmin(adjusted_p_intersection, 1 + 1e-14)), + data.frame(reject_intersection = reject_intersection) ) ) @@ -246,7 +249,7 @@ graph_test_closure <- function(graph, test_values_index <- 1 test_values_list <- vector("list", num_intersections * num_groups) - # adjusted weights are calculated for each group in each intersection of the + # Adjusted weights are calculated for each group in each intersection of the # closure for (intersection_index in seq_len(num_intersections)) { vec_intersection <- @@ -254,6 +257,8 @@ graph_test_closure <- function(graph, vec_weights <- weighting_strategy_compact[intersection_index, , drop = TRUE] + str_intersection <- paste(vec_intersection, collapse = "") + for (group_index in seq_len(num_groups)) { group <- test_groups[[group_index]] test <- test_types[[group_index]] @@ -271,21 +276,21 @@ graph_test_closure <- function(graph, p[group_by_intersection], vec_weights[group_by_intersection], alpha, - intersection_index + str_intersection ) } else if (test == "simes") { test_values_list[[test_values_index]] <- test_values_simes( p[group_by_intersection], vec_weights[group_by_intersection], alpha, - intersection_index + str_intersection ) } else if (test == "parametric") { test_values_list[[test_values_index]] <- test_values_parametric( p[group_by_intersection], vec_weights[group_by_intersection], alpha, - intersection_index, + str_intersection, test_corr[group_by_intersection, group_by_intersection, drop = FALSE @@ -300,6 +305,9 @@ graph_test_closure <- function(graph, } df_test_values <- do.call(rbind, test_values_list) + rownames(df_test_values) <- NULL + + # "c" value is only used in parametric testing, so there's no need to # include this column when there are no parametric groups diff --git a/R/print.graph_report.R b/R/print.graph_report.R index e6b0544f..88b47113 100644 --- a/R/print.graph_report.R +++ b/R/print.graph_report.R @@ -119,11 +119,15 @@ print.graph_report <- function(x, ..., precision = 4, indent = 2, rows = 10) { # Adjusted p/rejection sequence details -------------------------------------- if (!is.null(x$details)) { - if (is.matrix(x$details$results)) { - df_details <- as.data.frame(format(x$details$results, digits = precision)) - df_details$reject_intersection <- - as.logical(as.numeric(df_details$reject_intersection)) - df_details <- cbind(Intersection = rownames(df_details), df_details) + if (is.data.frame(x$details$results)) { + df_details <- x$details$results + + for (col_num in seq_along(df_details)) { + if (is.numeric(df_details[[col_num]])) { + df_details[[col_num]] <- + format(df_details[[col_num]], digits = precision) + } + } max_print_old <- getOption("max.print") options(max.print = 99999) diff --git a/man/example-graphs.Rd b/man/example-graphs.Rd index e7997469..0263bc18 100644 --- a/man/example-graphs.Rd +++ b/man/example-graphs.Rd @@ -1,6 +1,7 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/example_graphs.R -\name{bonferroni_holm} +\name{bonferroni} +\alias{bonferroni} \alias{bonferroni_holm} \alias{huque_alosh_bhore_2011} \alias{wiens_dmitrienko_2005} @@ -13,7 +14,7 @@ \alias{complex_example_2} \title{Example graphs from a selection of papers} \usage{ -bonferroni_holm(num_hyps, hyp_names = NULL) +bonferroni(num_hyps, hyp_names = NULL) bonferroni_holm(num_hyps, hyp_names = NULL) diff --git a/tests/testthat/_snaps/print.graph_report.md b/tests/testthat/_snaps/print.graph_report.md index 9b004887..89592db3 100644 --- a/tests/testthat/_snaps/print.graph_report.md +++ b/tests/testthat/_snaps/print.graph_report.md @@ -104,17 +104,17 @@ H4 NA NA NA NA Adjusted p details ($details) -------------------------------------------------- - Intersection H1 H2 H3 H4 adj_p_grp1 adj_p_inter reject_intersection - 1 0.50 0.50 0.00 0.00 0.02 0.02 TRUE - 2 0.50 0.50 0.00 NA 0.02 0.02 TRUE - 3 0.50 0.50 NA 0.00 0.02 0.02 TRUE - 4 0.50 0.50 NA NA 0.02 0.02 TRUE - 5 0.50 NA 0.00 0.50 0.02 0.02 TRUE - 6 1.00 NA 0.00 NA 0.01 0.01 TRUE - 7 0.50 NA NA 0.50 0.02 0.02 TRUE - 8 1.00 NA NA NA 0.01 0.01 TRUE - 9 NA 0.50 0.50 0.00 0.02 0.02 TRUE - 10 NA 0.50 0.50 NA 0.02 0.02 TRUE + Intersection H1 H2 H3 H4 adj_p_grp1 adj_p_inter reject_intersection + 1111 0.5 0.5 0.0 0.0 0.02 0.02 TRUE + 1110 0.5 0.5 0.0 NA 0.02 0.02 TRUE + 1101 0.5 0.5 NA 0.0 0.02 0.02 TRUE + 1100 0.5 0.5 NA NA 0.02 0.02 TRUE + 1011 0.5 NA 0.0 0.5 0.02 0.02 TRUE + 1010 1.0 NA 0.0 NA 0.01 0.01 TRUE + 1001 0.5 NA NA 0.5 0.02 0.02 TRUE + 1000 1.0 NA NA NA 0.01 0.01 TRUE + 0111 NA 0.5 0.5 0.0 0.02 0.02 TRUE + 0110 NA 0.5 0.5 NA 0.02 0.02 TRUE ... (Use `print(x, rows = )` for more) @@ -172,16 +172,16 @@ Detailed test values ($test_values) -------------------------------------------- Intersection Hypothesis Test p <= Weight * Alpha Inequality_holds - 1 H1 bonferroni 0.01 <= 0.5 * 0.025 TRUE - 1 H2 bonferroni 0.01 <= 0.5 * 0.025 TRUE - 1 H3 bonferroni 0.01 <= 0.0 * 0.025 FALSE - 1 H4 bonferroni 0.01 <= 0.0 * 0.025 FALSE - 2 H1 bonferroni 0.01 <= 0.5 * 0.025 TRUE - 2 H2 bonferroni 0.01 <= 0.5 * 0.025 TRUE - 2 H3 bonferroni 0.01 <= 0.0 * 0.025 FALSE - 3 H1 bonferroni 0.01 <= 0.5 * 0.025 TRUE - 3 H2 bonferroni 0.01 <= 0.5 * 0.025 TRUE - 3 H4 bonferroni 0.01 <= 0.0 * 0.025 FALSE + 1111 H1 bonferroni 0.01 <= 0.5 * 0.025 TRUE + 1111 H2 bonferroni 0.01 <= 0.5 * 0.025 TRUE + 1111 H3 bonferroni 0.01 <= 0.0 * 0.025 FALSE + 1111 H4 bonferroni 0.01 <= 0.0 * 0.025 FALSE + 1110 H1 bonferroni 0.01 <= 0.5 * 0.025 TRUE + 1110 H2 bonferroni 0.01 <= 0.5 * 0.025 TRUE + 1110 H3 bonferroni 0.01 <= 0.0 * 0.025 FALSE + 1101 H1 bonferroni 0.01 <= 0.5 * 0.025 TRUE + 1101 H2 bonferroni 0.01 <= 0.5 * 0.025 TRUE + 1101 H4 bonferroni 0.01 <= 0.0 * 0.025 FALSE ... (Use `print(x, rows = )` for more) @@ -305,17 +305,17 @@ H4 NA NA NA NA Adjusted p details ($details) -------------------------------------------------- - Intersection H1 H2 H3 H4 adj_p_grp1 adj_p_grp2 adj_p_inter - 1 0.5000 0.5000 0.0000 0.0000 0.0199 1.0000 0.0199 - 2 0.5000 0.5000 0.0000 NA 0.0199 1.0000 0.0199 - 3 0.5000 0.5000 NA 0.0000 0.0199 1.0000 0.0199 - 4 0.5000 0.5000 NA NA 0.0199 1.0000 0.0199 - 5 0.5000 NA 0.0000 0.5000 0.0200 0.0200 0.0200 - 6 1.0000 NA 0.0000 NA 0.0100 1.0000 0.0100 - 7 0.5000 NA NA 0.5000 0.0200 0.0200 0.0200 - 8 1.0000 NA NA NA 0.0100 1.0000 0.0100 - 9 NA 0.5000 0.5000 0.0000 0.0200 0.0200 0.0200 - 10 NA 0.5000 0.5000 NA 0.0200 0.0200 0.0200 + Intersection H1 H2 H3 H4 adj_p_grp1 adj_p_grp2 adj_p_inter + 1111 0.5 0.5 0.0 0.0 0.0199 1.00 0.0199 + 1110 0.5 0.5 0.0 NA 0.0199 1.00 0.0199 + 1101 0.5 0.5 NA 0.0 0.0199 1.00 0.0199 + 1100 0.5 0.5 NA NA 0.0199 1.00 0.0199 + 1011 0.5 NA 0.0 0.5 0.0200 0.02 0.0200 + 1010 1.0 NA 0.0 NA 0.0100 1.00 0.0100 + 1001 0.5 NA NA 0.5 0.0200 0.02 0.0200 + 1000 1.0 NA NA NA 0.0100 1.00 0.0100 + 0111 NA 0.5 0.5 0.0 0.0200 0.02 0.0200 + 0110 NA 0.5 0.5 NA 0.0200 0.02 0.0200 reject_intersection TRUE TRUE @@ -331,16 +331,16 @@ Detailed test values ($test_values) -------------------------------------------- Intersection Hypothesis Test p <= c_value * Weight * Alpha - 1 H1 parametric 0.01 <= 1.006 * 0.5 * 0.025 - 1 H2 parametric 0.01 <= 1.006 * 0.5 * 0.025 - 1 H3 simes 0.01 <= 0.0 * 0.025 - 1 H4 simes 0.01 <= 0.0 * 0.025 - 2 H1 parametric 0.01 <= 1.006 * 0.5 * 0.025 - 2 H2 parametric 0.01 <= 1.006 * 0.5 * 0.025 - 2 H3 simes 0.01 <= 0.0 * 0.025 - 3 H1 parametric 0.01 <= 1.006 * 0.5 * 0.025 - 3 H2 parametric 0.01 <= 1.006 * 0.5 * 0.025 - 3 H4 simes 0.01 <= 0.0 * 0.025 + 1111 H1 parametric 0.01 <= 1.006 * 0.5 * 0.025 + 1111 H2 parametric 0.01 <= 1.006 * 0.5 * 0.025 + 1111 H3 simes 0.01 <= 0.0 * 0.025 + 1111 H4 simes 0.01 <= 0.0 * 0.025 + 1110 H1 parametric 0.01 <= 1.006 * 0.5 * 0.025 + 1110 H2 parametric 0.01 <= 1.006 * 0.5 * 0.025 + 1110 H3 simes 0.01 <= 0.0 * 0.025 + 1101 H1 parametric 0.01 <= 1.006 * 0.5 * 0.025 + 1101 H2 parametric 0.01 <= 1.006 * 0.5 * 0.025 + 1101 H4 simes 0.01 <= 0.0 * 0.025 Inequality_holds TRUE TRUE @@ -417,17 +417,17 @@ H4 NA NA NA NA Adjusted p details ($details) -------------------------------------------------- - Intersection H1 H2 H3 H4 adj_p_grp1 adj_p_grp2 adj_p_inter - 1 0.5000 0.5000 0.0000 0.0000 0.0199 1.0000 0.0199 - 2 0.5000 0.5000 0.0000 NA 0.0199 1.0000 0.0199 - 3 0.5000 0.5000 NA 0.0000 0.0199 1.0000 0.0199 - 4 0.5000 0.5000 NA NA 0.0199 1.0000 0.0199 - 5 0.5000 NA 0.0000 0.5000 0.0200 0.0200 0.0200 - 6 1.0000 NA 0.0000 NA 0.0100 1.0000 0.0100 - 7 0.5000 NA NA 0.5000 0.0200 0.0200 0.0200 - 8 1.0000 NA NA NA 0.0100 1.0000 0.0100 - 9 NA 0.5000 0.5000 0.0000 0.0200 0.0200 0.0200 - 10 NA 0.5000 0.5000 NA 0.0200 0.0200 0.0200 + Intersection H1 H2 H3 H4 adj_p_grp1 adj_p_grp2 adj_p_inter + 1111 0.5 0.5 0.0 0.0 0.0199 1.0000 0.0199 + 1110 0.5 0.5 0.0 NA 0.0199 1.0000 0.0199 + 1101 0.5 0.5 NA 0.0 0.0199 1.0000 0.0199 + 1100 0.5 0.5 NA NA 0.0199 1.0000 0.0199 + 1011 0.5 NA 0.0 0.5 0.0200 0.0200 0.0200 + 1010 1.0 NA 0.0 NA 0.0100 1.0000 0.0100 + 1001 0.5 NA NA 0.5 0.0200 0.0200 0.0200 + 1000 1.0 NA NA NA 0.0100 1.0000 0.0100 + 0111 NA 0.5 0.5 0.0 0.0200 0.0200 0.0200 + 0110 NA 0.5 0.5 NA 0.0200 0.0200 0.0200 reject_intersection TRUE TRUE @@ -443,16 +443,16 @@ Detailed test values ($test_values) -------------------------------------------- Intersection Hypothesis Test p <= c_value * Weight * Alpha - 1 H1 parametric 0.01 <= 1.006 * 0.5 * 0.025 - 1 H2 parametric 0.01 <= 1.006 * 0.5 * 0.025 - 1 H3 parametric 0.01 <= 1.000 * 0.0 * 0.025 - 1 H4 parametric 0.01 <= 1.000 * 0.0 * 0.025 - 2 H1 parametric 0.01 <= 1.006 * 0.5 * 0.025 - 2 H2 parametric 0.01 <= 1.006 * 0.5 * 0.025 - 2 H3 parametric 0.01 <= 1.000 * 0.0 * 0.025 - 3 H1 parametric 0.01 <= 1.006 * 0.5 * 0.025 - 3 H2 parametric 0.01 <= 1.006 * 0.5 * 0.025 - 3 H4 parametric 0.01 <= 1.000 * 0.0 * 0.025 + 1111 H1 parametric 0.01 <= 1.006 * 0.5 * 0.025 + 1111 H2 parametric 0.01 <= 1.006 * 0.5 * 0.025 + 1111 H3 parametric 0.01 <= 1.000 * 0.0 * 0.025 + 1111 H4 parametric 0.01 <= 1.000 * 0.0 * 0.025 + 1110 H1 parametric 0.01 <= 1.006 * 0.5 * 0.025 + 1110 H2 parametric 0.01 <= 1.006 * 0.5 * 0.025 + 1110 H3 parametric 0.01 <= 1.000 * 0.0 * 0.025 + 1101 H1 parametric 0.01 <= 1.006 * 0.5 * 0.025 + 1101 H2 parametric 0.01 <= 1.006 * 0.5 * 0.025 + 1101 H4 parametric 0.01 <= 1.000 * 0.0 * 0.025 Inequality_holds TRUE TRUE @@ -574,31 +574,31 @@ H4 NA NA NA NA Adjusted p details ($details) -------------------------------------------------- - Intersection H1 H2 H3 H4 adj_p_grp1 adj_p_inter reject_intersection - 1 0.50 0.50 0.00 0.00 0.02 0.02 TRUE - 2 0.50 0.50 0.00 NA 0.02 0.02 TRUE - 3 0.50 0.50 NA 0.00 0.02 0.02 TRUE - 4 0.50 0.50 NA NA 0.02 0.02 TRUE - 5 0.50 NA 0.00 0.50 0.02 0.02 TRUE - 6 1.00 NA 0.00 NA 0.01 0.01 TRUE - 7 0.50 NA NA 0.50 0.02 0.02 TRUE - 8 1.00 NA NA NA 0.01 0.01 TRUE - 9 NA 0.50 0.50 0.00 0.02 0.02 TRUE - 10 NA 0.50 0.50 NA 0.02 0.02 TRUE + Intersection H1 H2 H3 H4 adj_p_grp1 adj_p_inter reject_intersection + 1111 0.5 0.5 0.0 0.0 0.02 0.02 TRUE + 1110 0.5 0.5 0.0 NA 0.02 0.02 TRUE + 1101 0.5 0.5 NA 0.0 0.02 0.02 TRUE + 1100 0.5 0.5 NA NA 0.02 0.02 TRUE + 1011 0.5 NA 0.0 0.5 0.02 0.02 TRUE + 1010 1.0 NA 0.0 NA 0.01 0.01 TRUE + 1001 0.5 NA NA 0.5 0.02 0.02 TRUE + 1000 1.0 NA NA NA 0.01 0.01 TRUE + 0111 NA 0.5 0.5 0.0 0.02 0.02 TRUE + 0110 NA 0.5 0.5 NA 0.02 0.02 TRUE ... (Use `print(x, rows = )` for more) Detailed test values ($test_values) -------------------------------------------- Intersection Hypothesis Test p <= Weight * Alpha Inequality_holds - 1 H1 bonferroni 0.01 <= 0.5 * 0.025 TRUE - 1 H2 bonferroni 0.01 <= 0.5 * 0.025 TRUE - 1 H3 bonferroni 0.01 <= 0.0 * 0.025 FALSE - 1 H4 bonferroni 0.01 <= 0.0 * 0.025 FALSE - 2 H1 bonferroni 0.01 <= 0.5 * 0.025 TRUE - 2 H2 bonferroni 0.01 <= 0.5 * 0.025 TRUE - 2 H3 bonferroni 0.01 <= 0.0 * 0.025 FALSE - 3 H1 bonferroni 0.01 <= 0.5 * 0.025 TRUE - 3 H2 bonferroni 0.01 <= 0.5 * 0.025 TRUE - 3 H4 bonferroni 0.01 <= 0.0 * 0.025 FALSE + 1111 H1 bonferroni 0.01 <= 0.5 * 0.025 TRUE + 1111 H2 bonferroni 0.01 <= 0.5 * 0.025 TRUE + 1111 H3 bonferroni 0.01 <= 0.0 * 0.025 FALSE + 1111 H4 bonferroni 0.01 <= 0.0 * 0.025 FALSE + 1110 H1 bonferroni 0.01 <= 0.5 * 0.025 TRUE + 1110 H2 bonferroni 0.01 <= 0.5 * 0.025 TRUE + 1110 H3 bonferroni 0.01 <= 0.0 * 0.025 FALSE + 1101 H1 bonferroni 0.01 <= 0.5 * 0.025 TRUE + 1101 H2 bonferroni 0.01 <= 0.5 * 0.025 TRUE + 1101 H4 bonferroni 0.01 <= 0.0 * 0.025 FALSE ... (Use `print(x, rows = )` for more) diff --git a/tests/testthat/test-graph_test_closure.R b/tests/testthat/test-graph_test_closure.R index c228a32d..44560440 100644 --- a/tests/testthat/test-graph_test_closure.R +++ b/tests/testthat/test-graph_test_closure.R @@ -130,9 +130,13 @@ test_that("verbose/test values output is only present when asked for", { expect_null(graph_test_closure(rando, rep(.01, 6))$details) expect_null(graph_test_closure(rando, rep(.01, 6))$test_values) - expect_type( - graph_test_closure(rando, rep(.01, 6), verbose = TRUE)$details$results, - "double" + expect_s3_class( + graph_test_closure( + rando, + rep(.01, 6), + verbose = TRUE + )$details$results, + "data.frame" ) expect_s3_class( graph_test_closure( @@ -373,15 +377,9 @@ test_that("parametric floating point errors", { c(H1 = TRUE, H2 = TRUE, H3 = TRUE) ) - expect_equal( - res_para$details$results[, "reject_intersection"], - setNames(rep(1, 7), seq_len(7)) - ) + expect_equal(res_para$details$results$reject_intersection, rep(TRUE, 7)) - expect_equal( - res_para$test_values$results$Inequality_holds, - rep(TRUE, 12) - ) + expect_equal(res_para$test_values$results$Inequality_holds, rep(TRUE, 12)) }) test_that("adjusted p that exceeds alpha by floating point diff is rejected", { From 22956a127255b6fb165efd11579cb80b7e6b3b7a Mon Sep 17 00:00:00 2001 From: EeethB Date: Tue, 10 Oct 2023 22:19:54 +0000 Subject: [PATCH 3/3] Add igraph to document action --- .github/workflows/pr-document.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-document.yaml b/.github/workflows/pr-document.yaml index 5714cf04..b187e1a7 100644 --- a/.github/workflows/pr-document.yaml +++ b/.github/workflows/pr-document.yaml @@ -22,7 +22,7 @@ jobs: - name: install packages & document shell: Rscript {0} run: | - install.packages(c("devtools", "decor")) + install.packages(c("devtools", "decor", "igraph")) devtools::install(dependencies=TRUE) devtools::document()