New Upstream Snapshot - r-cran-pwr

Ready changes

Summary

Merged new upstream version: 1.3-0+git20200520.2.2f64c78+dfsg (was: 1.3-0+git20200520.1.2f64c78+dfsg).

Resulting package

Built on 2023-01-19T12:27 (took 9m12s)

The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:

apt install -t fresh-snapshots r-cran-pwr

Diff

diff --git a/DESCRIPTION b/DESCRIPTION
index e04d87f..c19a032 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -20,7 +20,7 @@ URL: https://github.com/heliosdrm/pwr
 VignetteBuilder: knitr
 RoxygenNote: 7.1.0
 NeedsCompilation: no
-Packaged: 2020-03-16 22:50:22 UTC; meliana
+Packaged: 2023-01-19 12:24:13 UTC; root
 Author: Stephane Champely [aut],
   Claus Ekstrom [ctb],
   Peter Dalgaard [ctb],
@@ -31,5 +31,3 @@ Author: Stephane Champely [aut],
   Robert Volcic [ctb],
   Helios De Rosario [cre]
 Maintainer: Helios De Rosario <helios.derosario@gmail.com>
-Repository: CRAN
-Date/Publication: 2020-03-17 12:10:02 UTC
diff --git a/MD5 b/MD5
deleted file mode 100644
index cd89d0b..0000000
--- a/MD5
+++ /dev/null
@@ -1,39 +0,0 @@
-5e52c09e3fbce1e663add5f95cda239f *DESCRIPTION
-6a2b948c4abdc27fa91f02422d949df4 *NAMESPACE
-2811235ff04a8343bf1b5e363f37a479 *NEWS
-b8a87f4ddac74d10af98b71c93eef5cb *R/ES.h.R
-20e4fa58c12b787eba3fdfbbdec1934e *R/ES.w1.R
-8d1b3ba98a6a3e6040a18ab99375c8ae *R/ES.w2.R
-8f43391c71c7d3c42056cad38f12ed5a *R/cohen.ES.R
-10f8ff8e86941758853581839d67fd6f *R/plot.power.htest.R
-7be17b1f29925bf7ff4d5f63d613815a *R/pwr.2p.test.R
-1cc4f70ac393ce714e60ec54f65e8fda *R/pwr.2p2n.test.R
-5f88fb35621733b32567fc966683f999 *R/pwr.anova.test.R
-488f443d4126d079818b525dc95f7ca2 *R/pwr.chisq.test.R
-488799677edadbfb1f3d6e33ee26d634 *R/pwr.f2.test.R
-260ae685483621ea6c92732a37cdc861 *R/pwr.norm.test.R
-854521043f3a9d86d7f85fc1d34c6825 *R/pwr.p.test.R
-4b2c4b4f78d8fa545c284e368ef6acd1 *R/pwr.r.test.R
-5772ade02e99b562451fd470319b01e2 *R/pwr.t.test.R
-ae5c866df701cff5da5d4357c3d2d1fa *R/pwr.t2n.test.R
-304cca75676c0c5d7bbdcd384e699b8a *build/vignette.rds
-ad7a38d96cd3a8c238cf4ab57a0a6589 *inst/doc/pwr-vignette.R
-b516cc1084cfde79508ec53c2b61aded *inst/doc/pwr-vignette.Rmd
-d9418368d021e83b55028cc491b1205a *inst/doc/pwr-vignette.html
-eca9274a0fb0feba8000a076e5796800 *man/ES.h.Rd
-800c5e5691e698138998a86b4c410dee *man/ES.w1.Rd
-16994846d5cf682688fd5617d6193185 *man/ES.w2.Rd
-c060199d3c12481ab4bf243844a09068 *man/cohen.ES.Rd
-dd3f9870cce4892502312d7063b56034 *man/plot.power.htest.Rd
-41150f50d68ee5de7a5473455422d5ac *man/pwr-package.Rd
-6573055b854cd28d915583603bd38f65 *man/pwr.2p.test.Rd
-a09c9418a99083ace9224c8dbea7e6d6 *man/pwr.2p2n.test.Rd
-96d5df94bdb949e8a225da03771be265 *man/pwr.anova.test.Rd
-e7a9b99a266050e243c112a49e5ea80c *man/pwr.chisq.test.Rd
-ae37d123a9ab27983256c64ffa36f018 *man/pwr.f2.test.Rd
-b60c87f94df02422fd38b524a94ffa88 *man/pwr.norm.test.Rd
-3b1079dbdc8100942f4a09e45f668ccf *man/pwr.p.test.Rd
-dd3845762017fcc04860eee76aae7c8c *man/pwr.r.test.Rd
-892acb23edb6da8b1f9193e762e03548 *man/pwr.t.test.Rd
-b13d9039aa43414595657cf2611a6bac *man/pwr.t2n.test.Rd
-b516cc1084cfde79508ec53c2b61aded *vignettes/pwr-vignette.Rmd
diff --git a/R/pwr.2p.test.R b/R/pwr.2p.test.R
index a31c4fd..0da8512 100644
--- a/R/pwr.2p.test.R
+++ b/R/pwr.2p.test.R
@@ -21,21 +21,21 @@ function (h = NULL, n = NULL, sig.level = 0.05, power = NULL,
         h <- abs(h)
     if (tside == 3) {
         p.body <- quote({
-            pnorm(qnorm(sig.level, lower = FALSE) - h * sqrt(n/2),
-                lower = FALSE)
+            pnorm(qnorm(sig.level, lower.tail = FALSE) - h * sqrt(n/2),
+                lower.tail = FALSE)
         })
     }
     if (tside == 2) {
         p.body <- quote({
-            pnorm(qnorm(sig.level/2, lower = FALSE) - h * sqrt(n/2),
-                lower = FALSE) + pnorm(qnorm(sig.level/2, lower = TRUE) -
-                h * sqrt(n/2), lower = TRUE)
+            pnorm(qnorm(sig.level/2, lower.tail = FALSE) - h * sqrt(n/2),
+                lower.tail = FALSE) + pnorm(qnorm(sig.level/2, lower.tail = TRUE) -
+                h * sqrt(n/2), lower.tail = TRUE)
         })
     }
     if (tside ==1) {
         p.body <- quote({
-            pnorm(qnorm(sig.level, lower = TRUE) - h * sqrt(n/2),
-                lower = TRUE)
+            pnorm(qnorm(sig.level, lower.tail = TRUE) - h * sqrt(n/2),
+                lower.tail = TRUE)
         })
     }
 
diff --git a/R/pwr.2p2n.test.R b/R/pwr.2p2n.test.R
index 5efa35b..021aa7a 100644
--- a/R/pwr.2p2n.test.R
+++ b/R/pwr.2p2n.test.R
@@ -23,23 +23,23 @@ function (h = NULL, n1 = NULL, n2 = NULL, sig.level = 0.05, power = NULL,
         h <- abs(h)
     if (tside == 3) {
         p.body <- quote({
-            pnorm(qnorm(sig.level, lower = FALSE) - h * sqrt((n1 *
-                n2)/(n1 + n2)), lower = FALSE)
+            pnorm(qnorm(sig.level, lower.tail = FALSE) - h * sqrt((n1 *
+                n2)/(n1 + n2)), lower.tail = FALSE)
         })
     }
     if (tside == 1) {
         p.body <- quote({
-            pnorm(qnorm(sig.level, lower = TRUE) - h * sqrt((n1 *
-                n2)/(n1 + n2)), lower = TRUE)
+            pnorm(qnorm(sig.level, lower.tail = TRUE) - h * sqrt((n1 *
+                n2)/(n1 + n2)), lower.tail = TRUE)
         })
     }
 
      if (tside == 2)  {
         p.body <- quote({
-            pnorm(qnorm(sig.level/2, lower = FALSE) - h * sqrt((n1 *
-                n2)/(n1 + n2)), lower = FALSE) + pnorm(qnorm(sig.level/2,
-                lower = TRUE) - h * sqrt((n1 * n2)/(n1 + n2)),
-                lower = TRUE)
+            pnorm(qnorm(sig.level/2, lower.tail = FALSE) - h * sqrt((n1 *
+                n2)/(n1 + n2)), lower.tail = FALSE) + pnorm(qnorm(sig.level/2,
+                lower.tail = TRUE) - h * sqrt((n1 * n2)/(n1 + n2)),
+                lower.tail = TRUE)
         })
     }
     if (is.null(power))
diff --git a/R/pwr.anova.test.R b/R/pwr.anova.test.R
index 4a1436a..ee3ba99 100644
--- a/R/pwr.anova.test.R
+++ b/R/pwr.anova.test.R
@@ -22,8 +22,8 @@ function (k = NULL, n = NULL, f = NULL, sig.level = 0.05, power = NULL)
         stop(sQuote("power"), " must be numeric in [0, 1]")
     p.body <- quote({
         lambda <- k * n * f^2
-        pf(qf(sig.level, k - 1, (n - 1) * k, lower = FALSE),
-            k - 1, (n - 1) * k, lambda, lower = FALSE)
+        pf(qf(sig.level, k - 1, (n - 1) * k, lower.tail = FALSE),
+            k - 1, (n - 1) * k, lambda, lower.tail = FALSE)
     })
     if (is.null(power))
         power <- eval(p.body)
diff --git a/R/pwr.chisq.test.R b/R/pwr.chisq.test.R
index 1855980..ef084e2 100644
--- a/R/pwr.chisq.test.R
+++ b/R/pwr.chisq.test.R
@@ -19,8 +19,8 @@ function (w = NULL, N = NULL, df = NULL, sig.level = 0.05, power = NULL)
         power > 1))
         stop(sQuote("power"), " must be numeric in [0, 1]")
     p.body <- quote({
-        k <- qchisq(sig.level, df = df, lower = FALSE)
-        pchisq(k, df = df, ncp = N * w^2, lower = FALSE)
+        k <- qchisq(sig.level, df = df, lower.tail = FALSE)
+        pchisq(k, df = df, ncp = N * w^2, lower.tail = FALSE)
     })
     if (is.null(power))
         power <- eval(p.body)
diff --git a/R/pwr.f2.test.R b/R/pwr.f2.test.R
index 5a07f80..91a89c7 100644
--- a/R/pwr.f2.test.R
+++ b/R/pwr.f2.test.R
@@ -22,8 +22,8 @@ function (u = NULL, v = NULL, f2 = NULL, sig.level = 0.05, power = NULL)
         stop(sQuote("power"), " must be numeric in [0, 1]")
     p.body <- quote({
         lambda <- f2*(u+v+1)
-        pf(qf(sig.level, u, v, lower = FALSE),
-            u, v, lambda, lower = FALSE)
+        pf(qf(sig.level, u, v, lower.tail = FALSE),
+            u, v, lambda, lower.tail = FALSE)
     })
     if (is.null(power))
         power <- eval(p.body)
diff --git a/R/pwr.norm.test.R b/R/pwr.norm.test.R
index 6b95d00..7e44740 100644
--- a/R/pwr.norm.test.R
+++ b/R/pwr.norm.test.R
@@ -21,22 +21,22 @@ function (d = NULL, n = NULL, sig.level = 0.05, power = NULL,
         d <- abs(d)
     if (tside == 2) {
         p.body <- quote({
-            pnorm(qnorm(sig.level/2, lower = FALSE) - d * sqrt(n),
-                lower = FALSE) + pnorm(qnorm(sig.level/2, lower = TRUE) -
-                d * sqrt(n), lower = TRUE)
+            pnorm(qnorm(sig.level/2, lower.tail = FALSE) - d * sqrt(n),
+                lower.tail = FALSE) + pnorm(qnorm(sig.level/2, lower.tail = TRUE) -
+                d * sqrt(n), lower.tail = TRUE)
         })
     }
     if (tside==1) {
         p.body <- quote({
-            pnorm(qnorm(sig.level, lower = TRUE) - d * sqrt(n),
-                lower = TRUE)
+            pnorm(qnorm(sig.level, lower.tail = TRUE) - d * sqrt(n),
+                lower.tail = TRUE)
         })
     }
 
     if (tside==3) {
         p.body <- quote({
-            pnorm(qnorm(sig.level, lower = FALSE) - d * sqrt(n),
-                lower = FALSE)
+            pnorm(qnorm(sig.level, lower.tail = FALSE) - d * sqrt(n),
+                lower.tail = FALSE)
         })
     }
 
diff --git a/R/pwr.p.test.R b/R/pwr.p.test.R
index f5132a8..7719781 100644
--- a/R/pwr.p.test.R
+++ b/R/pwr.p.test.R
@@ -21,21 +21,21 @@ function (h = NULL, n = NULL, sig.level = 0.05, power = NULL,
         h <- abs(h)
     if (tside == 2) {
         p.body <- quote({
-            pnorm(qnorm(sig.level/2, lower = FALSE) - h * sqrt(n),
-                lower = FALSE) + pnorm(qnorm(sig.level/2, lower = TRUE) -
-                h * sqrt(n), lower = TRUE)
+            pnorm(qnorm(sig.level/2, lower.tail = FALSE) - h * sqrt(n),
+                lower.tail = FALSE) + pnorm(qnorm(sig.level/2, lower.tail = TRUE) -
+                h * sqrt(n), lower.tail = TRUE)
         })
     }
     if (tside == 3) {
         p.body <- quote({
-            pnorm(qnorm(sig.level, lower = FALSE) - h * sqrt(n),
-                lower = FALSE)
+            pnorm(qnorm(sig.level, lower.tail = FALSE) - h * sqrt(n),
+                lower.tail = FALSE)
         })
     }
     if (tside == 1) {
         p.body <- quote({
-            pnorm(qnorm(sig.level, lower = TRUE) - h * sqrt(n),
-                lower = TRUE)
+            pnorm(qnorm(sig.level, lower.tail = TRUE) - h * sqrt(n),
+                lower.tail = TRUE)
         })
     }
     if (is.null(power))
diff --git a/R/pwr.r.test.R b/R/pwr.r.test.R
index c086c6a..a857a24 100644
--- a/R/pwr.r.test.R
+++ b/R/pwr.r.test.R
@@ -21,7 +21,7 @@ function (n = NULL, r = NULL, sig.level = 0.05, power = NULL,
         r <- abs(r)
     if (tside == 3) {
         p.body <- quote({
-            ttt <- qt(sig.level, df = n - 2, lower = FALSE)
+            ttt <- qt(sig.level, df = n - 2, lower.tail = FALSE)
             rc <- sqrt(ttt^2/(ttt^2 + n - 2))
             zr <- atanh(r) + r/(2 * (n - 1))
             zrc <- atanh(rc) # + rc/(2 * (n - 1))
@@ -31,7 +31,7 @@ function (n = NULL, r = NULL, sig.level = 0.05, power = NULL,
     if (tside == 1) {
         p.body <- quote({
             r<--r
-            ttt <- qt(sig.level, df = n - 2, lower = FALSE)
+            ttt <- qt(sig.level, df = n - 2, lower.tail = FALSE)
             rc <- sqrt(ttt^2/(ttt^2 + n - 2))
             zr <- atanh(r) + r/(2 * (n - 1))
             zrc <- atanh(rc) # + rc/(2 * (n - 1))
@@ -41,7 +41,7 @@ function (n = NULL, r = NULL, sig.level = 0.05, power = NULL,
 
     if (tside == 2) {
         p.body <- quote({
-            ttt <- qt(sig.level/2, df = n - 2, lower = FALSE)
+            ttt <- qt(sig.level/2, df = n - 2, lower.tail = FALSE)
             rc <- sqrt(ttt^2/(ttt^2 + n - 2))
             zr <- atanh(r) + r/(2 * (n - 1))
             zrc <- atanh(rc) # + rc/(2 * (n - 1))
diff --git a/R/pwr.t.test.R b/R/pwr.t.test.R
index fed01c0..3f2465f 100644
--- a/R/pwr.t.test.R
+++ b/R/pwr.t.test.R
@@ -24,23 +24,23 @@ function (n = NULL, d = NULL, sig.level = 0.05, power = NULL,
     if (ttside == 1) {
         p.body <- quote({
             nu <- (n - 1) * tsample
-            pt(qt(sig.level/tside, nu, lower = TRUE), nu,
-                ncp = sqrt(n/tsample) * d, lower = TRUE)
+            pt(qt(sig.level/tside, nu, lower.tail = TRUE), nu,
+                ncp = sqrt(n/tsample) * d, lower.tail = TRUE)
         })
     }
     if (ttside == 2)  {
         p.body <- quote({
             nu <- (n - 1) * tsample
-            qu <- qt(sig.level/tside, nu, lower = FALSE)
-            pt(qu, nu, ncp = sqrt(n/tsample) * d, lower = FALSE) +
-                pt(-qu, nu, ncp = sqrt(n/tsample) * d, lower = TRUE)
+            qu <- qt(sig.level/tside, nu, lower.tail = FALSE)
+            pt(qu, nu, ncp = sqrt(n/tsample) * d, lower.tail = FALSE) +
+                pt(-qu, nu, ncp = sqrt(n/tsample) * d, lower.tail = TRUE)
         })
     }
 	if (ttside == 3) {
         p.body <- quote({
             nu <- (n - 1) * tsample
-            pt(qt(sig.level/tside, nu, lower = FALSE), nu,
-                ncp = sqrt(n/tsample) * d, lower = FALSE)
+            pt(qt(sig.level/tside, nu, lower.tail = FALSE), nu,
+                ncp = sqrt(n/tsample) * d, lower.tail = FALSE)
         })
     }
 
diff --git a/R/pwr.t2n.test.R b/R/pwr.t2n.test.R
index e178337..99c7dc9 100644
--- a/R/pwr.t2n.test.R
+++ b/R/pwr.t2n.test.R
@@ -28,23 +28,23 @@ function (n1 = NULL, n2= NULL, d = NULL, sig.level = 0.05, power = NULL,
     if (ttside == 1) {
         p.body <- quote({
             nu <- n1+n2-2
-            pt(qt(sig.level/tside, nu, lower = TRUE), nu,
-                ncp = d*(1/sqrt(1/n1+1/n2)), lower = TRUE)
+            pt(qt(sig.level/tside, nu, lower.tail = TRUE), nu,
+                ncp = d*(1/sqrt(1/n1+1/n2)), lower.tail = TRUE)
         })
     }
     if (ttside == 2)  {
         p.body <- quote({
            nu <- n1+n2-2
-            qu <- qt(sig.level/tside, nu, lower = FALSE)
-            pt(qu, nu, ncp = d*(1/sqrt(1/n1+1/n2)), lower = FALSE) +
-                pt(-qu, nu,ncp = d*(1/sqrt(1/n1+1/n2)), lower = TRUE)
+            qu <- qt(sig.level/tside, nu, lower.tail = FALSE)
+            pt(qu, nu, ncp = d*(1/sqrt(1/n1+1/n2)), lower.tail = FALSE) +
+                pt(-qu, nu,ncp = d*(1/sqrt(1/n1+1/n2)), lower.tail = TRUE)
         })
     }
 	if (ttside == 3) {
         p.body <- quote({
            nu <- n1+n2-2
-            pt(qt(sig.level/tside, nu, lower = FALSE), nu,
-                ncp = d*(1/sqrt(1/n1+1/n2)), lower = FALSE)
+            pt(qt(sig.level/tside, nu, lower.tail = FALSE), nu,
+                ncp = d*(1/sqrt(1/n1+1/n2)), lower.tail = FALSE)
         })
     }
 
diff --git a/build/vignette.rds b/build/vignette.rds
index ba57740..68db86e 100644
Binary files a/build/vignette.rds and b/build/vignette.rds differ
diff --git a/debian/changelog b/debian/changelog
index 550ed82..8700027 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+r-cran-pwr (1.3-0+git20200520.2.2f64c78+dfsg-1) UNRELEASED; urgency=low
+
+  * New upstream snapshot.
+  * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Thu, 19 Jan 2023 12:24:25 -0000
+
 r-cran-pwr (1.3-0+dfsg-1) unstable; urgency=medium
 
   * Set upstream metadata fields: Archive, Bug-Database, Bug-Submit,
diff --git a/inst/doc/pwr-vignette.html b/inst/doc/pwr-vignette.html
new file mode 100644
index 0000000..0689c4a
--- /dev/null
+++ b/inst/doc/pwr-vignette.html
@@ -0,0 +1,1371 @@
+<!DOCTYPE html>
+
+<html>
+
+<head>
+
+<meta charset="utf-8" />
+<meta name="generator" content="pandoc" />
+<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
+
+<meta name="viewport" content="width=device-width, initial-scale=1" />
+
+<meta name="author" content="Clay Ford" />
+
+<meta name="date" content="2023-01-19" />
+
+<title>Getting started with the pwr package</title>
+
+<script>// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
+// be compatible with the behavior of Pandoc < 2.8).
+document.addEventListener('DOMContentLoaded', function(e) {
+  var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
+  var i, h, a;
+  for (i = 0; i < hs.length; i++) {
+    h = hs[i];
+    if (!/^h[1-6]$/i.test(h.tagName)) continue;  // it should be a header h1-h6
+    a = h.attributes;
+    while (a.length > 0) h.removeAttribute(a[0].name);
+  }
+});
+</script>
+
+<style type="text/css">
+  code{white-space: pre-wrap;}
+  span.smallcaps{font-variant: small-caps;}
+  span.underline{text-decoration: underline;}
+  div.column{display: inline-block; vertical-align: top; width: 50%;}
+  div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
+  ul.task-list{list-style: none;}
+    </style>
+
+
+
+<style type="text/css">
+  code {
+    white-space: pre;
+  }
+  .sourceCode {
+    overflow: visible;
+  }
+</style>
+<style type="text/css" data-origin="pandoc">
+pre > code.sourceCode { white-space: pre; position: relative; }
+pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
+pre > code.sourceCode > span:empty { height: 1.2em; }
+.sourceCode { overflow: visible; }
+code.sourceCode > span { color: inherit; text-decoration: inherit; }
+div.sourceCode { margin: 1em 0; }
+pre.sourceCode { margin: 0; }
+@media screen {
+div.sourceCode { overflow: auto; }
+}
+@media print {
+pre > code.sourceCode { white-space: pre-wrap; }
+pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
+}
+pre.numberSource code
+  { counter-reset: source-line 0; }
+pre.numberSource code > span
+  { position: relative; left: -4em; counter-increment: source-line; }
+pre.numberSource code > span > a:first-child::before
+  { content: counter(source-line);
+    position: relative; left: -1em; text-align: right; vertical-align: baseline;
+    border: none; display: inline-block;
+    -webkit-touch-callout: none; -webkit-user-select: none;
+    -khtml-user-select: none; -moz-user-select: none;
+    -ms-user-select: none; user-select: none;
+    padding: 0 4px; width: 4em;
+    color: #aaaaaa;
+  }
+pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa;  padding-left: 4px; }
+div.sourceCode
+  {   }
+@media screen {
+pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
+}
+code span.al { color: #ff0000; font-weight: bold; } /* Alert */
+code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
+code span.at { color: #7d9029; } /* Attribute */
+code span.bn { color: #40a070; } /* BaseN */
+code span.bu { color: #008000; } /* BuiltIn */
+code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
+code span.ch { color: #4070a0; } /* Char */
+code span.cn { color: #880000; } /* Constant */
+code span.co { color: #60a0b0; font-style: italic; } /* Comment */
+code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
+code span.do { color: #ba2121; font-style: italic; } /* Documentation */
+code span.dt { color: #902000; } /* DataType */
+code span.dv { color: #40a070; } /* DecVal */
+code span.er { color: #ff0000; font-weight: bold; } /* Error */
+code span.ex { } /* Extension */
+code span.fl { color: #40a070; } /* Float */
+code span.fu { color: #06287e; } /* Function */
+code span.im { color: #008000; font-weight: bold; } /* Import */
+code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
+code span.kw { color: #007020; font-weight: bold; } /* Keyword */
+code span.op { color: #666666; } /* Operator */
+code span.ot { color: #007020; } /* Other */
+code span.pp { color: #bc7a00; } /* Preprocessor */
+code span.sc { color: #4070a0; } /* SpecialChar */
+code span.ss { color: #bb6688; } /* SpecialString */
+code span.st { color: #4070a0; } /* String */
+code span.va { color: #19177c; } /* Variable */
+code span.vs { color: #4070a0; } /* VerbatimString */
+code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
+
+</style>
+<script>
+// apply pandoc div.sourceCode style to pre.sourceCode instead
+(function() {
+  var sheets = document.styleSheets;
+  for (var i = 0; i < sheets.length; i++) {
+    if (sheets[i].ownerNode.dataset["origin"] !== "pandoc") continue;
+    try { var rules = sheets[i].cssRules; } catch (e) { continue; }
+    var j = 0;
+    while (j < rules.length) {
+      var rule = rules[j];
+      // check if there is a div.sourceCode rule
+      if (rule.type !== rule.STYLE_RULE || rule.selectorText !== "div.sourceCode") {
+        j++;
+        continue;
+      }
+      var style = rule.style.cssText;
+      // check if color or background-color is set
+      if (rule.style.color === '' && rule.style.backgroundColor === '') {
+        j++;
+        continue;
+      }
+      // replace div.sourceCode by a pre.sourceCode rule
+      sheets[i].deleteRule(j);
+      sheets[i].insertRule('pre.sourceCode{' + style + '}', j);
+    }
+  }
+})();
+</script>
+
+
+
+
+<style type="text/css">body {
+background-color: #fff;
+margin: 1em auto;
+max-width: 700px;
+overflow: visible;
+padding-left: 2em;
+padding-right: 2em;
+font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+font-size: 14px;
+line-height: 1.35;
+}
+#TOC {
+clear: both;
+margin: 0 0 10px 10px;
+padding: 4px;
+width: 400px;
+border: 1px solid #CCCCCC;
+border-radius: 5px;
+background-color: #f6f6f6;
+font-size: 13px;
+line-height: 1.3;
+}
+#TOC .toctitle {
+font-weight: bold;
+font-size: 15px;
+margin-left: 5px;
+}
+#TOC ul {
+padding-left: 40px;
+margin-left: -1.5em;
+margin-top: 5px;
+margin-bottom: 5px;
+}
+#TOC ul ul {
+margin-left: -2em;
+}
+#TOC li {
+line-height: 16px;
+}
+table {
+margin: 1em auto;
+border-width: 1px;
+border-color: #DDDDDD;
+border-style: outset;
+border-collapse: collapse;
+}
+table th {
+border-width: 2px;
+padding: 5px;
+border-style: inset;
+}
+table td {
+border-width: 1px;
+border-style: inset;
+line-height: 18px;
+padding: 5px 5px;
+}
+table, table th, table td {
+border-left-style: none;
+border-right-style: none;
+}
+table thead, table tr.even {
+background-color: #f7f7f7;
+}
+p {
+margin: 0.5em 0;
+}
+blockquote {
+background-color: #f6f6f6;
+padding: 0.25em 0.75em;
+}
+hr {
+border-style: solid;
+border: none;
+border-top: 1px solid #777;
+margin: 28px 0;
+}
+dl {
+margin-left: 0;
+}
+dl dd {
+margin-bottom: 13px;
+margin-left: 13px;
+}
+dl dt {
+font-weight: bold;
+}
+ul {
+margin-top: 0;
+}
+ul li {
+list-style: circle outside;
+}
+ul ul {
+margin-bottom: 0;
+}
+pre, code {
+background-color: #f7f7f7;
+border-radius: 3px;
+color: #333;
+white-space: pre-wrap; 
+}
+pre {
+border-radius: 3px;
+margin: 5px 0px 10px 0px;
+padding: 10px;
+}
+pre:not([class]) {
+background-color: #f7f7f7;
+}
+code {
+font-family: Consolas, Monaco, 'Courier New', monospace;
+font-size: 85%;
+}
+p > code, li > code {
+padding: 2px 0px;
+}
+div.figure {
+text-align: center;
+}
+img {
+background-color: #FFFFFF;
+padding: 2px;
+border: 1px solid #DDDDDD;
+border-radius: 3px;
+border: 1px solid #CCCCCC;
+margin: 0 5px;
+}
+h1 {
+margin-top: 0;
+font-size: 35px;
+line-height: 40px;
+}
+h2 {
+border-bottom: 4px solid #f7f7f7;
+padding-top: 10px;
+padding-bottom: 2px;
+font-size: 145%;
+}
+h3 {
+border-bottom: 2px solid #f7f7f7;
+padding-top: 10px;
+font-size: 120%;
+}
+h4 {
+border-bottom: 1px solid #f7f7f7;
+margin-left: 8px;
+font-size: 105%;
+}
+h5, h6 {
+border-bottom: 1px solid #ccc;
+font-size: 105%;
+}
+a {
+color: #0033dd;
+text-decoration: none;
+}
+a:hover {
+color: #6666ff; }
+a:visited {
+color: #800080; }
+a:visited:hover {
+color: #BB00BB; }
+a[href^="http:"] {
+text-decoration: underline; }
+a[href^="https:"] {
+text-decoration: underline; }
+
+code > span.kw { color: #555; font-weight: bold; } 
+code > span.dt { color: #902000; } 
+code > span.dv { color: #40a070; } 
+code > span.bn { color: #d14; } 
+code > span.fl { color: #d14; } 
+code > span.ch { color: #d14; } 
+code > span.st { color: #d14; } 
+code > span.co { color: #888888; font-style: italic; } 
+code > span.ot { color: #007020; } 
+code > span.al { color: #ff0000; font-weight: bold; } 
+code > span.fu { color: #900; font-weight: bold; } 
+code > span.er { color: #a61717; background-color: #e3d2d2; } 
+</style>
+
+
+
+
+</head>
+
+<body>
+
+
+
+
+<h1 class="title toc-ignore">Getting started with the pwr package</h1>
+<h4 class="author">Clay Ford</h4>
+<h4 class="date">2023-01-19</h4>
+
+
+
+<p>The basic idea of calculating power or sample size with functions in
+the pwr package is to <em>leave out</em> the argument that you want to
+calculate. If you want to calculate power, then leave the
+<code>power</code> argument out of the function. If you want to
+calculate sample size, leave <code>n</code> out of the function.
+Whatever parameter you want to calculate is determined from the
+others.</p>
+<p>You select a function based on the statistical test you plan to use
+to analyze your data. If you plan to use a two-sample t-test to compare
+two means, you would use the <code>pwr.t.test</code> function for
+estimating sample size or power. All functions for power and sample size
+analysis in the pwr package begin with <code>pwr</code>. Functions are
+available for the following statistical tests:</p>
+<ul>
+<li><code>pwr.p.test</code>: one-sample proportion test</li>
+<li><code>pwr.2p.test</code>: two-sample proportion test</li>
+<li><code>pwr.2p2n.test</code>: two-sample proportion test (unequal
+sample sizes)</li>
+<li><code>pwr.t.test</code>: two-sample, one-sample and paired
+t-tests</li>
+<li><code>pwr.t2n.test</code>: two-sample t-tests (unequal sample
+sizes)</li>
+<li><code>pwr.anova.test</code>: one-way balanced ANOVA</li>
+<li><code>pwr.r.test</code>: correlation test</li>
+<li><code>pwr.chisq.test</code>: chi-squared test (goodness of fit and
+association)</li>
+<li><code>pwr.f2.test</code>: test for the general linear model</li>
+</ul>
+<p>There are also a few convenience functions for calculating effect
+size as well as a generic <code>plot</code> function for plotting power
+versus sample size. All of these are demonstrated in the examples
+below.</p>
+<div id="a-simple-example" class="section level2">
+<h2>A simple example</h2>
+<p>Let’s say we suspect we have a loaded coin that lands heads 75% of
+the time instead of the expected 50%. We wish to create an experiment to
+test this. We will flip the coin a certain number of times and observe
+the proportion of heads. We will then conduct a one-sample proportion
+test to see if the proportion of heads is significantly different from
+what we would expect with a fair coin. We will judge significance by our
+p-value. If our p-value falls below a certain threshold, say 0.05, we
+will conclude our coin’s behavior is inconsistent with that of a fair
+coin.</p>
+<ul>
+<li>Our null hypothesis is that the coin is fair and lands heads 50% of
+the time (<span class="math inline">\(\pi\)</span> = 0.50).</li>
+<li>Our alternative hypothesis is that the coin is loaded to land heads
+more then 50% of the time (<span class="math inline">\(\pi\)</span> &gt;
+0.50).</li>
+</ul>
+<p>How many times should we flip the coin to have a high probability (or
+<em>power</em>), say 0.80, of correctly rejecting the null of <span class="math inline">\(\pi\)</span> = 0.5 if our coin is indeed loaded to
+land heads 75% of the time?</p>
+<p>Here is how we can determine this using the <code>pwr.p.test</code>
+function.</p>
+<div class="sourceCode" id="cb1"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">library</span>(pwr)</span>
+<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.p.test</span>(<span class="at">h =</span> <span class="fu">ES.h</span>(<span class="at">p1 =</span> <span class="fl">0.75</span>, <span class="at">p2 =</span> <span class="fl">0.50</span>),</span>
+<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a>           <span class="at">sig.level =</span> <span class="fl">0.05</span>,</span>
+<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a>           <span class="at">power =</span> <span class="fl">0.80</span>,</span>
+<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a>           <span class="at">alternative =</span> <span class="st">&quot;greater&quot;</span>)</span></code></pre></div>
+<pre><code>## 
+##      proportion power calculation for binomial distribution (arcsine transformation) 
+## 
+##               h = 0.5235988
+##               n = 22.55126
+##       sig.level = 0.05
+##           power = 0.8
+##     alternative = greater</code></pre>
+<p>The function tells us we should flip the coin 22.55127 times, which
+we round up to 23. Always round sample size estimates up. If we’re
+correct that our coin lands heads 75% of the time, we need to flip it at
+least 23 times to have an 80% chance of correctly rejecting the null
+hypothesis at the 0.05 significance level.</p>
+<p>Notice that since we wanted to determine sample size
+(<code>n</code>), we left it out of the function. Our <em>effect
+size</em> is entered in the <code>h</code> argument. The label
+<code>h</code> is due to Cohen (1988). The function <code>ES.h</code> is
+used to calculate a unitless effect size using the arcsine
+transformation. (More on effect size below.) <code>sig.level</code> is
+the argument for our desired significance level. This is also sometimes
+referred to as our tolerance for a Type I error (<span class="math inline">\(\alpha\)</span>). <code>power</code> is our
+desired power. It is sometimes referred to as 1 - <span class="math inline">\(\beta\)</span>, where <span class="math inline">\(\beta\)</span> is Type II error. The
+<code>alternative</code> argument says we think the alternative is
+“greater” than the null, not just different.</p>
+<p>Type I error, <span class="math inline">\(\alpha\)</span>, is the
+probability of rejecting the null hypothesis when it is true. This is
+thinking we have found an effect where none exist. This is considered
+the more serious error. Our tolerance for Type I error is usually 0.05
+or lower.</p>
+<p>Type II error, <span class="math inline">\(\beta\)</span>, is the
+probability of failing to reject the null hypothesis when it is false.
+This is thinking there is no effect when in fact there is. Our tolerance
+for Type II error is usually 0.20 or lower. Type II error is 1 - Power.
+If we desire a power of 0.90, then we implicitly specify a Type II error
+tolerance of 0.10.</p>
+<p>The pwr package provides a generic <code>plot</code> function that
+allows us to see how power changes as we change our sample size. If you
+have the ggplot2 package installed, it will create a plot using
+<code>ggplot</code>. Otherwise base R graphics are used.</p>
+<div class="sourceCode" id="cb3"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a>p.out <span class="ot">&lt;-</span> <span class="fu">pwr.p.test</span>(<span class="at">h =</span> <span class="fu">ES.h</span>(<span class="at">p1 =</span> <span class="fl">0.75</span>, <span class="at">p2 =</span> <span class="fl">0.50</span>),</span>
+<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a>                    <span class="at">sig.level =</span> <span class="fl">0.05</span>,</span>
+<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a>                    <span class="at">power =</span> <span class="fl">0.80</span>,</span>
+<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a>                    <span class="at">alternative =</span> <span class="st">&quot;greater&quot;</span>)</span>
+<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(p.out)</span></code></pre></div>
+<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAIAAADytinCAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAgAElEQVR4nOzdd1zT6BsA8Dejg1X2kI0gCA7c4ALEgYeCe487FffWc5640HOde2/PcefPvRVxgNsTxIUoiIoM2bKhK/n9UcQCpbRYCNbn+/GPNiZ5n6TJQ/r2TR6MpmkEAACg7sGZDgAAAIBskKABAKCOggQNAAB1FCRoAACooyBBAwBAHQUJGgAA6ihI0LWDSg7ZtCjo9FsxQggh0bPFTdmGoy4LGI7qByGOXtWarTHgZHEtrQQ+LFBXQIKuHVTqnX1rN19+LznnMY6hlYOdiRbDQQHZ4MMCdQXJdAA1ghKLMYLAKv1/ml8s4HA5KlqbfJK2iDLTCOfpl19PV3ZNYpEIJ0nF4vi+mL+fcnu4Tqv5DwuAyqjPFTSdtq+7hsGIfZeX+DrocVgsTaMGHUdtuJNKSf5bHLvOXaP+zLBPISsGuVnZjAvmI4RQ4dtTf/RvbWegydU2adB+2IorHwUKrU3usuXbCtj7l5dWixVRwsyDvhxO+/VxlPhVUHOO1LfmyldFvd/YQcN68unbq3s5GnDZbC2TBh1Hb32YIev2z+rHTH3c5MFhuS59LpI0mrjDm4sT9cZd50sWyz8zVJ8wGHY2HyFxyp2NY71dzHQ0dUwc2g5afPptoeytLtnD5ULMf/3vXP/mVroamvo2LXvP+/d1/tctEaeEbRrbtYmlngabo2PW0PPXtbc/i2V/0pWsRBS+0IVjPvHmt74I/tmhOhy3NTEy1lNZc9SnrbXyYQGgEFpdUKl7fTgsXT1ttoXH2CXr1y8Z62nJwjSbL3pYQNM0LYpZ68Y17+znbtNyyIL1+2/Hi2nxh4O9TAnC2P23xRu3/bVgcDM9nGUz8kwKVfXa5C5boa3YlLf/HR1jT+r6b3749E1qMS16ubwZ2+C3S/wqVyWO29Ceo2NtY2zkNmbVvn+ObJzUzhjHTYef/UIpuwfkNSR8trgJyem8M4miaZrOPztMH0OIbLrkmZCmaVpwf1Z9UrPHwTRx5tVJThzSqPWIRRt3bF05uYsNhzDuvuOtsJI9XI4wZld3Y4Jbv/v0Vdt2rJnaxZpDmPY7liSmaVoQubyFBq7bZODCjXv27Vo326+BJq77y94EMU3TtOj1n61Y3P4niuSvRPhkgTO73oQb/NIGi88M0Wa3Wf1WVH4lcprjp9XAh/VdRzb4ialZgkaYTqdNb0vOUMH7A71MCC2f3YliSfpgYWSjOffzSxYouD7BiuC6BT0rLFlBTthMZ5J0XvhEUOXa5C4roy1a+HRRI5bhqCuSlUmf8/JXJY7b0J6NiAbTbueV/Hfy7m4apMPvDwXK7gG5DfFDp9qQ+kPP5NE0LXw015HToHFDDrfr7s8UTYvf/dWWze648QP/aWATllbbVS+KS1oUJxzuY0wYDTuTI3ury8o+O9yEMPDb/0kkeV8cEejKYnfY8F5Mi+PWt2NzOm56/zWp8+/MsCONRl/l03TZ3CpnJYonaPnN1cCHJXuHAFAV9eniQAghhBv1nj7akS15w7IbNnuIVfG9a2F5Jf9NNh400q3k1x7hs2vXP2t0mzyhqYZkAsbrMHWcO/7uekicuIq1KbBsmbbkUGRVrKYjx3XULvlvI0dHI0wsEim7B+Q3xG7VxUM37+Hd50JEJT9+lGDefdqQJtTT+0+KEMp9fP8l7dzZu967K5ffkJ4BYxp/7VvGLQeM6aGffS/subDqrS6+f/5almm/yYOtSjrkOc3Gb92/bUIbDkK43fTQvNxbU+1KjkcqL+uLgBaLReV7B+StRHEKN1eOqj8sAKqgZj8Skg6ujaXSA8vF1YUUfPqYJEZOCCFEWNpYfv25TpgQ/xlZD3bR+/ZDDm7RqJEBfT4+oWT2Stcmf9mGRPm25KhiVSRCCOHmVubf/pJimLyfnqobs2a7Lu04/3tw/4PY9eXDF+zWU/p6YitWBj+IEvnk3fuPbzmgszOWuC1JXPR0jAk+pkyTmE5GFlXyc0blW02lxX3IxRs0ceZKtd9xxNiS1wTJj7v+96kbT169ffcu5nVUbFohrafcSpRIg5hizZWn6g8LgCqoWYJGZU8HDMdxhMTi0p/JWKzSDZZcLJU7f3AcRxRVeh1V2doUWVa6LTkUCgPHFT/PqxkzZuDRuQW28N6j9PYvnvCbTGmt15x24+5+8PDTm9xH6XqeXVqw0COSwI36bbu4oA2r7Fr067MRkuzkyreaElMIkYTM9E19PjvWc+ihZHOP3n4evp5D5jThhU7qs1e5lcgi+2G6CjdXfm0IIZV+WADIp2YJWvTu5etCZF/yDRPxo569FpEu1vVk9OSwLazN0PWo6Fy6hUHJCUWlvH6dgVlYWxBVrI2dXeWyilIgDKVUO2bc0svbSbQr9Oyd2GQLdzcLQtu9QzO0+N7Vm7lvOB1+b6eBSBt7Gzw/F7dp0bLe1xRU/O7WuSeiZk5VB4YbW1tqUg+iY4XIoqQ/gkq4uHLNDdNRa8doHvrzyMdGi5/cW+IquTYWvfhP2ZWMc0UIlUnJdGZKmlBGhha/VbC58lT9YQFQBTXrg6bSz245FFfSISr69M+6Ix857t299GVc0rCa+3QxLQzevifq671leQ+27LpP1e/WzZGoYm0KLCtbxWxR7VVVovoxky7eXvW+3Nx84CmnddsmLISbt21nV3Rvy85HqE1XT10M4bY+vo2oO7u2PSkoWYPo/cHJfUfMv/BZkQG/mh18vbQT/7ftdErJFxrhm6MrVu4J+8wiqPSUdIpr72L/teeiOCb45jtZg+zkrAQhgiSoL3Hvvg5rE7w6ePCBUMZKFGyu5j8sAKqgZlfQOI8dOc/7l+jxvRrSby/s3XuzsPHc5b/a4AhVPNu1usxf9sv5cYFdu76fPLgVL+3u4a3/xFoMPz6jNavk5Kx8bXKXlQUjWSyU9+zK/y7rtfNqZ6toGKrcA1U2xGrZ2UNn25F3pOe01poIIbJxB3fe2kOxROvRncxwhBDRaPKqsUd7rfmlQ+yoIZ2dWDFnt+28ye62c6YHV15IX3eByYClC3Z7Lgjw7B05rqcTGXtuy/YIPb9DYxqTZI5nB6Ptpxf9tqJgqAs75dnFPXvupHFQwcubl5+36ulqrNBKEO7g1tpY8PeSQdOFkz0M0u4fXLvjJWLL+NNBNpHbnBlRWx8WAFVhehiJylCpe3047E6b/7u2tFcTMy0OV79+uxFrbyWXDMcSxax1Y3H7/JNXZqH818fn9WlprctlaxjUbzt0+eUPfIXWJndZmW0VP9/ay1GPw+J12f5BXGZordxVieM2tGdz/Q5/G0krCJ1qzbKbcbeSYXbVjZmmaZrK+NtPCyOd5j0WlqxwX3cNjHScW/KepmlamHhjzcgODYy0uDqmDm4DFp9+k0fJ28PlQswK3zvFp5GZtoa2iUMrv5lHXpQsTWXcWz+snYOJjrZxgzY9Z/z9IitqR09rLY5B3yNpVJkhzHJWQlOZD7eN7uhgrEViCOPa+q3bO7Oxhqxx0HKbq4EPS84uAUAOjFaXmoR02r5frCcL1sfdmGz5/R03ql1b7fgRY64ZND87NZc0NtaGfgfwY1OzLg4AEEIYR8/MuOrZAKjrfu4rLQAAqMOIpUuXMh2DamA4R9vYsbWHu4spu66trXb8iDEDAORQnz5oAABQM9DFAQAAdZR6JeiCiG2DmtXT4bVcFvmdz6eh0/Z153K77U6R/f2CkTJIijeqVI0o6tNWL46G/5FsJZooWxRKbqhV7EmlGqrh3V4csdTdbfHTWvtQa2pzqvp0ao7qTsDvUyOHDfVhh0/T8de+1GqXgzolaDrz5JK5Zwo7rTiwblD9mh1gxUgZpFpoVNEmyhaFqv56qlSL1aeErzZPO+Iwd3rzWuvAr6nNqerTqSm1eAJWoUYOG9zut8Aud2ctDc2rel6VUadhdnR25hcx2azvhP7eytVaUr4+U2VlkL6j0BElFNIkS16VqurVXlKKCpqQ7Mxv61Hl9UYNVp+isy+v2ZzR97SfoZKf3ncU96qBo6gqSkarXCQqOwGrPheUorLDRrPtpDH6bVYcnuU52aa2Lm2ZvlNGVfL+6VN6vzHZcP5/Qpqm6YI3Jxf2a2Wrr8HRMnZoNzSo7M1+XLsZofHXgwa2sTAdcb647Oqo1L0+HE6XrY8uBPZuZq7N1TCwcx+6Mjih5JY66bvLxHEb2nOtJp26tcq/AY/ASE1jhw6jtjxI/1bypPIwJMuO2/v3uNbGbAxn61i1HrnjaU7eywNj29nqaWga2Lb9bceTbKpCozRNiz6Hbgzo0thCl8tia5s6eYxc8+22ybK33pUjSr61dmS7+gYaXB2LZr0Wnr691uPr/W9lmxAl3/5rlHdTWyNNjpZxA49fN9xNE9O0OH6LZ+lFJrvdX+/EFXem1Hqq2JNynrIvo6FyN/VVtWPlfShliT/t7Krb6I+Ib7dMytu9sg4eKi/qnzl+zSx5XA096xa95v4TVXqLpczdqPRRJPoctiGgk7Optoa2sb37wMBTbwpkbYgCn478rasqkko257tPQKXOBTmbUKOHjTh+Wyftxn9EVLyPt4aoTYIWZ8WFn5vRlMXpsuZBxKvEAiWrUpWvz0Sl7vXhEKbWltpWXuOWrl+/OMDDkoVxGk67kU3RFU8tOVWpqiySxGZrauk5D1i699jfa0Y01cFJc+eG5k59AvdI3mPk17xR5jhTvEZUOblhvzfWwNjW3hOWbVi/eFQ7M46RsT4uI0ELX6xsrUkYtByxeMuePRvm9rTn4gb+h5LEMopCVdiZ5RN05XtSXhmUGqk+JTNFi99v7KhRf+a90vNO/u6tePDIKcRV2W5U6iii5BUbK0OBT0f+1smPpNLN+e4TUKlzodaLln09bMTv/mrHdZj9oLYytNokaFqy79jcASclF8NKV6Uqo6R8FK/L1tiSj0Lwfn8vE5zbYWOcuOKpVXlVKgWKJOF6v+wt+QNRfGdGfQLT7rTlneRypvjeTHuC0/NQFk2Xb1TRGlHl9lHcxo5c3Lj3wfiSU7vw+cq2GhiqmKBFr/9sxWJ7bvn6p6vo9nw3x6bTr0kKA5YtClVhZ5ZP0JXvSfl1qmqlVBhNUxmHemryBvwv99tukrt7K2xv5YW45O1GxY8iodxiY+VV9enI3zq5kcg9Kr7vBFTqXKj1omXf/nTfmW7LabEiSuoJNzVJnX4kLEMVValw034zfnP4+qw3u+Gzh1gLI0LCsmR0q1ZW6EihIklt+vhZST4Ilq29NcFq3a+PneQ3FrZdAxsCiUTi8k1Ws2gTnX7r2hOR/cg5Q61Lfn3QaDJ+SneejN4+XFdPFxfHhJwNTxcihBDXa9Wjt883+VT24Dq5O1OJPakglVafEr2OfCW2dXHSKI236t0rvb1yCnEptRsrC1gcU3WxMfnKfDoKbF1lkSi+OdU7ARU9F5grWkY2bOyE3ka+KES1Qn0TdEL8Z2TduGJ1osT4hK+fRFVVqcgGro00v71lubi6kKLkxBSq4qyVFTpSJAyMw+VgUktimlqaUu9l/1SCEST/4839f84ZN9Tfu01Dc+u+h5NkxFWOOOljgohs3LLpt5EKmF6zVg4yfivG6g1cOKs1/8pMdwsTe3e/MQu2nH2WLmfslNydqcSeVJAiO1bh6lOC5MRU2sDIQGrmKnev1PZWVohrWHtzXKndWFnA4sT4JHHRlTEmOFZKo+ehDHFWRpZiu7Dsp1P11lUWieKbU70TUOFzoXrHvwoOG0zHyJAtTE5Mrf6xqwy1TdAqqkpVZnkcxxEiZNZbqqzQkUJhVAP1+WxAS1ffmfvDC02a+45ZcjDkwhxXBYbkYHiFTxzjcGQ9NBlhht5/3ot7dW3f0pFttOKvbJ7Rr5Vz57VPKx1bXcXOVHRPosrqVJWbR7JS1VSfEvL5NMbV4JbOrMjuldpeSkwhhMveHGV2Y6UBkySBG/Xb8TC8rCdhyz0UHBQo/ekosHWVRqLw5qiwLJwM1T3+VXDY4FwNLuLzBbUzHFqdhtmVoYrqRKJ3L18XIZuv38FE0S+ixZxm9ZWpblRDRZKqW7SJsLS1IkXRL9+IhrT6+tEXxbz+IEJGFZrIjo9JFhvbdxu9sNvohUj8JWL9gC4LV28KmXbYT5Hn85dR1Z5UoE5VOSrdsRq6ehz63ZccChkTCCm9e+VW87JPqXQ3KvyQ/+8rNlZetSt+IWWOihotD8Zk0TJh9pd8pKsnq1uwBqjtFbQqqhNRKae2HPlQ8gVO9On4hn8+anr19NKp5TBkRaZwjaiyMEPv7m6s2MMbTieVzCyM+3vTaVlf1/i35rs3cZ95NVfyltBv5Oaij4TFRVJfaBW+iJCzJxWqU1XD1adIe0c7LDW5tMdF2d0rpxCXIruxStUrNlbZp1PdgwchxY4KiRotD8Zg0TIq9XMqpWfvYFI7qVNtr6BVUZ2IIAtDpnfyjRrv70i9Prdnf2hB6+XLBpsp9aezZookVVG0qfJnIeO2o5ZP3tt9/a8dM+8H+Dmi6LO7jybYNdR5W2FODY/+PU1OHJ/Ug/t8oLsNJzPy5I49CfUGb/TWQvIqeMlW+Z4k5depqp1SYUQDt9b6fz6N/Ex1sMaR8rtXTiEuDfPKd6PivZjKFRur4tOpYutM5AUi96goqybLgzFYtKzw2X9RZKvRzWurxlntDBapFWVH+dC0slWppFGpe300zEYduLzm1w4OhhpsDSNHr7HbHmZ8vfeg/AApuVWpFC+SJE7Y1onN6XEw82sNp+SdnTmc7vvSyw++VqpGVDmipJurh7erb8Bla5k26hF47WPwhHoaMm5UobKf7pvs08ScxyFZmkb2bQcGnokpGZxUrihUhZ1ZbpidnD0pv05VrZQKo2mazjs/0kR/4Ins0qDk7l5ZB0/l1bwq3Y3KHUWVFxuroIpPR/7WVRGJnKPi+05Apc6FWi9a9vVT4N+dWV+7845P5e6bqDHwuFFQRzBbp6r43qymvROWx5wYbFA7nYvgR8S/M91lQMqq18cHKvtIgGpS2z5o8KPBOHpmzFUR5LadML5h2JGz1XvoHvg55N08fI4cNtW/lrIzggQNgAThOPGvMclbNjwsYjoSUEeJY/auudtp7cL2So9iqj5I0ABIaLr/sWeabvyHWn3IN/hhUMmx4r471vob1WYfGPRBAwBAHQVX0AAAUEdBggYAgDoKEjQAANRRkKABAKCOggQNAAB1FCRoAACoo9T3YUmg1n35Uvz+fQ5BYM2ayX3iDgBAMeqToDMyMpRdhMfjIYRyc3NrIBwlYmA2AENDw6KiosJCFZTwuXDh45gxoTweOy5uqOJLkSTJZrNVEkD1EAShr6+fk5MjFCpWP6oGcLlciqIEAsZukuFyudra2pmZmQzeGKGjo5Ofn89gANra2iRJZmdn137TbDZbko7KgS4OAACoo9TnChowrnt3q9jYIXJq/wEAlAIJGqgMm02w2Uw9jg4ANQRdHAAAUEdBggYAgDoKEjQAANRRkKABAKCOgh8JgcoUForS04txHFlZaTMdCwDqAK6ggcrcuJHYqtUpL68LTAcCgJqABA0AAHUUdHEAlenSxTI8vD8Of/QBUBFI0EBlNDVJGxvofQZAZWo6QQsTHoeLm7W15Uje0l8i/9l+8ObbHI512yGTAzzMycomVkDnJcQVGNubceFGYgDAz6Fmv47yE64f3BkcU1zyeCq64PGhbY9MR288uOv35p8O7ApJoyuZKEoK27Fo5owZMwN33kkWIYTo/CdHj74QsCA7AwB+GjWWoOm0m39NCpi9/2net2nCqEeRJl39XXVJDXtfX+cPD59m0zIniqIunkd9V23atKovungpWoyE7y7c4PT0tYYHPQAAfh411sWBmXT+fUdn4X8bR1/5OonOSk7BzT0MMYQQ4phbGqQnp1K0noyJpEvPnvd2LZx1FGk5+E9oiKXeOJfWPqAxt0wLubm527Ztk7x2d3dv166dsjGSJIkQ0tZmstuUJElmA8AwjM1m48z9tId/xVQAksfvaWhocDgcpmIgCIKmaTabzWAACCEtLS2mAkAIkSTJbAAsFgvDMGbPx3Jq80dCms8XcDRK+pAxDU2OIJdPy5yIWJbek1d4lyyW92jHM4d+c/XLdW8IhcLo6GjJa3t7e0m2VYrkzJS/IBW3wbNt5OyEI/4pW7yb35uYcGKQSg8hDMOqEblq4TjOYAwYhjG7EySHAUEQzP6Vomma2QBQVedCLcTAbAAMHooURcmcXpuhYBwOW5Be0iFNFxUJ2BwOJnOi9FKCmHM3Nfxm6b05sWL/nRQhz2XgtPEdzQiEDA0Njxw5UjpfNSuqiCKXeE+lVlyY00z2rqDZ7hOXO9jnZ2fnFoloYWFOdrZKy26ooKKK6MX63vPlbIJ8hoaGxcXFUFElPz8fKqrk5ORARRWmKqrI/P5Um3+xMQNzM+rz52waIYQEqZ+/GJub4jInfluG+nz9XJZHX+eM4H9j2izcsnXNQPz8yUhVHsbC/KysfGGlxwSm4+I72MOqlju/aaVO1So2obqrBQAooaio6Pz584cOHXrz5o2q1lmrX6lYjdo2T711Pa6YFqeEhUTbtG2hh8meWILOeXjqpVP/9noYQgjHMIQwgkAUpbo/sZt79jvwIf7QcLeplwoQEiZcDRrq0cjWwsqhqdeIdaHpFKI+bPdtMP6ydF6jsx5uHdutRQMbWye33vPOxFUv59FfwneO79bc1NDKe/LudSOchh3PppL29Wk281Twyr5tvJb8JyyMPj5/oIerva1ja78ZByNzaSQjQmHszkEjpDYBVVyq3GpVsdtka9vW7NSpbocPe9dcEwDUgry8vEePHimVZ1NSUry8vAICAubMmdOxY8ddu3apJJJaTdCYVpuA2W3jt8+aOOXP+1bjpvuYYJVMlOC/OXdbx/8XCxzhlj5D7B+vnDFj3j8Cv4EtVfdbzvRLp0fb2fx29PHWnlp0zpWlM87rTz0VHv0qbH+fwn3zd0SKKi7CD10xfq9o6N/3Xz69ssDq1pygi9nK/8GgPv9v+oiD2G8HI6PvLLa9uu96vmQ6nXt99xXLwMu3VjS9Fzg8KLbNsjOPI0I2+qRuHD7jTBpVMcIXdhP/d+TbJuTerrgULbXalR1Y37nH5DA25np6mrdvb1ZzTQBQ065cudKhQwc/P7+OHTv2799fwc63NWvWvH//vvRtYGBgNTpdK6rhPmhWm5lH2ki9x7Sd+y/Y2L/sTDInIoQQx/nXRc4l8+g0GrRow6AaCxQhhDBNz2XX3PVtTbVofhbPWI9dkJdHIYMK81GUWJSflZ4tcmrQe9N9HxFW7t6Z4itT3WZeL5aexG637NaBwcal81Gp107edRx3d3Azcz2e1/S5ff8d/EnyP+J6PSYPb25C5J07cpE36vzMTvYEQh0mLvntbI8Ld/P8O8uIUEr+LRlL5bp/W63q9hYAdd3169e3b9+enp7esmXLhQsX1qtXr8pFcnJyfv3119K3YWFh69atW7JkScU5MT4fy8mR/MNzc6MePiw3Q3R0dMeOHb9zE+BWbylYYezZ5RvOv8zGeSY2hrkipC9rLk6nwIOz121ZNXhHTIFxs66DZiyc0qnMzY9c363PfeW3RKUkpbAsLE0kX2BIS5t6REmCJiyszAmExGkJyQWxd/o1PVia1HVaFubT8iOsZCmqdLUA/JBEIlF8fLyWlpaZmaLfz+7evTts2DDJ69jY2OfPn4eEhFQxkrK4+MWtW+WmPQ4OZsvKszSHQ+vq0rq6YhMTka6uhbNzZFyc9AzW1tYKhioHJOhSdM7lwAn/091yIdTHlIVEz1d2GvlF1mz5iZ8wj7lHxqymC5KfnggcN2FZg6e7eyg39g43MjYQhCdlUMgIIST6nJQqLv0vHEcI4XpG+pwW84LPjbXCEUKoKDn6nchc6+osuRHKXMrCHD/xdbUA/HgiIyMnTpwYFxeHEOrateuePXsUGap8/Phx6bfR0dFPz5zxqF8fFRcjhLDiYozPpzkcmvvt9gocw4wqdGjo29kJvKv+WWXatGmXLl0qfdu/f38bG5sql6oSJGiE6KL8AgohRAtFIpzFIpC4MOnJsU1n3he5F4srzl54b+3gzYarDy71tWFxcIriaGiUzX3Fl6e0nH6NLz2J1W552N9Dv/Wu4xa+g9w3bfvzdLv1fS2f7tp0PoVqgkl3lGAGnft7rlixYFfDlUOaayVdWhIQVDQ3dD1VSYQlmyBzqbC9bircWQB8l9zc3M+fP9vZ2Sl4Vw5FUePGjfv48aPkbUhIyIoVK1avXi09D5abi6em4pmZWH4+wnGEYUgszi17PYsQykZI2KoVIir9KsnR1nbC8ba7dz+U6q+Q7vGQo3nz5vfu3Tt06FBOTk67du2GDBmiyFJV+ukTNGHXuq3mlOGN83c82+03f3no9JlujnwDZ+/fZswb/nbetLHtD7uXXQAz6R+07uWc1b2azeBrmTfpMm7XIi+NMnNwe2yL6lFFs7jVsB2Hs+fOHdBkiX7LkeMHNX0cxy3z5Qsz6bvhUGbg8rm+65KFBo26jjv4Vx9jfYGMCI/f2fRtE/wrLmWEJatiRwHw3ZYvX75161aEUL169ZYsWdKvX78qF4mLiyvNzhJhV66wu3QpybNiMSIISlubNjUVubrSGt9OxbYxMdciIqQXbOHtLSc7S+A4fvjw4b/++uv+/fuGhoYBAQHdunVTcOucnJxWrVql4MwKwhgcFq5a1bxRBaHvvU+kWqikB6fCuZ39W9jp8nIzghe2n8nacXdZ6xocYlEZQ0PDoqIildwncvXqp2nT7uvosJ4+lfGTb2XqyI0qOTk5cKNKZmZmzSWEM2fOjB8/XnrKf//9Z2dnJ3mNCQQ6ublFcXGSLgiEEFZcjBBKLix0HjdOeqlmzZqFhIRU2ZxIJJo0adLZs2cRQubm5suWLevdu7f8RZi9UUWSjsr56a+gmUK9PTH36Gv9Yys6FW3VOAAAACAASURBVIUf3HKR7rSrCQPZWbWEQio7m6/KYeqgThKJRIcOHbp27RqbzR44cGCViU8iNDS03JTH+/Y5demCxGKEEK2lhRwcxM2bU2W7PowQ6njkyN27d0unDBqk0GgukiT37NkTGBiYlpbm5ORUp56woThI0MzArUZs3JK8KMjPeaJIz9Fzxu557bhVL1XHuboarV/fjs2GnyPVXGBg4L59+ySvQ0JCsrKyRo8eXW4eLDubiI/HpK5GeTk55ebRaNNG0KlT6Vuujg6dn48qXMLv27cvKCgoNDRUW1t7xIgRY8aMUTxUKysrKysrxeeva6CLg5kuDukYmA1AhV0c1QNdHOiH6uIQCAQWFhbSU+ytrSO2b0f8b7+LY0IhZWwstrOjpb62P3nyxNf32/hTa2vrGzdu6Ot/Gyn6kz+LA7o4AABlPHjwYPXq1R8+fGjUqNGaNWtsbW3lzIwJBMS7d1lfHyFZ6kturtDdXeYi0lq3bn3s2LG//vorMTGxadOmS5Yskc7OQCZI0AD8pGJiYnr16iV5nZKS0rdv30uXLpXebifpo8BTUhBCNJeLFRcjkhQ7OBj06WO7erX0yIpmLVoo2GK3bt0UHxQBECRoAH5aFy9elH776dOnGxs3juncmeZyscJC2sBA1KiRyNW14oJbtmyZOHFiUlISQqh+/frlRiUDFYIEDYA6eP/+/dWrVxFCvr6+pWPXKoNnZBBv3hS+elVueo61tcDHp8q22rZtGxYWFhERQZKkm5sbg5Vo1B4kaAB+eMHBwcOHD5e8Xrp06bFjx8r0JIjFRGIinpSEhELJ4GJaX1/UsmUHoXCL1N3JCCEPDw8FW9TV1fVW4AZo8J1gRJRM4viTkzo6Nhh4KIkSRO0d1treacKlohppiYrbWP550wqjUw/1qz/q7HcPfxAlXF05snNzR8cWXUetu51a4fZ2wc3pTqbGX5nYTbwqQIjOe/H3TL/WjtbWDVp0C9gY9lmMwsISPduMcrJ1drSt37j9gAUn3xRWvnhWxP7p/u7OtjaO7oOWXksUIYQQnfviyOze7s529Ru1H7DgRHQBorOODbIwLsOs1aKrhypODPxPKLOhKlp37jB0xfWkSlpHMjez3OIrQ+QsXksCAwOl3y5auJD1+DE7OJgVFsYODuZcvYqKioTu7kJPT4GPj8DHR9imDa2h0alTpwULFpQutW3bNldZHRqAQXAFLQuVdPXvEKul948MNaEiDxyKarvzyeZuGlUvV0KZGlSYcZcpQQ2aMPikOer9vnFjThssPhDiIbwWOGb8DPPQY8PMpavaZHz8RHmvuh3kxUUIIQzXMWOhorsrflv26peNp3e148UdmzNx1GTe7ZHsi68/3GdxRz6KHFdwb/XY6WM3Od5e2ETG4lTC0YlDt3Fm77x+wDb/3vqJY0dpXzozyfzO0pFBsYN3X97jIorcMXXSqLV2dxb7b7rrVvD1mapFERtG7zD1a9/P+m6HchN7NiIyjleMk/osv/WcsHWTJ401d70XwLtVsfVljR9V3MwT3e5ILz5pynj9S+dlBr+sdW0UgeXz+R8+fJCe8iE+vsDBgW1oWOWys2bNCggISEpKcnR0NDU1zczMrLEwQXVAgpaFLi4WcEzM9AiEhPxigY6piSZW9VLfCPOzsihFalAhhPGa+A5WwVOvqk0cc+Kfp65T7g9vbo6jgCUBp7ucuJI0JMDqW4YWf3qfZN7UraGDw7ejRfjwWkiR76o/ejXRRMhiSuCIMz2D70zvGsE16TF6Sl9rIxPkN6H/9tN3IzNpl4qLU0n/nn5kHxAa4G6FI7L/ij9CXINORgX0iYj80mxMgFd9Iwx1Dejf6ND5pylYa+v6OiWLCaI2TI3q9udaN5424lWYqCV+VDFOJKyidat+y+fdaLnu6PMRPcIrti4QVdzM0Ff0WenF54a0WFtJ8Ki10g+cpGn65s2bMTExdnZ2Pj4+lT6EUCwmYmPxlBSEYeziYksjo0Sp+wCsrKwUyc4SPB6Px+NxuT/+jVLqCLo4KtSIotKOj+23+VXG6fFthi1a2H/U0cR3ewe1mX6lSEY1KYSo9Lubxv7Sxsm+oZvv2E33Mihx+RpU38iqlVXaxSG4NrmBeb0Spib13JZFiGS2WI4wKXhprxb1rewae4878FL5fpiil5GxFm1aSB5NTdi0aqkf8zKmTCGZgvj41IIHK3ya2ts5u/vPOvwil0a4WadJS0a2LDmpaaFQRGhouA7769HtoMCJLgghKuvNm1R9O1tdTNbiAr4AsThf720nNTWIj29i+Nat25hEXTz18otImBlx6kqsVesWUvUpqU/Hlv1rOWtWO+lbdqUnympI5sTyrXPx96+iBTZuFVsnZG0mVn7xSoNX9rOgKGrEiBFDhgxZsmTJyJEj+/TpI33vDJaby3rwoKTj4uZNhJDQy0vSa7Fw+XLp9fzxxx/KNg3qpp/9CprOCQkcHvRxyLYzO5qSb/6dP2n4DN7t/XtPp/zS9+P8/zZ5s4U9sXZzNPfe/sO18PbvFebc2/rypIBjBot23+5hnnZhwaixC+rf3zPxf0fSPCZTm8s//EhSK2vWsft9LfJuLRk8O6iN98F+pdmG3X17bPJ2hBCd99+ffQOe9B7QqPD2HxVj62dS5mKef/vAxc4HQl43yLsyt+/sdZf6HR6gq9QOyM3IovRb6JckQkxfn1eU9EWAUOmXc1Hih08UZd9tza4d9bLubJs5e/Bs3bt7enUNKBkpQH15snX50cIemzvraurraSI668qCEauvRifoDjlw1pMripKx+A4vb/t1B9ad77DUp17e422rzqSLWxYUafabt7p79xFdnBYjhFgNJ56a1erb8IC82xu3Zww45GsovfnSE2XGucO+itazH2xZez5D7J5fqNmjYusEVnEzu7pYfZJe/K8LGVUGr6CrV68GBweXvn3w4MGpzZt/bdKk5MnF+vqili1pWUMmBgwYUL9+/cuXLyOEevbs2ULhgcmgjvvZE3Te9QMyakT1blJxTlnVpEJffP7fk6ZTHg9vYYoh85ErtnIfcsSV92xUVSsLIYTECaemTzjfcNXFiS7CC3/JiK1fvzIJmHQZOX9kM0MCGfp2bzFn75dcCumWXnUqUHyLpmkalQuDpqTraJGN54XGz8NxDCFk0WfJ0sfBI07fyvEfoIchVPju4l9zF/2d0GLB4VU++pLVYNqtRgYua/vszIZNi9f7XF7hIWPxgr+n7t+a8/vyno2n0PXaDB7u7/gynUMmHJsy7Y7rmmsX+zQQvTo2b8LEWc2Dd/c2xRFCVMKJ7SHO40MbSf/JKztRZpwFf1fRulnrgUN6Nnidx2V9OjK+stbLbiYLK7P44B4NorJkB7+3t3IX0dEVbtKL+vxZ8PvviizbsmXLli1bKtUcqPt+9gSd+imxIPamjBpR5cmsJpX/LiGNZ2tbkplwiw6D+yOEkIxKswhVUiur7Cz5T9aOWZYy/OipHqa4OK6S+lW60v1ShIW1heQXRhzDy+d7BYpv4bpGhnj2lxxK0t1FZ3/J4+oZlO2PxKQ6Qtl2Dtb0q6w8Gmm8Oz7rt8CHFr+tuHakZwMtDCFBbno2rWuia+LsbuLs3t7go9uof+8v9viFI2Nxjp1f0Gm/IIqi2Wz6/u/NDlqYZVxae99h/P1hLUxxhNzHBv560uef65m9RhhjSPzu9P+i3Sb7lLl8rjBRZpyYntzWcVx4b07LY3rm6Rd3ymydV2EzESqzeNjvLfUqCR71HiF/75cQifAXL/CMjPpF5buobJ2dFVoDUFM/ex+0npEBp8W84JdREuEhp46s6GUuY698rSZVZs4+Tcz08xKT8yQXzVTC9a0bL32QUYQFIfStVlbI05jXt7f2Ljo8YVlwmT5qceKZmeNP2gbtndFMs7IWK8aGYUr9flmBRpNmDgnhzzJphBCikp4/z3JybSj1d5v6fGZWn7kX0kq+GIgSPyZxLC0N+I9W/rr0o/+RG8f/8CtJW+K4vYPcp57/WuMcI3CMpsUyF9eNP7t0/pEoIcJxDAlf3rxT1NytKQshJPWsUqmH5ojenD2b0LFPJz3pTS03UWacFvxzVbb+6va94tYdmstuvajiZiLxhzKLh90vlhm8OOvt1KlTx40bd/bsWRkPABKLyefPORcucC5cYN+8SdvYiLy8esyd27hx49JZHBwcFHy0JlBXP3uCNuo+xDNux4Jdd+O/5Ge8Ov573/4bw2WOScYMOvevMKfYoUdflydbl558lZ6bFX1i5cJdUSIejtC3MlrSCu+tHTx88anXGUVIRq2sgqcbxgbGD9i9oY8FXnmLyo2XLr48pZFDWc4j/0krkywIp0HDWj7bve5KQn7uu9Pr9n/oOKSHOU5nvbhy8sqLLBrhxs6Wef9btujos5SstDdXVy07ifcd7kXdOnSC/8v4vma5nz5KxKcV23fuYnlv+6pL0WnZWe9vb1p7hu/t29ZC1uI8E7284D+X7X6SnBZ7beX8g6IBv/kYWHf1axy1a/GBxwlZmR/u7lx2KMndv5MhhhCVEBoW36h9ax3puMtPlBlnJ9uqWg9e9cdhUd+JfkY23fwrts6+XXEzC/Cyix8R9qkY/ISd74uf7z5+/PjZs2fHjRtXejM0ER/PCgtjhYWx7t4VW1nx/f35/v4CHx9aVxchxOFwLl++HBQUNGTIkMDAwODgYB2dMhsNfjY/excHZjpow6HE8jWiqCwZc8qoQWVEYuP37MxduGZk+7m5Gg6eo3av9jfEEG0rVYNK69sKZNbKypf8ryDi37+fZmS96NNwu2QCx2vdf4dl1K9SZusUKb6F8PoBu3e+Hz/f2/kzbtVx9M5NA+vhSPTp4soZl3+51K2pAek85cCuoiVbJnRaksG1adt/88k5Hbhxf73N/fRqTLujpavh+Gw/NmOEmUP0pek9/hUgXZum3nOOLPMzZGEVF9dCyOuPXZN/n/dbh81s+zY9151c7qWNUINxB49SS1dM7boyHTdt2m36P4uHWeII0dmP77+xbN6sTP9GxYmy4tQiURWt12/t++c/i7vqoBzHCQePCsu2Xi95vYzNjDo6QHrxFUf/qBi8gGOE0LfvRxs2bPijYUMWiyVs1kzo6Snn09DU1JwwYYKCny9Qe/A8aHgetMqeB33hwscxY0J5PHZc3FDFl1LL50EbGxuXm/Ly5UszM7PK5v+Bngddc+B50BWn/+xX0ECFbGx0Ro505HIZvC2SYXhWFhkZiUSiDi4u916/Lp1uZWUlJzsDUBlI0EBlXF0N169vx3QUNaKgoEBLS6uy/yXi4/GPH7HiYtrAQNCpE8LxlVZWw4YNS0xMlMywbt262ooUqBVI0ADIc/v27fnz579//97ExGTmzJkBAQEl/yEWk5GReGYmEovFTk7lepZdXFxCQ0PDwsKEQmGHDh1MTZW+qxAABAkaADmSkpIGDhwoeZ2WlrZgwQI7c/PuhoaSWqhCd3dRq1aVLaurq+vv719LgQI1BQkagErdu3ev3JTgf//tfPAgIuHEAbXhZx8HDYAceMWxJfXqQXYGtQYONQDKwwQCMiICy83tVGHkU48eVQ4sB0BlIEEDlXn+PPPw4bdcLrFypRvTsVQLRZHPn2O5uZhQKGzXjtbUNELonJnZggULoqOjzc3N58yZ4yn3NhMAVAu6OGSgEnb3tKu0lJSqCk3JJEq8Lrf6lMwZZFZ1YkB8fN7hwzHHj8cx0nqVcnJyTpw4cfDgwXfv3pX/v6go1rVr7JAQytpa6Okp6NKF1tSU/E/79u3v3LmTlJT0/Pnz0rp/ANQOuIKuS6j4Q1MnnTaSU31K1gxmskpSMcHcXMvf31ZTsy4eVO/evRswYEDpwOQtW7YMGTIE//yZePOGYLFQ48bC7t3l3EnIZtdG8SoAyqmL59JPSxx37kRkkykPKq0+JXuGX5NklHpiQqtWxvv3ezEbQ2WWL19emp0RQtOmTRuko0OamQk7daIIAunro5wcBsMDQCbo4hAmXA0a6tHI1sLKoanXiHWh6VIPoRNcn+rSc+6qUZ6N7W0cmnceteFOasmznisWmpK3HgUVR7+Is2glp/qU7BlklnoCZb169arclLf29nJGMQNQF/zsCZrOPr90xnn9qafCo1+F7e9TuG/+jsgyz9sXPjl2SXvikdBHIVv6Cw//NmbvOzGSFJqyWRby+s3t5c7hQesu5dA5V+SvR5FY8jKzxboGZapPffkiqGqGwsQPnyjKqNuaq//dOzGv0Yulg2dfgNrMZWB5eTYVxmNYWloyEgwAilOfLg45j0qoDEEQiNdtXVhb/fpm2nRxVraFEaewSKihpcEmMIKjqaXJJTFez0UbRnfQw1DDWdvm3Gp+ODh5iAHBahywbGJ7awKh/r3azNlZINI09l0X5l1+PVrfOi6LLo5vOulK2epTHf58+M8YfeJr5JQGG8dItoaWlhaOEBJpsHEMZ2l82zDZM+i4LX+SsVxS1QkNX7M6ImTguftaQ4covh9YLFY19p6q4DhOEMT31h2oBBYbi8fGIpJcsHp1Dz+/0unTp08vfXqRpGkul8tgRzNJkjRNs1jM/HggCQAhpPn1p1GmYtDS0mLwaXYsFgvDMAbPhYrUJ0Hz+XxlFyFJEtH5L4/PXX/uxRecZ2pjlCuidYV8vkBE0ZRIwOcLxbiJjSVLIFk3z64+LzUhoYhH4eYWJiI+X4SQUExjlEjAF3x5eXxJ+fXwvx1qeLctr95tqRCCgKJYpZFzeXr4l/T0Ir45iRASpqXncHV50htWyQwC6d+2rOytqOepiu8NLpcrFoursfdUhSAIFoul4gDEYvLxYywtjXJxEXfujBBqh1BYWNixY8cKCgq8vb379OlT2iJBEFwuVygUikTKfulRJYqiVPi8U2VJ/jwweBgghAiC4PP5DCZogiAkMdR+02Qldz+pT4KuxtlF03T22d/H/au55UKojykLiZ6v7DTyi1gkElM0osUikVhMU2nv3+eImugihOj0d+9zDNwNaDGNECWWNCgW04imRJnnF437V7f8ekRV9yDRNF0aOenUqH7i/YhUYSNTDFHxTyOzHPs2wKQ2TNYMDiknpk155LV7jb8JhhASfIxL5FiYK7U3KIpiNjcRBKGqAPD0dDI8HFEUv1OnkqFyX9fs4uKycuVKyWux+NsIRklGEIvFDO4EkiSZ/RQkCUIsFjOYHyXnAoMBUBSF4zgjnwKOy84VP30ftFAowlksAokLkx4d3HTmfVFRcZnBx3Tutb+Wno5KzUx4tH/epnDnPj0byHrcMS0UyV+PQtWnHPoMav6i8upTMmewMJVV1Un1e0oBsbE5W7a83L37ddWzfofi4uLt27ePHj16wYIFcXHfxlyTr16xg4OJ9+8F3bsLevSgGf22DoBKqM8VdPXo91m6/OqYmW6OfANn799mzBv+dt60se2PdSidgXAaMtTo7MTOc5MJ6/bDDhyY6ERkPqy4Hj2/+ctDp5dbz/G7RwablnStKlZ9yua3LZsSZyyptPqUrBnwejKrOjEgOvpLUFAEj8ceP96lhpqgKGrYsGF37tyRvN23b9/927cbpafj2dnCNm1EUhVXAVADUPJKXskrwfWpTVfbng2Z7VxjRULUqeRVWFhyUFCElhbr/Pnuii+lVMmriIiI7t3LrPy3zp3XHTmCvuPntZooeaUsKHmFoOQVlLwCNcrT09zT07xGm0hKSio3JQGh78nOANRlkKDlwa3aD/Y30q+RAWCgOlyJ8t9lXF1dGYkEgFrws/9IKB/pPHjpjC5msJPqADIykh0cbNe8+fz580snNm3adOrUqQxGBUCNgitoUNeRkZHEp0/CNm1EzZsjhGbPnu3r6xsZGWliYuLl5VXZAFIA1AAc3KDuIp88IRIThe3aSVJzKWdnZ2dnZ6aiAqDWQIIGdREZHk58/Cj08BC1bs10LAAwBhI0UJn4+PywsGQ2Gx882EGR+ePi4o4cOZKTk+Pl5eXn54fjOKJp1sOHeGamoEMHeNQcAJCggco8f54xe/YDHo+tSIJ+8eJF586dJa+PHj06ZMiQHSNG4JmZwrZtaV3dGo4UgB8DDFAAKqOlxbKx0bayUug+xk2bNkm//ffffz9oaQm6d4fsDEApuIIGKtO5s0V4eH8FZ/706VO5KR8zM61UHRIAPzS4ggbMaGRe/p5DGJgBQDmQoEFtw1NSOBcuLBw3zsbGpnTikiVLjIyMGIwKgDoIujhA7cGKi1m3b9P6+nx/f1OEwsLCLl26lJeX5+Xl5eCg0MAPAH4qkKBBLWE9eYJlZgq6dkVf7/3T0tIaNGiQUk+zA+CnAgka1DgyKop4/VrYuTMFd50AoAxI0EBl0tOLX7/OIkm8ffuSeqx4Sgrrv/9Ezs78AQOYjQ2AHxEkaKAaaWlpd+/mTJhwn8djx8UNxYqKWKGhtIEB39+f6dAA+FFBggbfKyIiYtq0aTExMQg1RWgEQoh19y6Wny/d3QwAqAY4f8B3KSoqGjdu3Ne7Tl4gNGd2t/4i1zW0rPo9AAClwDho8F1evXpV7p7Aq4mJkJ0BUAlI0OC7sCrUA+RwOIxEAoD6gQQNvktjHs+5Xj3pKb1792YqGADUDCRoUF00zbp9m/vly+ELFyQPDrWwsFi6dOnw4cOZjgwANQE/EoLqIBISyIgIQZcutLa2LULHjx9nOiIA1BAkaKAkmmaFhdE8Hr9CV0Z2Nj8+Pp8gsMaNDRgJDQA1AwkaKIH49IkMDxf4+NBaMp7Kf+fO5zFjQiU3qtR+bACoH0jQQDEUxbp3j9bR4ffty3QoAPwsIEGDqhExMawnT/h9+tCamnJm69LFMjy8Pw4/PAOgIpCggVwiEfvWLcrConjYsCrn1dQkbWy0ayEoAH4ScLUDvjl58qSHh4eLi8vIkSM/fPhAxMZyrl4VenmJGjViOjQAfkZwBQ1KXL9+fdKkSZLXV69efff8edjBgyw/P2ajAuBnBlfQoMTp06el38YmJz8qKGAqGAAAggQNShVUSMdQhgoAZkGCBiU6tW1bbkprJStUCQTi7Gx+To5AdUEB8FOrzT5oKun03Cl/x4i/Nd5k/J4VPQxTz82bdOCNCCGEEG7UI2jv+CZExaXpvIS4AmN7My5WW/H+TMjo6AlWVm9HjTp48CBCyMrKat26dQYGyt0QeO1aAtyoAoAK1WaCxs37rDnpT9EIIUQXRO5dfqOhmyGGxOkp2c2m/D2/kzaGEIbhBIGQKClsz85zMflIx6nPxLEe5iSd/+To0cQecx1qMd6fBnH3LuJwhP7+a/39Fy1alJGRYW1tTUIxFACYVqsnIYYTJE4ghJDg7YVT6Z1nTTTCEF2Umo5M2/PYrG+XzaKoi+dR31WbWqDInYGXotuPa/j+wg1Oz1nWMq6swXfACgpQcDDl5SX6+hBnHo/Hq+7j9j086t244UcQ8B0HANVg5CqJTrvxzzOXIavNcIQQlZ6aLnh9ZObo5Cxk6NJ19MTBrvqkS8+e93YtnHUUaTn4T2iIpd44l9Y+oDG3zFrEYnFKSorktY6ODkEonb0xDEMIVWNBFcIwjKkA8Lg4MioKDR+OBAKiuPj7V2hoqGloKO9WQ9lh4DiDOwF9PQBwHGcwBhzHEaOHYmkANE0zFYPkMGA2AKYORUkukjGdgd3Bf7ln3jnbRYu6GWEIIfHbU6vPCbuP6d9CN/vxnqU78wdunuupJxUtnfdox7bP/nP7WJXdbykpKT179pS8/vXXX6dOnVp7m6AGrl9HOjqowg+DAIDaJxKJZHYq1n6CpvPurJ39X8dNv7ereK1FJZ+ZN+dj/0Oz3L7VURK8PbLufvNZA7CLm/ffSRHyXAZOG9/RjEBIIBA8e/ZMMlO9evWq8cVcS0sLyRpeVpu0tLRqO4DiYtaNG6LWrWlTU4QQj8fj8/l8Pr9WY5BCEASLxSpWxSV89eA4rqOjU1BQIBKJmIqBzWbTNC0UChkMQENDIycnh6kAEEKamppFRUUMXkFraGgQBJGfn1/7TZMkqSXrCZG13sVB5zy+E9uwy1TN0vcxD6OJJm72OhhCGI4TJElKXT5Tn6+fy/IY75wRvCSmzcItXTVf7F58MtJtais2YrPZbdq0KZ0zIyND2VgoikIIMXhWSGKozQCIDx/IyMjCXr0QQaCv7dZyDOXQNI3jOIMBSL7SikQiZmNg9lMo3QkM5kfJHmAwAA6Hw9ShWFkXR62Pgy58Gf7WxrWRxrcI0u7v3Hz8RQ6FxF8iL9zOaO7esLQrg855eOqlU//2ehhCCMcwhDCCQBTF2Cf4Y2M9foxlZvL79kWMdrsDABRU21fQwncvY40ch2iV/rnAdNoFzEjYdXj+2Mxi0qR57/ljW5f+J//Nuds6/nMscIQsfYbYb14545JIy7HftJZQNlpZIhHn2jWhqytlZcV0KAAARTHxI2HNqEYXh6TbOjc3twbCUSIGlQeQlZW1cuXK0NBQbW3tkSNHBnTvzn7yhO/ri9jsijMbGhoWFRWp5K7uq1c/TZt2X0eH9fRpf8WXIkmSzWYzeFs5QRD6+vo5OTkM9jBwuVyKogQCxm7C5HK52tramZmZDCYEHR2d/Px8BgPQ1tYmSTI7O7v2m2az2TJ/RYObEdTQ2LFj79y5I3k9f/58Ii7utz//rIV2hUIqO5sPPVAAqAokaHWTnJxcmp0l/gkP/61Wmm7Vynj/fi+ShAe8AKAakKDVTcVBQnl5ebXTtLm5lr+/jKFCAIDqgYsddWNvb29raSk9xcvLi6FYAADfBRK0umG/f79v/Hg7OzvJ286dO//xxx/MhgQAqB7o4lArZEQERlGuEybcHzPmw4cPWlpaFhYWTAcFAKgmSNDqg3X7NlWvnqhhQ4QQi8VydHRkOiIAwHeBBK0WaJp9+bKoRQvK3JzpUAAAKgN90D8+gYBz4oTQ05Px7HzzZlKrVqe8vM4zGwYAJAjbSQAAIABJREFUagOuoH9sWHY2+/p1ft++iMWqeu4aVlAgjI/P5/Fk3K8IAKgGSNA/MDwhgfX0KX/gQKYDKeHqarR+fTs2G76WAaAakKB/VERsLJ6ezu/Vi+lAvrGx0R45En6ZBEBlIEH/kMinTxFJCtu1YzoQAEANggT942HduUNZWYm/3ooCAFBXkKB/KDTNvnlT5OpKGRszHQoAoMZBgq7Tnjx5snnz5qSkpKZNm86bOdPu2TOBjw+toVH1kgCAHx8k6LorKirK19dX8vrVq1f/3boVcu+eNmRnAH4aMCKq7jp+/Lj023cpKWH37jEVjCIePkzt3//6yJG3mA4EADUBV9B1V1ZWVpVT6pT09KKwsGS4UQUAVYEr6LrL3d293JQ2bdowEomCGjTQmzatyfjxLkwHAoCagCvoumtkq1b/eXsfv1XSY7Bq1SonJydmQ5LP2VkvMLAl01EAoD4gQddRxNu3eE7O1v/9b/bHj0lJSU5OTkZGRkwHBQCoVZCg6yLizRs8J0fo7o4QsrW1tbW1ZToiAAADIEHXOUR0NJ6bK3RzYzoQAADD4EfCugWyMwCgFCToOoSIjsbz8iA7AwAkFE7QwvTou9eDw54lFdI1Gc/Pi5Rk57o9kE6+8PD0MWNCp06t03fTAPADqawPuiDuxomzDz4Walg28+nra/9+jU+3xQ+yKRpjm3dddfHsrBaatRqmuiNfvkQCwQ+dnRFCyckFFy585PHYW7cyHQoAakFmghZFbfilQ+A7y6a2ZMrroD+We3c3f1rw6/l3S9qz3h6fNXjegqODro6zgN4RFSFfvkRCoajlDz+C2MZGZ+RIRy6XYDoQANSErAQtDP97T/LA09G7uuti1Jd7i7p1W/262+GrPerrY8h9XOCoPd0evRCNs4AbelUBe/YMCYWiFi2YDkQFXF0N16+HGgIAqIysy2Dqc2K6favmPAwhhOu3nznRS8umsQsPk/wvi80SCgTQEa0K5IsXSCRSj+wMAFA5WQkaNzbTf3E1OFGEEEIIM/RZdHDdEAfJ99bilyfPvGnQ1BnGT3838sULJBbTrVoxHQgAoI6SlWhZbr+Nrd9xTBPH7a0aGnNLUvih7QghJEgMv/0St9ea2esOhhBid1jwv/ntWbUXrtognz9HFCVq3pzpQAAAdZfMK2FW07nB/zX++1jIi6QcgZiW7s4w6j6smdSM8GRJRUVFRYWEhLDZbH9/f9vMTETTkJ0BAPJV0lWBaTv1mLy8R+3Gor6OHz8+depUyeslS5ZcWb++9ciRzIYEAKj7YKxcjaMoKigoSHpK4D//MBVMjYqOzg4Kili79hnTgQCgJiBB17iUlJS0tDTpKREREUwFU6NiY7O3bHm5e/drpgMBQE2oz2gMDMOqsQhN09VYUClmZmblpri6uko3WtMBKEIlMZiYaHp6mmtqkkqtDfvq+wOoHknTjMfAbAClYfzMAZQeCUw1LWM6TavJkGY+n6/sIiwWCyEkFAprIJwydq1ePWPp0tK3Fy9e7Nq1a2kMtRCAHBwORyQSicVipgLAMIwgCJFIxGAAbDZbKBRSFMVUDARB0DTNbAAkSVbjJFIhxs8FkiRxHBcIBLXfNE3TXC634nTFEjSdnxyXrWVnqVuHb+LNyMhQdhEej4cQys3NrYFwvsGyslhPntzR1Q0ODmaz2X379pWuXMXj8Wo6APkMDQ2LiooKCwuZCoAkSTabzWAABEHo6+vn5OQwmB24XC5FUYykhtIAtLW1MzMzGbxi09HRyc/PZzAAbW1tkiSzs7Nrv2k2my1JR+Uo1sUhuDaj1b5uMVcDTJj/Mv5jwYqL2bdu8fv3d5dVBBYAAOSAHwlrEkWxz5/n9+nDdBwAgB8SJOgaxLl0SdC7NyLqcMcQAKAOU6yLg9V29uF6prrQv6EE9uXLgo4daQ6H6UAAAD8qxRI0buHmb1HDkagV1v37IldXWl+f6UBqVWxsztWrnzgcYvx4F6ZjAUAdqM846LqDfPaMMjKiLC2ZDqS2RUd/CQqK4PHYkKABUAlI0CpGRkcjkUgsNZDu56GlxbKx0dbWhscbAqAakKBVifj0CUtNFXp5MR0IMzp3tggP7890FACoDxjFoTJ4VhYRE/PTZmcAgMpBglYNrLiY9eCBoEsXpgMBAKgP2V0cwoIvecVUpXdcYhwdA214VP83YjH76lV+r15MxwEAUCuyE/STlR26rYkuqCxFcweczD7RHwb4fsW5fFnQowfC4esIAECVZCfodn++iPcL8u/2Z37AyX3DLcsnHlzfHq6fv+JcvCjw8KDZsEcAACpW2SgOwrDtrGk+W7dYNm7Z0h6uDCvDvnVL2KIFrafHdCB1QnJyQXh4Oknivr7WTMcCgDqQM8xOu8P4Zfma+nB/t7S3b99u3Ljx48ePTk5O87t0sXR0pCzgHssS4eHpY8aE8nhsX9+hTMcCgDqQk6Bxi65TxtReJD+AhISEwYMHJyYmIoQiIiLu3759PTTUgOmo6g4WC9fT4+jowI0qAKgG9F4o4fTp05LsLBH/+fO1a9cYjKeu+eUX69jYIU+fwr0qAKgGJGglVCzakp6ezkgkAICfASRoJbRp06bcFDc3N0YiAQD8DCBBK8HPz2+Up2fp25kzZ0IVKwBAzYGHJSmB/fjx+g0bJohE79+/b9iwoeXP90BRAEBtUixBF12d2fnmL8Hdrvtc8rq+pad2DQdVJxEfPiCCEFtb10eofv36TIcDAFB/inVxUDmfoj/lUrmfouOzqRqOqE7CCgqIt2+FrVszHUidlp3Nf/4889WrLKYDAUBNQB+0AmiaffWqwMeH6Tjqujt3PnfpcrFXLxh6CIBqQIKuGufSJUG3bgiDeyoBALUKfiSsAhkeLnJ2pnk8pgP5AXTvbhUbOwSDv2QAqAgkaHnwhASMzxc5ODAdyI+BzSbYbILpKABQH9DFUSmsuJh89UrYvj3TgQAAflKKXUFzvQJPO9fTMmtw2t5Es4YjqjPYly7x+/RhOgoAwM9LsQRNmDXzNkMImXqb1mw4dQb70iWBtzci4As7AIAx0MUhA/n0qdjRkTaAJ4kCAJgECbo8PCkJKygQOzoyHciPp7BQFB+fn5CQz3QgAKgJSNBlYHw+KyJC2LEj04H8kG7cSGzV6pSX1wWmAwFATchN0AWhKwbNOfv5J7q5m33pEt/Xl+koAAAAoSoSNLceN+nkqYc5dG1Fwyz29etCLy9EwtjwaurSxTI8vH9oqD/TgQCgJuQmI9xyyJ+zwxcMmPxxTM/mlrrsr9kcN2ro7mSoXveLkS9fUlZWlKEh04H8wDQ1SRubn/JRhwDUDLkJWnB1ps+0k8UIPbi5U3o6d8DJ7BP9OTUbWW3C09KwjAxhp05MBwIAAN/ITdCc/ieK1LZ7Izo6OjQ0FMOwTh07No2L4/vDF3MAQN1SdX+rOPP55TM3XqZZ9Z7bQzvms66Tg161O2nplHPzJh14I0IIIYQb9QjaO74Jgegvkf9sP3jzbQ7Huu2QyQEe5jLXT+clxBUY25txVdG1cunSpVGjRpW+/Xv/fvhlEABQ11SRawVvdg/oMv2mUI/M93Ca2erT+MZLc0fsO7djYH1WdVoTp6dkN5vy9/xO2hhCGIYTBEJ0weND2x6ZTt043ynjXFDQrpCGy34xESeF7dl5LiYf6Tj1mTjWw5yk858cPZrYY66KHlu0ZMmSMm+DgnzhChoAUMfIHcVBp/47b8GLTkei43b6amKIqD/j0oMg68vjpx/9XK2eD7ooNR2Z1uOxWSwWi0WSBIYQEkY9ijTp6u+qS2rY+/o6f3j4NJsWRV08j/qu2rRpVV908VK0GAnfXbjB6elrrZI7r4uLiz99+iQ95ePHjwKBQBXrBgAAlZF7BS2MvPvYZMD5Plasi5IJuF6LyUt+3e0b9lQwqofyPxJS6anpgtdHZo5OzkKGLl1HTxzsqo+yklNwcw/JmBCOuaVBenIqRbr07Hlv18JZR5GWg/+EhljqjXNp7QMac8usLTs7e/Xq1ZLXnp6e3t7eCoaho6NjbW0tnaPt7OwMGRq/QZKkjo4OI01LYBjGZrMJVTx15PTp2GHDrunqclJTxym+FI7jOI6rJIDqkTzAWlNTk6IYG/JPEARN0xwOY7+8S/a/tjaTg3BYLJaOjg5NM/a7F0mSOI4zcj5WttXyuzgIguAXFZU5asUF+UVsDrt6HcFCjqmze/cx/VvoZj/es3TDHvPNczvy+QKORknHMqahyRHk8mnEsvSevKIk4dJ5j3Y8c+g3V79cmxRF5ebmSl7z+XwcV+KuyD///HP48OGlb1etWqXU4qrFYNMSGIapJIbSlSi1Nkl+ZHAnSAJQ1U74nhh+5gBKw2Cw4AODO6GyiwO5CZrVukdXQcCKTSOO1EcIIZrKjT61cNZhoc+xNtXqgiac+v8xT/LSuE2fzqfnRLwVedhw2IL0YsmfD7qoSMDmcMp8QIKYczc1/GbpvTmxYv+dFCHPZeC08R3NCIQMDAx27NhROl9GRobikfj4+Ny6dSskJETyulGjRjk5OdXZpO/G4/FK/8wwwtDQkM/nFxYWfv+qXF15p051I0lcqZ1JkiSbzVZJANVDEIS+vn5BQYFQKGQqBi6XS1EUg/1sXC5XW1s7NzeXwQtYHR2d/Px8BgPQ1tYmSZKRVMBms2V+f5KboDE9v7WHRvce2t4mFxezb9gb5aUUmXYL/PevHrrV+SNH58Q8jCaauNnrYAhhOE6QJPn/9u47ron7/wP45+6yCCFsRKYWUHGhuEdx4UAUq3XXVWe17m3VWuvqt611tXW01oXVn+K21gEqVAUralUUBXFAZcgKECBk3P3+QC0qImDgYvJ6/tFHibm7Vz65vPPJ58aHomycHNkrKQqO2FFEnZaSbd+gRokvMDbl9OEsvwneGaeWxLX8Yn1X6c3NX+6/3mpKc1ElArykUaNG7dq1I4TwWx+Nib29pEMHJ75TABiPMgs0++8/993nnkuYcCPq6p3HCsbOo1n79vXtK9V7JoQQ+unFjftumy0b4yPLuX70XEbTT+oxRNigTdMt+04ndBlSWxF+Jta9zXCrF9Wfy4kMuVW3/zwr6gkhNEURQjEMYVmjPTkbAOA/ZR8kjFrVZeAhce2WXXr0CAgI6NLR11X2DsMzlEXbsdOTNu2cPy5TJXBo+tH8cS3MKULMW46dlbThp5kTVQL7luOnd3d4UZ+L7h4+ZxE0x5kmxKX7EI91K6Yf15rX+XhqMyO6iBEA4E2oMkd8dLmP/7kUERERERHx14XoeKVl/fbdevToERDUq5NXpUY5qlCFxqCLyeVywvcQhyGMQRcWFvI4BGwgY9A5OTkYg87MzMQYtEKhqP5Ni0Si4nL0irI7xIzcvVmP4TNW/nLowt20tJi9M3xzzqybMyxw4RmcNAwAUMXKPs2OU6XFXv6ruAsdERWTRjk1bjtoeodO/dpWehwaAADKp8wCXXRgZO2B+3WOLfsO6Tt147IOHzbzsEJlhjf588/EqVMvWlgIr13rz3cWAGNQZoFmPDr1948Pv3z9+J78p0mPHz188OGHH7Zu7GqBua6hFBoNq1AU4SQbAH0pcwxa0PSznaevPc7KuHN89dj2dhkXfp3Vy9vOplabLyN4O5oChsvHx2716rYrVrTkOwiAkSjPnUMZiYXcQiY1k4iEAppi1aoiHfpI8Dp3d9mIEZgNHUBvyizQutg981dsDwu/dPOJ2tKrdZfu3SdvXtmtQ1MXc0wGDgBQ1cos0NpHV68oawctnPhT984ta8sx8gwAUI3KnvIq4PvzAUSbdSf89N4NITmchXNDv+6d6tti2msAgKr3llqrSzwwOWjMlts6ezdXWzo76fFTuv6Ebcc29HVFdxoAoGqVPaNK+r6Zn4VYTfkj/mlqwp3b8SlP75+cZr1/wqyQDBwlBACoYmUWaE106AXLESu+7FHLrPgBiVvXRas+tY44HY3T7OA14eHJ/v7H+vQ5yXcQACPxtuFkjiIv3xSJoghFCDrQ8LqcHPWNG5ly+TvfqxsACCFv6UELm/t/qNj5xbLTiariB1RJocsXbM9s798cV3zDa7y9rRcvbjZ3bhO+gwAYibJnVLEf+MPmiN6fBniureHuZkOyEh+nkXpjf9s+wN7A7jUKhsDLy9LLqxHfKQCMx1uGOBi3fhuvdph89mREzJM8YuHc8MPunRraofsMAFD13n5Ksybr0e3bt2NuJSp0sgydlWejOnY1McgIAFDl3nLNtvLvlf4NWg3/3x/3FCwpeBi6dnS7hv7LL+dVTzgAAFNW9qSx97fMXPGg4+Yb28fUMyeEEFIQv2O0/6RZvwyOmOmJ+3EAAFSlMqusOubqbechs0Y8q86EEKnXJ7OGusVev4PzoAEAqliZBZqlKDrvabqq5GOq9Kf5jq5OuNIbXhMdnT5mzPkpUy7wHQTASJRZoKVdp8+tc2ra4K9CrjzKVCozH0cf+HrItIj2iyb4UDqdToe5M6Ck5OT8o0cfnTiRyHcQACNR9pyEoZs23MxJzVk64MTSko8PrbVnKCGEMF5ztHHfVmU8eJ+4u1uMGFFHIsHPKwD9KLNAi9rPP3RyHPvGf6fMnPQeCN5fPj62q1e35TsFgPEo+0pCG88WrTyrKwoAAJSEc+UAAAwUCjQAgIFCgQYAMFBl37D/wsoBKy+8fE0Kl3FswfB117RVmgoAAN5wkJDLufZ/2849Kbq5748b934QXy7xLO2/J3f96dxOR3wxdSy87MaNzJ0770kkzIoVrfjOAmAM3lCgC+7/dfTwTXXmE026+tjhByXu/kzRkg4LJvjhfnbwmseP83bujJPLRSjQAHpReoGmaw786exAog5b0CPU/+SqLijHUA5OTuZBQbWkUvy2AtCPsi9U6bLqbNvEqD8inQLauGkfHF6xNPieWfMRC2b2dEfJhtc0b26/dWtHvlMAGI+yz+LQ3l4T0OTDT7fe1rIPtowd8dNNHXVv06DeX0erqykeAIDpKvssjugdm26333Jtc4Dg3z9CrtSbvSdkz/FNg7P3BF/G7UYBAKpY2bcbTUvOcPZt5shwORfO3azVvbsnQyTOrnaKzOw336ADAAD0oswCLfCo6/44PDQ+O37ntrNWXbo1EBDto/PhD2vgftAAAFWO4rgy7unMpR0Z7zdk2/0iTtbuu8iwqerVfp2/jPX57tKZad6GdqhepVK9/UkvE4lEhBC1ms8RdZFIxG8AiUSi1Wq1Wt4uPaJpmqZpHgNQFCUWi9VqNcvy9sOQYRiO4/gNIBQKK/Eh0iOhUKjR8Dl4KhQKKYri6/MokUhef7DsAk0I4ZSJV6MTiEer5q5SNulccARp36/TB2ZVlPEdZGdnV3QRmUxGCFEqlVUQpwIZ+A1gZWWlUqn08smMj885ceKxSERPnNiw/EsxDCMSiQoLC989QOUwDCOXy/Py8nj8khCLxSzL8liexGKxVCpVKBRvKwhVyNzcvKCggMcAUqlUIBDk5uZW/6YFAoGFhUUpj79tQcrMXJh7P3TnpQcfzQ2UObQNrGuI1ZkQotPpKrpI8a5QiQX1iOM4fgPoMUNMTMbSpVfkctH48d7lX4qiKJZleW8EfjOwLMt7AEKITqfjsT4W74f8BuDr88gwpY8av6VAq+9uHuA/LUxjJVD61Z3RPHFCw69yh/96+OeBHwirICS83ywtRT4+tubm2DcA9KPMg4Rc2p55C2522hWbsLGnlCLMB9OPX1rm9seEacEpmIwQXtOhg1NoaO8jR3rwHQTASJR9HvT1vy47DJjc1/V5l4i28v18yciaUeHXcKUKAEAVK/tKQoZhigoLXzqyrMtXForEIupNiwAAgH6UWaCFLQK7qv9v+dq/s3SEEMKxubH7Zs3cqeneuyWGGQEAqljZk8Za9f52++iPhrZzz6V1olAPu7zUwhrdFu/5PtASPWgAgCr2lrM4KIeu31xImBAddfXOYwVj59Gsffv69ug9AwBUgzILtObCyqERfr9/0b5lt9otnz3GZRxbMOPBgG3TMKMKvOLxY2V4eLJIRA8e7Ml3FgBjgCmvQG9u3MiYNeuSXC5CgQbQC0x5BXpjbi50d5fJZBgDA9APTHkFetOli3N0dH++UwAYj7dOedWlupIAAMBLyr5QBQAAeIMCDQBgoFCgAQAMFAo0AICBwsnMoDfp6ao7d7IEArpdO0e+swAYAxRo0JvIyNQxY87L5aKEhKF8ZwEwBhjiAAAwUOhBg94EBdVKTx/FdwoA44EeNACAgUKBBgAwUCjQAAAGCgUaAMBAoUADABgonMUBeqNQFD1+rGQYqmFDG76zABgD9KBBbyIiUvz9j/Xpc5LvIABGAgUaAMBAYYgD9Mbf3yU6uj+NL30APUGBBr2RSgXu7jK+UwAYD/R2AAAMFAo0AICBQoEGADBQKNAAAAYKBwlBb9RqXUGBlqIoS0sR31kAjAF60KA3J08meXnt8fUN4TsIgJFAgQYAMFDVPMShTjr76897IxMLBFaefsM+G97GUUC41MPzJv12V0sIIYS2C1z2y4RGzOuLcnlJCfn2Ho4SqnojQ7n5+dUMDe3NMHiHAPSjWgs0l3Lip+3JLb7cuOIDNjb46282nvH6KsBOl56qaDJ5x/xOMooQiqIZhhDtk/AtGw/HKYlF3b4Tx/k5CTjlleDgfwPnelZnXqgYKyuxlZWY7xQAxqNahzhUcXeSvLsGeMpoWl6/h5/Lo7hHOsIVpqWTGjXlIqFQKBQKBAxFiPb2sSOk36q1a1f1I8eOx+qI5v7RUHGvnm6l9KwBAIxUtfagJa2n/NhcIiWEEE75ICHd3rUGTdj0tHT1nV0zRidnEdv6XUdPHOxjLajfq9eFTV/MDCbmnkGf1aPSQg8/bTe2oeSltWk0mvv37xf/v62trUhU4TMHKIoihAgEfJ7KQlEUvwEIITRN85iBYRjeAxT/l+M4vjLQNM3vnkDTNHneFHwpbgHTfBfoN9zChuKhOThV0oVdG7bd8pq6YmwTC/ZeyDeHNT3G9Pe1VFze8tVG5cB1cztYlRjG5PKifv4xJWhuX9eXd57U1NRevXoV///IkSOnTJlSja8BAEBvtFptqV8M1V2guZyYA+s3HM9uMHjS6O6eslcOJ7HJB+fNedR/+8xWwhePqe/t+u5i05kDqGPrtkakauT1B06d8KEjo48etLm5OSEkPz//XV7ROzI3N+c3gKWlZVFRkUql4isAwzBCoZDfABYWFkqlUqvV8pVBJBJxHKfRaHgMIJVKFQoFXwEIIVKptLCwkMcetFQqZRgmLy+v+jctEAhkslJuNFa9nXnV3d1frYltMXXNIB/rZ91hLicuMpZp1MrDgiKEomlGIBCUKNtsyunDWX4TvDNOLYlr+cX6rtKbm7/cf73VlOYiIhQKvb29XzwzIyOjonGKdwUeP5bFGfgNQAhhWZbfDAzD8BigeDfQ6XQ8ZhAIBPy+C8XdN51Ox2N9LP4s8BiAZVmapnl5F940xFGdBwm5vL+PnLUZMnvIi+pMCCH004sb1+29mcMSXfb1o+cymrau9+JfuZzIkFt1+7ezogghNEURQjEMYVne3kEoy59/JuJCFQA9qs4eNJuc8CDrysWRfdYX/03ZBiz7ZWLjtmOnJ23aOX9cpkrg0PSj+eNamD/vQRfdPXzOImiOM02IS/chHutWTD+uNa/z8dRmOJXLIGk0rEJRhO9PAH3h4yBh1ajEEIdcLieE5ObmVkGcCmTgN4CtrW1hYWFBQcG7ryo5OT86Ol0goHv2dCv/UgKBQCQS6SVA5TAMY21tnZOTw+MQsEQiYVlWrVbzGEAmk2VmZvJYEIqPBPAYQCaTCQQCXgbiRSJRcTl6BW6WBHrj5GQeFGTOdwoA44F7cQAAGCgUaAAAA4UCDQBgoFCgAQAMFAo0AICBQoEGvQkLe9K8eUjHjkf4DgJgJHCaHehNfr7m8WOlXI4JCQH0AwUa9MbHx2716rYiEX6WAegHCjTojbu7bMSIOnynADAe6OwAABgoFGgAAAOFAg0AYKBQoAEADBQKNACAgUKBBr2JjEzr3//0iBFn+Q4CYCRwmh3oTXp6YXh4Mi5UAdAXFGjQGy8vq6lTG4nFzNufCgDlgAINeuPtbbV4cTO+UwAYD4xBAwAYKBRoAAADhQINAGCgUKABAAwUCjQAgIFCgQa9iY5OHzPm/JQpF/gOAmAkUKBBb5KT848efXTiRCLfQQCMBM6DBr1xd7cYMaKORIILVQD0AwUa9MbHx3b16rZ8pwAwHhjiAAAwUCjQAAAGCgUaAMBAoUADABgoFGgAAAOFszhAb2JjFSEhCWIxM3duE76zABgD9KBBb+LjFevX39q8+U6VboV9GNPTK/wPdWUXT7rTq/a5QwV6zVTFG33HlwzvLxRo0Bt7e7MOHZzatXPU/6q1mat7/fHdPywhhLJznrysTmNTuhrGBF8yFMMQB+hNmzY1QkK6Vc26WWVWEashhBDKwrrn4Jf/TcdRDEVVzYbfGKgaN/r6SwYTYTwFmmEq3MGgKKpyC+oRRVH8BuA1A5dxKWbh8rjwmHyNnW2vaa2Wj7ATnY5ovE4w0j5tV3iuSm7lN6LFt1PMDwwO++2hmgw7qFjz8foGsQH+GVNiOwUq7n7c6d/GH6t+3/I011zeY6HfZCZ25qpHCVpp+ykdfp3mYEGxiSeuzl0ZfzFBLbCxbDui1do5TrY0RRGKZv57xQzDEK4wcv25L35JupdF1Wxae/6aVh97MISUsrhd+ls2Wkr+6U72JTZaEBv/1aJbJ67mFdraBX7eavmndnKK0DT9PInq0obIxVuflEzCPrhV/JK7ng33HvVAyRFCCGFZUrvRn5EtveNLWWFFvQjAcZze3t4KKt4P+Q3A12eBesN3vfEUaDMzs4ouUvxOVGJBPWIYht8AFEUJhcI37R9Vin0SO2Pkbd2c7hfWlY6AAAAXKUlEQVQO2CovXp044eySWoPXiBjN33HHP+l44Iqb1YP4eePCxlgOOH28d2bzM+ymod+0ptkEIU0YsZmZmUpIZT85T7r/lexCjp3tMu7E5E/8Q2K6SELDu06IOfNZ4FD6/tdTH9l9/1FsT4uiu7fG94vcFDh0uYOIpmiR5L9WpyhKdTp8zCZu/sFPBrqqz8w/NnlZcq+9dSxzS1l8hetbNtq/tPwn+zzbqESdOOeT6AfD/U/usBfcuTtz9JkZdoN3D5IKGIbjOIFAoDoTNX4LeSWJXPLsJVv165HSjxBCuNyUJQEnLw9o0IxNf32Fvw+SVvS9KP4sSCQSfb7BFc/AbwCBQEBRFL+fx1cYT4FWKpUVXUQul1duQT2Sy+X8BhCLxWq1uqCgeo+aEUIIST1453yteufH2jibCQs6NVzYP27U7oSFfbWU3HXWl651rThi47FySkLbPXdvDHPUsCxbqFQqabagiCXawnylMr9IJ3QY+bm9HSni2jl4SxTtJjnWpIuIn2Mj6k5qal6+o/XikwHWtcRmXGGhgLYQqbPS8pSyIh2nU+Urlc87agzDmLGcTqtKeZyV42rV47s+t7SEyVfms6UtbvO2japKy9+ZKd5o6ukbB2V1j3xuU5PRkWaeC0feDdx3PznwgxoSCcuyarW6qECt1byaRPniJWsIIYTolPvHnQqp0/LYaIniaOTrK1QGflDR90IikQiFwvz8fB47sBYWFvwGkMlkAoGAl8+jSCQq9cvJeAo0vHfSU1WMm9z12Q9Kyt1DVnSiIJcjlIO8luzZg3Zelpbp+Wm6N6yCYsyK92qKoimBhYwihBCaenbsm9LGH7r6w5EsBS10cJfkaon1G1Yj6f7hjjnha1aF/hynsW/iOmh608mdzAVvWrzsjZJS88sJIYRwT5MK8uNTPm5898UPFotmWiVLajz/U9yp2bZZN9a/nOTlQ/maK9+eX5paJzjEvQbNJZS2wje8Snj/oEADb2xrSHR/5T1hST1CCGH/fZQvsjOzoAj3NPdxPmliSQgh2Q9zc2xq2FVqVDDnjyuf/Z9o/dGg7jVoos1c0els9huemfc4l+rgu2tUCy4//9q+K+M/i/a61qF9aHkXf8Xr+e2ffwlZ2YnFvk1PHfZ2pQkhpDBZcV8rdSpRgJX/Kik/n11jWpVMElBi3f8evDRhv8WyY42aSN+4woo1ExgwnGYHehMfn1Oh86Adu33QOiF20Za0JwrVg7AbX+9jA/rXlBLC5SZ9/9WD22mqpKjYeWvTvfu616EJ4XTK/Ir9+OU0rJamhQzRFeRHbbt58IG2UFX6GvLPXRowJCrkjqqQMGKaY8UCM7oCi7+63dfyez3/grHp8kGHhNsLNqU8ztZkxNyf3e/Ummi25LIFF/4ZPCz6lST/5bx2Y9zivAGb2/Z1psq5QnivoQcNehMbm71s2VW5XDRhQv3yPJ928dywtXDRyoi2KwoFzrZdF3Ze6i+izhCmrudQu4cTu0QlM7J2n3T8baIVw6hatBFMHrZP+fOAjY3Km8eqd9Ovz1+c0WpPkY1151GN5g1TzJsa3m53zdef6Tis4w+XT67os396kcCpkcv4Tc06mhG6tMX3hji/dbul5E9JLv4nyuGDH7YXLf46qud3+Robm67jO33fV1Ly+KxD/xbf3Yr65uUkz+mu7rl3LaPoZt+9PxU/IHb67u/Or6+wvA0EBo/icUhevzIyMiq6SPFBwtzc3CqIU4EM/AawtbUtLCzUy0HCsLAn8+ZFymTC8+f7lH8pgUAgEoleBFCfvtD4G4tDZ3y8q+tkJ4ZhrK2tc3JyNBrNu6+tcvklzw8SvnuAypFIJDKZLDMzk9+DhEqlkveDhAqFovo3LRKJisvRK9CDBr3p0sU5Oro/3ykAjAcKNBgW2tVxcJDEmofTsvXjfc8PBgUFGgyLwNvzK2++Q7yD9z0/GBScxQEAYKBQoAEADBQKNACAgcIYNOhNcnJ+dHS6QED37OnGdxYAY4ACDXoTHZ0+Zsx5uVzUs+dQvrMAGAMMcYDeCIW0lZXY0lJUzdvNu3lvRu8DddyCvXyPj12TnKIjhHDJodeGdw6pU2t3w3anF+zP5uFmfQDvDAUa9CYgwC0+fsi1a9V7rUphyvJR0TGNmx2I7B+61i3313Ofb1fq0hLmfv5ANNwvNLrf/jmyv2ZHrL2BO1TA+wcFGgzAO1zcq/kn8Uyh++yFtRo5S9z9Gi4eLrt6Kjn5ypPLNT6YNtzBzc7Mu3f9/nXyrl4vMpJ7GoApwRg08IZLuzew29OuU9lflj76lzar373x2rX1GlVwOgva0XnSElGz5zcI0mhYxkxg0bnV+ZZMDQEhhLBZirtp4tq1RLi4D9476EEDn7isR5svOu28O+7++Rb1oq/+72j5buhZAlPbZexgBzuaEMJlX4n5OlgbOMTZUipxdhAyWYkLAo/4troY27vtFx0wJza8f9CDBj5xtPWoRfWa2QkKpG6BLaJ+zNRw5L/bb6pOXGg1I0lVcgGR49KznQbbv7aigpxj30ct2qH0XdB5VXdx8Roomf2Ixc3b/PPwh7XRq7vbL/dDJxreMyjQwCvGzMnxWTmlX/s5J+nZ/kbPt6+jKP7+zFFXIp3rLj/ZpZeXgCJEnatScCIHSzPv1s7erWvaPDr46Z7UL/3cxHrPD1CVMMQBeqNQFN24kRkTk1Whpd51PvHCtBUjox8FdQ7d69vbS0ARQgiX8Mvp1lMeKl5MC0sTY7ntOZgW9KBBbyIiUoovVElI0M+FKqo/LjSbllhU8iGh49fhnYc6/PdA3tl7+4pcv+0nzU3MK574gJKaeXRxcfkpZtVx21kfmimvx357UNf5W4fqPj0b4J2hQIPhkgS2vx1Y9lO4f2MVuYlZY9rGv3hI3P3D28GNt6zSLFh+svkTnaW7bec5nZf2lmAAGt47mPIKU17pbcortVpXUKClKKpCFxO+MuVV9dPvlFeVgymvCKa8wpRXUKVEIkYkwtlsAHqDg4QAAAYKBRoAwEChQAMAGCgUaAAAA4WDhKA3BQXa9HQVTRNXVxnfWQCMAXrQoDehof82bx7SseNRvoMAGAkUaAAAA4UhDtAbf3+X6Oj+r9/zCAAqBwUa9EYqFbi7Y/QZQG/Q2wEAMFAo0AAABgoFGgDAQBnCGDSXff33n7aF3csRu7UZ8vlYP6dSQ3F5SQn59h6OuGskAJgI/nvQXP7l7T9G1Ri9Ztum2U0Tf9t05ilHiPZJ+M+LZkyfPmPxxohkLSGEU14JDr6pFqI6A4DJ4L9Aa25HXXfoGuRjKTDz6NnT+2HkNQWnvX3sCOm3au3aVf3IseOxOqK5fzRU3KunG+5laciOHn1kb7/dw+N3voMAGAnehzi4rORU2snPliKEELGTi016chorqN+r14VNX8wMJuaeQZ/Vo9JCDz9tN7ahhO+wAADViP8CXVSkFps9G1imzKRidW4RR4QunT9f3vnZM/Kifv7H8+O51q8Mb2RlZS1atKj4/7t16xYY+JbJkV4nEAgIIZaWlu/yAt4RwzD8BqAoSiwWC4XCd19Vt25ef/5pLRDQFXpFFEVRFKWXAJVDURQhxNzcnMe5PGia5jjOzMyMxwDk+RxDfGEYhvcAFEXx8nlkWbbUx3kv0JRYLFKnq4o/GVxhoVokFr9UidVxh8PMes+0urtv+daIVI28/sCpEz50ZAihafrF2ykWi9/0CstQ/IGsxIJ6xDAMvwEIIRzH6SWDvb2kUycXUsEmpWmaoigeG6G4QOurESqdgfcAxAA+CxzH8fs1ydeu+KZXzX+BtnFyZK+kKDhiRxF1Wkq2fYMaJQbG2ZTTh7P8JnhnnFoS1/KL9V2lNzd/uf96qynNRcTKyuqbb7558cxKz0mYl5enjxdSSXK5nN8AIpFIrVbzOCWgIcxJWBwAcxLyOyWggcxJyMvnUSQSSSSljOHyf5BQ2KBN07SzpxNUnC41/Eysextfqxc9aC4nMuRW3f7trChCCE1RhFAMQ1jWSOa5BQAoC+89aEKZtxw7K2nDTzMnqgT2LcdP7+7woj4X3T18ziJojjNNiEv3IR7rVkw/rjWv8/HUZmI+AwMAVA+Kxx8U+lXpIY7c3NwqiFOBDPwGsLW1LSwsNPEhDmtr65ycHAxxZGZmYohDoVBU/6ZFIlGpB0j5H+IAAIBSoUCD3vz5Z6KX1x5f3xC+gwAYCf7HoMFoaDSsQlGEY7gA+oICDXrTvLn91q0dBQL8LAPQDxRo0BsnJ/OgIHO+UwAYD3R2AAAMFAo0AICBQoEGADBQKNAAAAYKBRoAwEChQIPehIcn+/sf69PnJN9BAIwETrMDvcnJUd+4kSmXi/gOAmAkjOdmSZVw9OhRiqJ69+7NdxA+bdmyxdfXt3nz5u++qrt3s44cuS8WM9OnN3v3tVWbrKys3bt39+3b18XFhe8svLlz505YWNikSZMYxnQn/gwLC8vIyBg0aBDfQf5j0kMcoaGhYWFhfKfg2e+//37z5k29rKpePZt581q+X9WZEKJQKHbs2JGSksJ3ED7FxcXt2LFDp9PxHYRPFy9ePHbsGN8pXmLSBRoAwJChQAMAGCiTHoPOzMwkhNja2vIdhE/JyckWFhYWFhZ8B+GNRqN5+vSpnZ2dWGy6U/UUFBRkZ2c7OTkVzx5rmrKzszUajYODA99B/mPSBRoAwJBhiAMAwECZ4HnQmqTL0bombWo9+znLZV///adtYfdyxG5thnw+1s/JyJtEnXT215/3RiYWCKw8/YZ9NryNo8DkGoHLjzu+cdORW+kaoUPjjyZMDKwjpUyuEQghhHAF8eF/Ffp0a2xNEZNrAS718LxJv93VEkIIoe0Cl/0yoRFjaI3AmRhV4vGlI5ecUrDFf7LKyB9GT95yXaEpuL9/wcjFJ9JYfvNVMTb50LzhC0Pi83S6nJgds4Z9eSKdNblG0N7fNeWzdZfS1awm9czKUZOD72tNb0/gOI5jc6N/HPfxpB3xWo4zwRbQ3Nw4bumprCK1Wq1WazRaljO8RjClIQ7uadj3k8bO2not77/HNLejrjt0DfKxFJh59Ozp/TDymsKox+RVcXeSvLsGeMpoWl6/h5/Lo7hHOlNrBK4wPd/ar1tLOyElcGjW1CUz+anO9PYEQjhF1Nbd8RL584OCptYCXGFaOqlRUy4SCoVCoUDAUMTwGsGUCjTl0GX2z7t2z+8gffEQl5WcSju52FKEECJ2crFJT05jeQtYDSStp/w4ta2UEEI45YOEdHvnGrSpNQIlaz1h6ZB6JDc5/sb5kLMZTVrWFZrensBlhG85QPcf1ep5gTa5FmDT09LVd3bNGD1s2OhpK/fcyOYMsBFMqUCXgisqUovNJMW7KGUmFauLioy610CJLazNhYRTJf3167ItD1sN6+5Cm1wjEEII4fLvnd69e9+FPPfGblLK1PYENu3MpuMWQz9tZfmiAphYCxBCNOIa3q0Hfbl517b/DbG88MOWCAVncI1g4gWaEotFapWq+C3gCgvVIrHY2E8D5XJiQpZPW3yosPMXK8c2saBMshEIoeQtRn317c9rB3J7Np1M4UyqEdjkPzeecRw5smnJk99NqgUIIYSp23/hvCHN7ISU0L5l3y4ON6/e0xpcI5h6gbZxcmRTUoqHmdRpKdn2TjWMu0lUd3d/tea6x6Q1303t4SmjCDG9RtAlHFq57uxTjhBCKHmtWtaKjGzWpBpBmxj/8N+wlWOGDhk2/8CjpKMLRy07lUlMqQUIIVxO3KWohLziWkzRNCMQCCiD2w2M+R0oD2GDNk3Tzp5OUHG61PAzse5tfK2MudfA5f195KzNkNlDfKxL3LPMxBqBtrehr504dU/JETYnJuyywtPblTapRhC1nr5jz549e/bsCf7m41quQSu2L+5uS5lSCxBCCP304sZ1e2/msESXff3ouYymresxBrcbmN6VhJq/14w+0eDHJd0sixueU8Ye2LDl7GOVwL7lsOkjW9oa83eW7t62SfMOpbw47EHZBiz7ZWJjgUk1AiFs+uUdG7afe5BPm9k3CPh0XN+GVpSJ7QnP6B7umfWDZvLaEZ4MMbkWYLOv/9+m4Ij7mSqBQ9OPxo/p4WlucLuB6RVoAID3hHF/RQIAvMdQoAEADBQKNACAgUKBBgAwUCjQAAAGCgUaAMBAoUADlCl/78cyz9mXNJVfQ25wH1mDRde0+ssEpsK478gNYABE9ftO+9TRqK+bhiqCAg2mhNVqKYGgmi/elfiOWuFbvZsEI4FvdXhPFd0/tLBvM3dbmczeo+3wH/5K5wghJP928PSARk5yiUhq69F+1I9XcjhCSNGhodZNpqyd066GVCSSubT+bO/duAPT/WpZSi0cffqvj1YSork0u47rJyuWf9TIxUZm6dLYf+xPV169VzubcXHdGP8mtWwsrFx9+8zff6+wXKmeD3Fozk12ZagShE2W3tSVa7VgqnidzwWgkrR3v21j7hL07YnoWzfO/zK8jthlYmghp7m+pLHE7aPvT1y5devvP74NchH7Lo/Rcpzq4BAZLfIc/HP4vYRru0bVEYqkzp0WHb2VcOfEvNYyacDWNFZ9cZaHkBE791jyf+FR4fuW9nITO/QLfqLjlHv6mXvMuqjmNDHftbOs2XlB8Plr/0QdWzvU29xl2IGXZ0QqPVXOriDz+guvajiNMjszIyMjIyPj6Z1tA1wsmi2OUpZntWCyUKDhvVR0enwNaZcfE4tn08u4eerYpUcqTn336LotZ5N0xc/J3z9Q7jwxrIjjVAeHWMj67MpkOY7j1JGzPcUNF1/TcBzH6RI3dJQ2XvKPRn1xlofQbtC+jGelMefEGBdJ29X3dc8LdNH5yW7ywG0vSmdh2CQ384BfXyqlpad6UaCfU8dtDHBwCNgUp+a48qwWTBbGoOG9JGo9cqJP7xmN6uzp0rVTJ//APj3buIoJqdt7jPivP7b879a9hPg7l8+dyxeOfbYAZeXibFF8/2uxRCxwreXKPP/jxZC0wKdDO5tnf8nb+7dkDt6IfX72BpcdF5eWFzrWWTTu+dNZHeWT8pQlDi9u3Vp6qtyXo+dd+mrwvLhewZfGewkJl1aO1YLJwhg0vJ8s2i658ODOkZWD6nMxwTP96zUZczBFl3FiUvNGA1b/lWXh3Wn44h2r+lm+cXmq1COFJR6kaJpi2f/uzCqWSBjXz8MKNC/oWPW1RQ1fKqOlpXppTjs25cCkT35kpu9e39uBKvdqwVShQMP7iE09s3ru95fMPhw0ZdnmQ1Exu/pm79159mno1p0ZfTeH7f7f3PFDAtvXkhRV7Oxl7c2IyOxnBwaVkWevaOs2rPviN6bMx9cr49KFuGenM3OZR6d3/GjNjZJnN5eeSvnfE4purx824UyD739f3Mq8/KsF04UhDngf0TL17eAvNz8xZ2Z1dqMST+6+pKw9tJ68Rk1bZcTpM7dbtDZLvhS8ZNHJwsLeKdkazqp8a+WyDs0etZJZEFAj7fR3M3fkd9s41Ish14v/UdBw5OQOG2YPn2S7cnx7+9RjSz7/VTHqXL2Sn6DSU0lJbPHac8IXDl4Y33VLWH/7/JwcQgihhFL521cLJozvQXCAStGlnVs1sLmrpVgotavVtNfsvXcLOI59em5lX5+acpntBy0HLjtxedfwD8zNW6yMyT84RO7y+Vk1x3Ecp7m2qIF5wG/FRwPZtF+6mz8/SGje+/uQhT08rc0satbv+On6qCyW4/47i4Pj2MzI9aPa1baWmFm5+vZbfOyhulypnh0kLIic7fnKwIWk987s8qwWTBVmVAEghBDNpdne3R4uTzsw2PztTwaoHhiDBgAwUBjqAiCEEEpi7eKeb44eCxgSDHEAABgodBgAAAwUCjQAgIFCgQYAMFAo0AAABgoFGgDAQKFAAwAYKBRoAAAD9f9CqIl4wUGBPgAAAABJRU5ErkJggg==" /><!-- --></p>
+<p>What is the power of our test if we flip the coin 40 times and lower
+our Type I error tolerance to 0.01? Notice we leave out the
+<code>power</code> argument, add <code>n = 40</code>, and change
+<code>sig.level = 0.01</code>:</p>
+<div class="sourceCode" id="cb4"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.p.test</span>(<span class="at">h =</span> <span class="fu">ES.h</span>(<span class="at">p1 =</span> <span class="fl">0.75</span>, <span class="at">p2 =</span> <span class="fl">0.50</span>),</span>
+<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a>           <span class="at">sig.level =</span> <span class="fl">0.01</span>,</span>
+<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a>           <span class="at">n =</span> <span class="dv">40</span>,</span>
+<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a>           <span class="at">alternative =</span> <span class="st">&quot;greater&quot;</span>)</span></code></pre></div>
+<pre><code>## 
+##      proportion power calculation for binomial distribution (arcsine transformation) 
+## 
+##               h = 0.5235988
+##               n = 40
+##       sig.level = 0.01
+##           power = 0.8377325
+##     alternative = greater</code></pre>
+<p>The power of our test is about 84%.</p>
+<p>We specified <code>alternative = &quot;greater&quot;</code> since we assumed
+the coin was loaded for more heads (not less). This is a stronger
+assumption than assuming that the coin is simply unfair in one way or
+another. In practice, sample size and power calculations will usually
+make the more conservative “two-sided” assumption. In fact this is the
+default for pwr functions with an <code>alternative</code> argument. If
+we wish to assume a “two-sided” alternative, we can simply leave it out
+of the function. Notice how our power estimate drops below 80% when we
+do this.</p>
+<div class="sourceCode" id="cb6"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.p.test</span>(<span class="at">h =</span> <span class="fu">ES.h</span>(<span class="at">p1 =</span> <span class="fl">0.75</span>, <span class="at">p2 =</span> <span class="fl">0.50</span>),</span>
+<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a>           <span class="at">sig.level =</span> <span class="fl">0.01</span>,</span>
+<span id="cb6-3"><a href="#cb6-3" aria-hidden="true" tabindex="-1"></a>           <span class="at">n =</span> <span class="dv">40</span>)</span></code></pre></div>
+<pre><code>## 
+##      proportion power calculation for binomial distribution (arcsine transformation) 
+## 
+##               h = 0.5235988
+##               n = 40
+##       sig.level = 0.01
+##           power = 0.7690434
+##     alternative = two.sided</code></pre>
+<p>What if we assume the “loaded” effect is smaller? Maybe the coin
+lands heads 65% of the time. How many flips do we need to perform to
+detect this smaller effect at the 0.05 level with 80% power and the more
+conservative two-sided alternative?</p>
+<div class="sourceCode" id="cb8"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.p.test</span>(<span class="at">h =</span> <span class="fu">ES.h</span>(<span class="at">p1 =</span> <span class="fl">0.65</span>, <span class="at">p2 =</span> <span class="fl">0.50</span>),</span>
+<span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a>           <span class="at">sig.level =</span> <span class="fl">0.05</span>,</span>
+<span id="cb8-3"><a href="#cb8-3" aria-hidden="true" tabindex="-1"></a>           <span class="at">power =</span> <span class="fl">0.80</span>)</span></code></pre></div>
+<pre><code>## 
+##      proportion power calculation for binomial distribution (arcsine transformation) 
+## 
+##               h = 0.3046927
+##               n = 84.54397
+##       sig.level = 0.05
+##           power = 0.8
+##     alternative = two.sided</code></pre>
+<p>About 85 coin flips. Detecting smaller effects require larger sample
+sizes.</p>
+</div>
+<div id="more-on-effect-size" class="section level2">
+<h2>More on effect size</h2>
+<p>Cohen describes effect size as “the degree to which the null
+hypothesis is false.” In our coin flipping example, this is the
+difference between 75% and 50%. We could say the effect was 25% but
+recall we had to transform the absolute difference in proportions to
+another quantity using the <code>ES.h</code> function. This is a crucial
+part of using the pwr package correctly: <em>You must provide an effect
+size on the expected scale.</em> Doing otherwise will produce wrong
+sample size and power calculations.</p>
+<p>When in doubt, we can use <em>Conventional Effect Sizes</em>. These
+are pre-determined effect sizes for “small”, “medium”, and “large”
+effects. The <code>cohen.ES</code> function returns a conventional
+effect size for a given test and size. For example, the medium effect
+size for the correlation test is 0.3:</p>
+<div class="sourceCode" id="cb10"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cohen.ES</span>(<span class="at">test =</span> <span class="st">&quot;r&quot;</span>, <span class="at">size =</span> <span class="st">&quot;medium&quot;</span>)</span></code></pre></div>
+<pre><code>## 
+##      Conventional effect size from Cohen (1982) 
+## 
+##            test = r
+##            size = medium
+##     effect.size = 0.3</code></pre>
+<p>As a shortcut, the effect size can be passed to power test functions
+as a string with the alias of a conventional effect size:</p>
+<div class="sourceCode" id="cb12"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.r.test</span>(<span class="at">r=</span><span class="st">&quot;medium&quot;</span>, <span class="at">power=</span><span class="fl">0.8</span>)</span></code></pre></div>
+<pre><code>## 
+##      approximate correlation power calculation (arctangh transformation) 
+## 
+##               n = 84.07364
+##               r = 0.3
+##       sig.level = 0.05
+##           power = 0.8
+##     alternative = two.sided</code></pre>
+<p>For convenience, here are all conventional effect sizes for all tests
+in the pwr package:</p>
+<table>
+<thead>
+<tr class="header">
+<th>Test</th>
+<th><code>small</code></th>
+<th><code>medium</code></th>
+<th><code>large</code></th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td>tests for proportions (<code>p</code>)</td>
+<td>0.2</td>
+<td>0.5</td>
+<td>0.8</td>
+</tr>
+<tr class="even">
+<td>tests for means (<code>t</code>)</td>
+<td>0.2</td>
+<td>0.5</td>
+<td>0.8</td>
+</tr>
+<tr class="odd">
+<td>chi-square tests (<code>chisq</code>)</td>
+<td>0.1</td>
+<td>0.3</td>
+<td>0.5</td>
+</tr>
+<tr class="even">
+<td>correlation test (<code>r</code>)</td>
+<td>0.1</td>
+<td>0.3</td>
+<td>0.5</td>
+</tr>
+<tr class="odd">
+<td>anova (<code>anov</code>)</td>
+<td>0.1</td>
+<td>0.25</td>
+<td>0.4</td>
+</tr>
+<tr class="even">
+<td>general linear model (<code>f2</code>)</td>
+<td>0.02</td>
+<td>0.15</td>
+<td>0.35</td>
+</tr>
+</tbody>
+</table>
+<p>It is worth noting that pwr functions can take vectors for numeric
+effect size and n arguments. This allows us to make many power
+calculations at once, either for multiple effect sizes or multiple
+sample sizes. For example, let’s see how power changes for our coin
+flipping experiment for the three conventional effect sizes of 0.2, 0.5,
+and 0.8, assuming a sample size of 20.</p>
+<div class="sourceCode" id="cb14"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.p.test</span>(<span class="at">h =</span> <span class="fu">c</span>(<span class="fl">0.2</span>,<span class="fl">0.5</span>,<span class="fl">0.8</span>),</span>
+<span id="cb14-2"><a href="#cb14-2" aria-hidden="true" tabindex="-1"></a>           <span class="at">n =</span> <span class="dv">20</span>,</span>
+<span id="cb14-3"><a href="#cb14-3" aria-hidden="true" tabindex="-1"></a>           <span class="at">sig.level =</span> <span class="fl">0.05</span>)</span></code></pre></div>
+<pre><code>## 
+##      proportion power calculation for binomial distribution (arcsine transformation) 
+## 
+##               h = 0.2, 0.5, 0.8
+##               n = 20
+##       sig.level = 0.05
+##           power = 0.1454725, 0.6087795, 0.9471412
+##     alternative = two.sided</code></pre>
+<p>As we demonstrated with the <code>plot</code> function above, we can
+save our results. This produces a list object from which we can extract
+quantities for further manipulation. For example, we can calculate power
+for sample sizes ranging from 10 to 100 in steps of 10, with an assumed
+“medium” effect of 0.5, and output to a data frame with some
+formatting:</p>
+<div class="sourceCode" id="cb16"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a>n <span class="ot">&lt;-</span> <span class="fu">seq</span>(<span class="dv">10</span>,<span class="dv">100</span>,<span class="dv">10</span>)</span>
+<span id="cb16-2"><a href="#cb16-2" aria-hidden="true" tabindex="-1"></a>p.out <span class="ot">&lt;-</span> <span class="fu">pwr.p.test</span>(<span class="at">h =</span> <span class="fl">0.5</span>,</span>
+<span id="cb16-3"><a href="#cb16-3" aria-hidden="true" tabindex="-1"></a>                    <span class="at">n =</span> n,</span>
+<span id="cb16-4"><a href="#cb16-4" aria-hidden="true" tabindex="-1"></a>                    <span class="at">sig.level =</span> <span class="fl">0.05</span>)</span>
+<span id="cb16-5"><a href="#cb16-5" aria-hidden="true" tabindex="-1"></a><span class="fu">data.frame</span>(n, <span class="at">power =</span> <span class="fu">sprintf</span>(<span class="st">&quot;%.2f%%&quot;</span>, p.out<span class="sc">$</span>power <span class="sc">*</span> <span class="dv">100</span>))</span></code></pre></div>
+<pre><code>##      n  power
+## 1   10 35.26%
+## 2   20 60.88%
+## 3   30 78.19%
+## 4   40 88.54%
+## 5   50 94.24%
+## 6   60 97.21%
+## 7   70 98.69%
+## 8   80 99.40%
+## 9   90 99.73%
+## 10 100 99.88%</code></pre>
+<p>We can also directly extract quantities with the <code>$</code>
+function appended to the end of a pwr function. For example,</p>
+<div class="sourceCode" id="cb18"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.p.test</span>(<span class="at">h =</span> <span class="fl">0.5</span>, <span class="at">n =</span> n, <span class="at">sig.level =</span> <span class="fl">0.05</span>)<span class="sc">$</span>power</span></code></pre></div>
+<pre><code>##  [1] 0.3526081 0.6087795 0.7819080 0.8853791 0.9424375 0.9721272 0.9869034
+##  [8] 0.9940005 0.9973108 0.9988173</code></pre>
+</div>
+<div id="more-examples" class="section level2">
+<h2>More examples</h2>
+<div id="pwr.2p.test---two-sample-test-for-proportions" class="section level3">
+<h3>pwr.2p.test - two-sample test for proportions</h3>
+<p>Let’s say we want to randomly sample male and female college
+undergraduate students and ask them if they consume alcohol at least
+once a week. Our null hypothesis is no difference in the proportion that
+answer yes. Our alternative hypothesis is that there is a difference.
+This is a two-sided alternative; one gender has higher proportion but we
+don’t know which. We would like to detect a difference as small as 5%.
+How many students do we need to sample in each group if we want 80%
+power and a significance level of 0.05?</p>
+<p>If we think one group proportion is 55% and the other 50%:</p>
+<div class="sourceCode" id="cb20"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.2p.test</span>(<span class="at">h =</span> <span class="fu">ES.h</span>(<span class="at">p1 =</span> <span class="fl">0.55</span>, <span class="at">p2 =</span> <span class="fl">0.50</span>), <span class="at">sig.level =</span> <span class="fl">0.05</span>, <span class="at">power =</span> .<span class="dv">80</span>)</span></code></pre></div>
+<pre><code>## 
+##      Difference of proportion power calculation for binomial distribution (arcsine transformation) 
+## 
+##               h = 0.1001674
+##               n = 1564.529
+##       sig.level = 0.05
+##           power = 0.8
+##     alternative = two.sided
+## 
+## NOTE: same sample sizes</code></pre>
+<p>Notice the sample size is <em>per group</em>. We need to sample 1,565
+males and 1,565 females to detect the 5% difference with 80% power.</p>
+<p>If we think one group proportion is 10% and the other 5%:</p>
+<div class="sourceCode" id="cb22"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.2p.test</span>(<span class="at">h =</span> <span class="fu">ES.h</span>(<span class="at">p1 =</span> <span class="fl">0.10</span>, <span class="at">p2 =</span> <span class="fl">0.05</span>), <span class="at">sig.level =</span> <span class="fl">0.05</span>, <span class="at">power =</span> .<span class="dv">80</span>)</span></code></pre></div>
+<pre><code>## 
+##      Difference of proportion power calculation for binomial distribution (arcsine transformation) 
+## 
+##               h = 0.1924743
+##               n = 423.7319
+##       sig.level = 0.05
+##           power = 0.8
+##     alternative = two.sided
+## 
+## NOTE: same sample sizes</code></pre>
+<p>Even though the absolute difference between proportions is the same
+(5%), the optimum sample size is now 424 per group. 10% vs 5% is
+actually a bigger difference than 55% vs 50%. A heuristic approach for
+understanding why is to compare the ratios: 55/50 = 1.1 while 10/5 =
+2.</p>
+<p>The <code>ES.h</code> function performs an arcsine transformation on
+both proportions and returns the difference. By setting <code>p2</code>
+to 0, we can see the transformed value for <code>p1</code>. We can
+exploit this to help us visualize how the transformation creates larger
+effects for two proportions closer to 0 or 1. Below we plot transformed
+proportions versus untransformed proportions and then compare the
+distance between pairs of proportions on each axis.</p>
+<div class="sourceCode" id="cb24"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb24-1"><a href="#cb24-1" aria-hidden="true" tabindex="-1"></a>addSegs <span class="ot">&lt;-</span> <span class="cf">function</span>(p1, p2){</span>
+<span id="cb24-2"><a href="#cb24-2" aria-hidden="true" tabindex="-1"></a>  tp1 <span class="ot">&lt;-</span> <span class="fu">ES.h</span>(p1, <span class="dv">0</span>); tp2 <span class="ot">&lt;-</span> <span class="fu">ES.h</span>(p2, <span class="dv">0</span>)</span>
+<span id="cb24-3"><a href="#cb24-3" aria-hidden="true" tabindex="-1"></a>  <span class="fu">segments</span>(p1,<span class="dv">0</span>,p1,tp1, <span class="at">col=</span><span class="st">&quot;blue&quot;</span>); <span class="fu">segments</span>(p2,<span class="dv">0</span>,p2,tp2,<span class="at">col=</span><span class="st">&quot;blue&quot;</span>)</span>
+<span id="cb24-4"><a href="#cb24-4" aria-hidden="true" tabindex="-1"></a>  <span class="fu">segments</span>(<span class="dv">0</span>, tp1, p1, tp1, <span class="at">col=</span><span class="st">&quot;red&quot;</span>); <span class="fu">segments</span>(<span class="dv">0</span>, tp2, p2, tp2, <span class="at">col=</span><span class="st">&quot;red&quot;</span>)</span>
+<span id="cb24-5"><a href="#cb24-5" aria-hidden="true" tabindex="-1"></a>}</span>
+<span id="cb24-6"><a href="#cb24-6" aria-hidden="true" tabindex="-1"></a></span>
+<span id="cb24-7"><a href="#cb24-7" aria-hidden="true" tabindex="-1"></a><span class="fu">curve</span>(<span class="at">expr =</span> <span class="fu">ES.h</span>(<span class="at">p1 =</span> x, <span class="at">p2 =</span> <span class="dv">0</span>), <span class="at">xlim =</span> <span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">1</span>),</span>
+<span id="cb24-8"><a href="#cb24-8" aria-hidden="true" tabindex="-1"></a>      <span class="at">xlab =</span> <span class="st">&quot;proportion&quot;</span>, <span class="at">ylab =</span> <span class="st">&quot;transformed proportion&quot;</span>)</span>
+<span id="cb24-9"><a href="#cb24-9" aria-hidden="true" tabindex="-1"></a><span class="fu">addSegs</span>(<span class="at">p1 =</span> <span class="fl">0.50</span>, <span class="at">p2 =</span> <span class="fl">0.55</span>) <span class="co"># 50% vs 55%</span></span>
+<span id="cb24-10"><a href="#cb24-10" aria-hidden="true" tabindex="-1"></a><span class="fu">addSegs</span>(<span class="at">p1 =</span> <span class="fl">0.05</span>, <span class="at">p2 =</span> <span class="fl">0.10</span>) <span class="co"># 5% vs 10%</span></span></code></pre></div>
+<p><img src="data:image/png;base64,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" /><!-- --></p>
+<p>The differences on the x-axis between the two pairs of proportions is
+the same (0.05), but the difference is larger for 5% vs 10% on the
+y-axis. The <code>ES.h</code> function returns the distance between the
+red lines.</p>
+<p>Base R has a function called <code>power.prop.test</code> that allows
+us to use the raw proportions in the function without a need for a
+separate effect size function.</p>
+<div class="sourceCode" id="cb25"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true" tabindex="-1"></a><span class="fu">power.prop.test</span>(<span class="at">p1 =</span> <span class="fl">0.55</span>, <span class="at">p2 =</span> <span class="fl">0.50</span>, <span class="at">sig.level =</span> <span class="fl">0.05</span>, <span class="at">power =</span> .<span class="dv">80</span>)</span></code></pre></div>
+<pre><code>## 
+##      Two-sample comparison of proportions power calculation 
+## 
+##               n = 1564.672
+##              p1 = 0.55
+##              p2 = 0.5
+##       sig.level = 0.05
+##           power = 0.8
+##     alternative = two.sided
+## 
+## NOTE: n is number in *each* group</code></pre>
+<p>Notice the results are slightly different. It calculates effect size
+differently.</p>
+<p>If we don’t have any preconceived estimates of proportions or don’t
+feel comfortable making estimates, we can use conventional effect sizes
+of 0.2 (small), 0.5 (medium), or 0.8 (large). The sample size per group
+needed to detect a “small” effect with 80% power and 0.05 significance
+is about 393:</p>
+<div class="sourceCode" id="cb27"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.2p.test</span>(<span class="at">h =</span> <span class="fl">0.2</span>, <span class="at">sig.level =</span> <span class="fl">0.05</span>, <span class="at">power =</span> .<span class="dv">80</span>)</span></code></pre></div>
+<pre><code>## 
+##      Difference of proportion power calculation for binomial distribution (arcsine transformation) 
+## 
+##               h = 0.2
+##               n = 392.443
+##       sig.level = 0.05
+##           power = 0.8
+##     alternative = two.sided
+## 
+## NOTE: same sample sizes</code></pre>
+</div>
+<div id="pwr.2p2n.test---two-sample-test-for-proportions-unequal-sample-sizes" class="section level3">
+<h3>pwr.2p2n.test - two-sample test for proportions, unequal sample
+sizes</h3>
+<p>Let’s return to our undergraduate survey of alcohol consumption. It
+turns out we were able to survey 543 males and 675 females. The power of
+our test if we’re interested in being able to detect a “small” effect
+size with 0.05 significance is about 93%.</p>
+<div class="sourceCode" id="cb29"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb29-1"><a href="#cb29-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cohen.ES</span>(<span class="at">test =</span> <span class="st">&quot;p&quot;</span>, <span class="at">size =</span> <span class="st">&quot;small&quot;</span>)</span></code></pre></div>
+<pre><code>## 
+##      Conventional effect size from Cohen (1982) 
+## 
+##            test = p
+##            size = small
+##     effect.size = 0.2</code></pre>
+<div class="sourceCode" id="cb31"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb31-1"><a href="#cb31-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.2p2n.test</span>(<span class="at">h =</span> <span class="fl">0.2</span>, <span class="at">n1 =</span> <span class="dv">543</span>, <span class="at">n2 =</span> <span class="dv">675</span>, <span class="at">sig.level =</span> <span class="fl">0.05</span>)</span></code></pre></div>
+<pre><code>## 
+##      difference of proportion power calculation for binomial distribution (arcsine transformation) 
+## 
+##               h = 0.2
+##              n1 = 543
+##              n2 = 675
+##       sig.level = 0.05
+##           power = 0.9344102
+##     alternative = two.sided
+## 
+## NOTE: different sample sizes</code></pre>
+<p>Let’s say we previously surveyed 763 female undergraduates and found
+that <em>p</em>% said they consumed alcohol once a week. We would like
+to survey some males and see if a significantly different proportion
+respond yes. How many do I need to sample to detect a small effect size
+(0.2) in either direction with 80% power and a significance level of
+0.05?</p>
+<div class="sourceCode" id="cb33"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb33-1"><a href="#cb33-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.2p2n.test</span>(<span class="at">h =</span> <span class="fl">0.2</span>, <span class="at">n1 =</span> <span class="dv">763</span>, <span class="at">power =</span> <span class="fl">0.8</span>, <span class="at">sig.level =</span> <span class="fl">0.05</span>)</span></code></pre></div>
+<pre><code>## 
+##      difference of proportion power calculation for binomial distribution (arcsine transformation) 
+## 
+##               h = 0.2
+##              n1 = 763
+##              n2 = 264.1544
+##       sig.level = 0.05
+##           power = 0.8
+##     alternative = two.sided
+## 
+## NOTE: different sample sizes</code></pre>
+<p>About 265.</p>
+</div>
+<div id="pwr.t.test---one-sample-and-two-sample-t-tests-for-means" class="section level3">
+<h3>pwr.t.test - one-sample and two-sample t tests for means</h3>
+<p>We’re interested to know if there is a difference in the mean price
+of what male and female students pay at a library coffee shop. Let’s say
+we randomly observe 30 male and 30 female students check out from the
+coffee shop and calculate the mean purchase price for each gender. We’ll
+test for a difference in means using a two-sample t-test. How powerful
+is this experiment if we want to detect a “medium” effect in either
+direction with a significance level of 0.05?</p>
+<div class="sourceCode" id="cb35"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb35-1"><a href="#cb35-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cohen.ES</span>(<span class="at">test =</span> <span class="st">&quot;t&quot;</span>, <span class="at">size =</span> <span class="st">&quot;medium&quot;</span>)</span></code></pre></div>
+<pre><code>## 
+##      Conventional effect size from Cohen (1982) 
+## 
+##            test = t
+##            size = medium
+##     effect.size = 0.5</code></pre>
+<div class="sourceCode" id="cb37"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb37-1"><a href="#cb37-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.t.test</span>(<span class="at">n =</span> <span class="dv">30</span>, <span class="at">d =</span> <span class="fl">0.5</span>, <span class="at">sig.level =</span> <span class="fl">0.05</span>)</span></code></pre></div>
+<pre><code>## 
+##      Two-sample t test power calculation 
+## 
+##               n = 30
+##               d = 0.5
+##       sig.level = 0.05
+##           power = 0.4778965
+##     alternative = two.sided
+## 
+## NOTE: n is number in *each* group</code></pre>
+<p>Only 48%. Not very powerful. How many students should we observe for
+a test with 80% power?</p>
+<div class="sourceCode" id="cb39"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb39-1"><a href="#cb39-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.t.test</span>(<span class="at">d =</span> <span class="fl">0.5</span>, <span class="at">power =</span> <span class="fl">0.80</span>, <span class="at">sig.level =</span> <span class="fl">0.05</span>)</span></code></pre></div>
+<pre><code>## 
+##      Two-sample t test power calculation 
+## 
+##               n = 63.76561
+##               d = 0.5
+##       sig.level = 0.05
+##           power = 0.8
+##     alternative = two.sided
+## 
+## NOTE: n is number in *each* group</code></pre>
+<p>About 64 per group.</p>
+<p>Let’s say we want to be able to detect a difference of at least 75
+cents in the mean purchase price. We need to convert that to an effect
+size using the following formula:</p>
+<p><span class="math display">\[d = \frac{m_{1} - m_{2}}{\sigma}
+\]</span></p>
+<p>where <span class="math inline">\(m_{1}\)</span> and <span class="math inline">\(m_{2}\)</span> are the means of each group,
+respectively, and <span class="math inline">\(\sigma\)</span> is the
+common standard deviation of the two groups. Again, the label <em>d</em>
+is due to Cohen (1988).</p>
+<p>We have <span class="math inline">\(m_{1} - m_{2} =\)</span> 0.75. We
+need to make a guess at the population standard deviation. If we have
+absolutely no idea, one rule of thumb is to take the difference between
+the maximum and minimum values and divide by 4. Let’s say the maximum
+purchase is $10 and the minimum purchase is $1. Our estimated standard
+deviation is (10 - 1)/4 = 2.25. Therefore our effect size is 0.75/2.25
+<span class="math inline">\(\approx\)</span> 0.333.</p>
+<div class="sourceCode" id="cb41"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb41-1"><a href="#cb41-1" aria-hidden="true" tabindex="-1"></a>d <span class="ot">&lt;-</span> <span class="fl">0.75</span><span class="sc">/</span><span class="fl">2.25</span></span>
+<span id="cb41-2"><a href="#cb41-2" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.t.test</span>(<span class="at">d =</span> d, <span class="at">power =</span> <span class="fl">0.80</span>, <span class="at">sig.level =</span> <span class="fl">0.05</span>)</span></code></pre></div>
+<pre><code>## 
+##      Two-sample t test power calculation 
+## 
+##               n = 142.2462
+##               d = 0.3333333
+##       sig.level = 0.05
+##           power = 0.8
+##     alternative = two.sided
+## 
+## NOTE: n is number in *each* group</code></pre>
+<p>For a desired power of 80%, Type I error tolerance of 0.05, and a
+hypothesized effect size of 0.333, we should sample at least 143 per
+group.</p>
+<p>Performing the same analysis with the base R function
+<code>power.t.test</code> is a little easier. The difference <span class="math inline">\(m_{1} - m_{2} =\)</span> 0.75 is entered in the
+<code>delta</code> argument and the estimated <span class="math inline">\(\sigma\)</span> = 2.25 is entered in the
+<code>sd</code> argument:</p>
+<div class="sourceCode" id="cb43"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb43-1"><a href="#cb43-1" aria-hidden="true" tabindex="-1"></a><span class="fu">power.t.test</span>(<span class="at">delta =</span> <span class="fl">0.75</span>, <span class="at">sd =</span> <span class="fl">2.25</span>, <span class="at">sig.level =</span> <span class="fl">0.05</span>, <span class="at">power =</span> <span class="fl">0.8</span>)</span></code></pre></div>
+<pre><code>## 
+##      Two-sample t test power calculation 
+## 
+##               n = 142.2466
+##           delta = 0.75
+##              sd = 2.25
+##       sig.level = 0.05
+##           power = 0.8
+##     alternative = two.sided
+## 
+## NOTE: n is number in *each* group</code></pre>
+<p>To calculate power and sample size for one-sample t-tests, we need to
+set the <code>type</code> argument to <code>&quot;one.sample&quot;</code>. By
+default it is set to <code>&quot;two.sample&quot;</code>.</p>
+<p>For example, we think the average purchase price at the Library
+coffee shop is over $3 per student. Our null is $3 or less; our
+alternative is greater than $3. We can use a one-sample t-test to
+investigate this hunch. If the true average purchase price is $3.50, we
+would like to have 90% power to declare the estimated average purchase
+price is greater than $3. How many transactions do we need to observe
+assuming a significance level of 0.05? Let’s say the maximum purchase
+price is $10 and the minimum is $1. So our guess at a standard deviation
+is 9/4 = 2.25.</p>
+<div class="sourceCode" id="cb45"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb45-1"><a href="#cb45-1" aria-hidden="true" tabindex="-1"></a>d <span class="ot">&lt;-</span> <span class="fl">0.50</span><span class="sc">/</span><span class="fl">2.25</span></span>
+<span id="cb45-2"><a href="#cb45-2" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.t.test</span>(<span class="at">d =</span> d, <span class="at">sig.level =</span> <span class="fl">0.05</span>, <span class="at">power =</span> <span class="fl">0.90</span>, <span class="at">alternative =</span> <span class="st">&quot;greater&quot;</span>,</span>
+<span id="cb45-3"><a href="#cb45-3" aria-hidden="true" tabindex="-1"></a>           <span class="at">type =</span> <span class="st">&quot;one.sample&quot;</span>)</span></code></pre></div>
+<pre><code>## 
+##      One-sample t test power calculation 
+## 
+##               n = 174.7796
+##               d = 0.2222222
+##       sig.level = 0.05
+##           power = 0.9
+##     alternative = greater</code></pre>
+<p>We should plan on observing at least 175 transactions.</p>
+<p>To use the <code>power.t.test</code> function, set
+<code>type = &quot;one.sample&quot;</code> and
+<code>alternative = &quot;one.sided&quot;</code>:</p>
+<div class="sourceCode" id="cb47"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb47-1"><a href="#cb47-1" aria-hidden="true" tabindex="-1"></a><span class="fu">power.t.test</span>(<span class="at">delta =</span> <span class="fl">0.50</span>, <span class="at">sd =</span> <span class="fl">2.25</span>, <span class="at">power =</span> <span class="fl">0.90</span>, <span class="at">sig.level =</span> <span class="fl">0.05</span>,</span>
+<span id="cb47-2"><a href="#cb47-2" aria-hidden="true" tabindex="-1"></a>             <span class="at">alternative =</span> <span class="st">&quot;one.sided&quot;</span>, <span class="at">type =</span> <span class="st">&quot;one.sample&quot;</span>)</span></code></pre></div>
+<pre><code>## 
+##      One-sample t test power calculation 
+## 
+##               n = 174.7796
+##           delta = 0.5
+##              sd = 2.25
+##       sig.level = 0.05
+##           power = 0.9
+##     alternative = one.sided</code></pre>
+<p>“Paired” t-tests are basically the same as one-sample t-tests, except
+our one sample is usually differences in pairs. The following example
+should make this clear.</p>
+<p>(<em>From Hogg &amp; Tanis, exercise 6.5-12</em>) 24 high school boys
+are put on a ultra-heavy rope-jumping program. Does this decrease their
+40-yard dash time (i.e., make them faster)? We’ll measure their 40 time
+in seconds before the program and after. We’ll use a paired t-test to
+see if the difference in times is greater than 0 (before - after).
+Assume the standard deviation of the differences will be about 0.25
+seconds. How powerful is the test to detect a difference of about 0.08
+seconds with 0.05 significance?</p>
+<p>Notice we set <code>type = &quot;paired&quot;</code>:</p>
+<div class="sourceCode" id="cb49"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb49-1"><a href="#cb49-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.t.test</span>(<span class="at">n =</span> <span class="dv">24</span>, <span class="at">d =</span> <span class="fl">0.08</span> <span class="sc">/</span> <span class="fl">0.25</span>,</span>
+<span id="cb49-2"><a href="#cb49-2" aria-hidden="true" tabindex="-1"></a>           <span class="at">type =</span> <span class="st">&quot;paired&quot;</span>, <span class="at">alternative =</span> <span class="st">&quot;greater&quot;</span>)</span></code></pre></div>
+<pre><code>## 
+##      Paired t test power calculation 
+## 
+##               n = 24
+##               d = 0.32
+##       sig.level = 0.05
+##           power = 0.4508691
+##     alternative = greater
+## 
+## NOTE: n is number of *pairs*</code></pre>
+<p>Only 45%. Not all that powerful. How many high school boys should we
+sample for 80% power?</p>
+<div class="sourceCode" id="cb51"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb51-1"><a href="#cb51-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.t.test</span>(<span class="at">d =</span> <span class="fl">0.08</span> <span class="sc">/</span> <span class="fl">0.25</span>, <span class="at">power =</span> <span class="fl">0.8</span>,</span>
+<span id="cb51-2"><a href="#cb51-2" aria-hidden="true" tabindex="-1"></a>           <span class="at">type =</span> <span class="st">&quot;paired&quot;</span>, <span class="at">alternative =</span> <span class="st">&quot;greater&quot;</span>)</span></code></pre></div>
+<pre><code>## 
+##      Paired t test power calculation 
+## 
+##               n = 61.75209
+##               d = 0.32
+##       sig.level = 0.05
+##           power = 0.8
+##     alternative = greater
+## 
+## NOTE: n is number of *pairs*</code></pre>
+<p>About 62.</p>
+<p>For paired t-tests we sometimes estimate a standard deviation for
+<em>within</em> pairs instead of for the difference in pairs. In our
+example, this would mean an estimated standard deviation for each boy’s
+40-yard dash times. When dealing with this type of estimated standard
+deviation we need to multiply it by <span class="math inline">\(\sqrt{2}\)</span> in the <code>pwr.t.test</code>
+function. Let’s say we estimate the standard deviation of each boy’s
+40-yard dash time to be about 0.10 seconds. The sample size needed to
+detect a difference of 0.08 seconds is now calculated as follows:</p>
+<div class="sourceCode" id="cb53"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb53-1"><a href="#cb53-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.t.test</span>(<span class="at">d =</span> <span class="fl">0.08</span> <span class="sc">/</span> (<span class="fl">0.1</span> <span class="sc">*</span> <span class="fu">sqrt</span>(<span class="dv">2</span>)), <span class="at">power =</span> <span class="fl">0.8</span>,</span>
+<span id="cb53-2"><a href="#cb53-2" aria-hidden="true" tabindex="-1"></a>           <span class="at">type =</span> <span class="st">&quot;paired&quot;</span>, <span class="at">alternative =</span> <span class="st">&quot;greater&quot;</span>)</span></code></pre></div>
+<pre><code>## 
+##      Paired t test power calculation 
+## 
+##               n = 20.74232
+##               d = 0.5656854
+##       sig.level = 0.05
+##           power = 0.8
+##     alternative = greater
+## 
+## NOTE: n is number of *pairs*</code></pre>
+<p>We need to sample at least 21 students.</p>
+</div>
+<div id="pwr.t2n.test---two-sample-t-test-for-means-unequal-sample-sizes" class="section level3">
+<h3>pwr.t2n.test - two-sample t test for means, unequal sample
+sizes</h3>
+<p>Find power for a two-sample t-test with 28 in one group and 35 in the
+other group and a medium effect size. (sig.level defaults to 0.05.)</p>
+<div class="sourceCode" id="cb55"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb55-1"><a href="#cb55-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.t2n.test</span>(<span class="at">n1 =</span> <span class="dv">28</span>, <span class="at">n2 =</span> <span class="dv">35</span>, <span class="at">d =</span> <span class="fl">0.5</span>)</span></code></pre></div>
+<pre><code>## 
+##      t test power calculation 
+## 
+##              n1 = 28
+##              n2 = 35
+##               d = 0.5
+##       sig.level = 0.05
+##           power = 0.4924588
+##     alternative = two.sided</code></pre>
+</div>
+<div id="pwr.chisq.test---goodness-of-fit-test" class="section level3">
+<h3>pwr.chisq.test - Goodness of fit test</h3>
+<p>(<em>From Cohen, example 7.1</em>) A market researcher is seeking to
+determine preference among 4 package designs. He arranges to have a
+panel of 100 consumers rate their favorite package design. He wants to
+perform a chi-square goodness of fit test against the null of equal
+preference (25% for each design) with a significance level of 0.05.
+What’s the power of the test if 3/8 of the population actually prefers
+one of the designs and the remaining 5/8 are split over the other 3
+designs?</p>
+<p>We use the <code>ES.w1</code> function to calculate effect size. To
+do so, we need to create vectors of null and alternative
+proportions:</p>
+<div class="sourceCode" id="cb57"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb57-1"><a href="#cb57-1" aria-hidden="true" tabindex="-1"></a>null <span class="ot">&lt;-</span> <span class="fu">rep</span>(<span class="fl">0.25</span>, <span class="dv">4</span>)</span>
+<span id="cb57-2"><a href="#cb57-2" aria-hidden="true" tabindex="-1"></a>alt <span class="ot">&lt;-</span> <span class="fu">c</span>(<span class="dv">3</span><span class="sc">/</span><span class="dv">8</span>, <span class="fu">rep</span>((<span class="dv">5</span><span class="sc">/</span><span class="dv">8</span>)<span class="sc">/</span><span class="dv">3</span>, <span class="dv">3</span>))</span>
+<span id="cb57-3"><a href="#cb57-3" aria-hidden="true" tabindex="-1"></a><span class="fu">ES.w1</span>(null,alt)</span></code></pre></div>
+<pre><code>## [1] 0.2886751</code></pre>
+<p>To calculate power, specify effect size (<code>w</code>), sample size
+(<code>N</code>), and degrees of freedom, which is the number of
+categories minus 1 (<code>df</code> = 4 - 1).</p>
+<div class="sourceCode" id="cb59"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb59-1"><a href="#cb59-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.chisq.test</span>(<span class="at">w=</span><span class="fu">ES.w1</span>(null,alt), <span class="at">N=</span><span class="dv">100</span>, <span class="at">df=</span>(<span class="dv">4-1</span>), <span class="at">sig.level=</span><span class="fl">0.05</span>)</span></code></pre></div>
+<pre><code>## 
+##      Chi squared power calculation 
+## 
+##               w = 0.2886751
+##               N = 100
+##              df = 3
+##       sig.level = 0.05
+##           power = 0.6739834
+## 
+## NOTE: N is the number of observations</code></pre>
+<p>If our estimated effect size is correct, we only have about a 67%
+chance of finding it (i.e., rejecting the null hypothesis of equal
+preference).</p>
+<p>How many subjects do we need to achieve 80% power?</p>
+<div class="sourceCode" id="cb61"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb61-1"><a href="#cb61-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.chisq.test</span>(<span class="at">w=</span><span class="fu">ES.w1</span>(null,alt), <span class="at">df=</span>(<span class="dv">4-1</span>), <span class="at">power=</span><span class="fl">0.8</span>, <span class="at">sig.level =</span> <span class="fl">0.05</span>)</span></code></pre></div>
+<pre><code>## 
+##      Chi squared power calculation 
+## 
+##               w = 0.2886751
+##               N = 130.8308
+##              df = 3
+##       sig.level = 0.05
+##           power = 0.8
+## 
+## NOTE: N is the number of observations</code></pre>
+<p>If our alternative hypothesis is correct then we need to survey at
+least 131 people to detect it with 80% power.</p>
+</div>
+<div id="pwr.chisq.test---test-of-association" class="section level3">
+<h3>pwr.chisq.test - test of association</h3>
+<p>We want to see if there’s an association between gender and flossing
+teeth among college students. We randomly sample 100 students (male and
+female) and ask whether or not they floss daily. We want to carry out a
+chi-square test of association to determine if there’s an association
+between these two variables. We set our significance level to 0.01. To
+determine effect size we need to propose an alternative hypothesis,
+which in this case is a table of proportions. We propose the
+following:</p>
+<table>
+<thead>
+<tr class="header">
+<th>gender</th>
+<th>Floss</th>
+<th>No Floss</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td>Male</td>
+<td>0.1</td>
+<td>0.4</td>
+</tr>
+<tr class="even">
+<td>Female</td>
+<td>0.2</td>
+<td>0.3</td>
+</tr>
+</tbody>
+</table>
+<p>We use the <code>ES.w2</code> function to calculate effect size for
+chi-square tests of association</p>
+<div class="sourceCode" id="cb63"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb63-1"><a href="#cb63-1" aria-hidden="true" tabindex="-1"></a>prob <span class="ot">&lt;-</span> <span class="fu">matrix</span>(<span class="fu">c</span>(<span class="fl">0.1</span>,<span class="fl">0.2</span>,<span class="fl">0.4</span>,<span class="fl">0.3</span>), <span class="at">ncol=</span><span class="dv">2</span>,</span>
+<span id="cb63-2"><a href="#cb63-2" aria-hidden="true" tabindex="-1"></a>               <span class="at">dimnames =</span> <span class="fu">list</span>(<span class="fu">c</span>(<span class="st">&quot;M&quot;</span>,<span class="st">&quot;F&quot;</span>),<span class="fu">c</span>(<span class="st">&quot;Floss&quot;</span>,<span class="st">&quot;No Floss&quot;</span>)))</span>
+<span id="cb63-3"><a href="#cb63-3" aria-hidden="true" tabindex="-1"></a>prob</span></code></pre></div>
+<pre><code>##   Floss No Floss
+## M   0.1      0.4
+## F   0.2      0.3</code></pre>
+<p>This says we sample even proportions of male and females, but believe
+10% more females floss.</p>
+<p>Now use the matrix to calculate effect size:</p>
+<div class="sourceCode" id="cb65"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb65-1"><a href="#cb65-1" aria-hidden="true" tabindex="-1"></a><span class="fu">ES.w2</span>(prob)</span></code></pre></div>
+<pre><code>## [1] 0.2182179</code></pre>
+<p>We also need degrees of freedom. <code>df</code> = (2 - 1) * (2 - 1)
+= 1</p>
+<p>And now to calculate power:</p>
+<div class="sourceCode" id="cb67"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb67-1"><a href="#cb67-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.chisq.test</span>(<span class="at">w =</span> <span class="fu">ES.w2</span>(prob), <span class="at">N =</span> <span class="dv">100</span>, <span class="at">df =</span> <span class="dv">1</span>, <span class="at">sig.level =</span> <span class="fl">0.01</span>)</span></code></pre></div>
+<pre><code>## 
+##      Chi squared power calculation 
+## 
+##               w = 0.2182179
+##               N = 100
+##              df = 1
+##       sig.level = 0.01
+##           power = 0.3469206
+## 
+## NOTE: N is the number of observations</code></pre>
+<p>At only 35% this is not a very powerful experiment. How many students
+should I survey if I wish to achieve 90% power?</p>
+<div class="sourceCode" id="cb69"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb69-1"><a href="#cb69-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.chisq.test</span>(<span class="at">w =</span> <span class="fu">ES.w2</span>(prob), <span class="at">power =</span> <span class="fl">0.9</span>, <span class="at">df =</span> <span class="dv">1</span>, <span class="at">sig.level =</span> <span class="fl">0.01</span>)</span></code></pre></div>
+<pre><code>## 
+##      Chi squared power calculation 
+## 
+##               w = 0.2182179
+##               N = 312.4671
+##              df = 1
+##       sig.level = 0.01
+##           power = 0.9
+## 
+## NOTE: N is the number of observations</code></pre>
+<p>About 313.</p>
+<p>If you don’t suspect association in either direction, or you don’t
+feel like building a matrix in R, you can try a conventional effect
+size. For example, how many students should we sample to detect a small
+effect?</p>
+<div class="sourceCode" id="cb71"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb71-1"><a href="#cb71-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cohen.ES</span>(<span class="at">test =</span> <span class="st">&quot;chisq&quot;</span>, <span class="at">size =</span> <span class="st">&quot;small&quot;</span>)</span></code></pre></div>
+<pre><code>## 
+##      Conventional effect size from Cohen (1982) 
+## 
+##            test = chisq
+##            size = small
+##     effect.size = 0.1</code></pre>
+<div class="sourceCode" id="cb73"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb73-1"><a href="#cb73-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.chisq.test</span>(<span class="at">w =</span> <span class="fl">0.1</span>, <span class="at">power =</span> <span class="fl">0.9</span>, <span class="at">df =</span> <span class="dv">1</span>, <span class="at">sig.level =</span> <span class="fl">0.01</span>)</span></code></pre></div>
+<pre><code>## 
+##      Chi squared power calculation 
+## 
+##               w = 0.1
+##               N = 1487.939
+##              df = 1
+##       sig.level = 0.01
+##           power = 0.9
+## 
+## NOTE: N is the number of observations</code></pre>
+<p>1,488 students. Perhaps more than we thought we might need.</p>
+<p>We could consider reframing the question as a two-sample proportion
+test. What sample size do we need to detect a “small” effect in gender
+on the proportion of students who floss with 90% power and a
+significance level of 0.01?</p>
+<div class="sourceCode" id="cb75"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb75-1"><a href="#cb75-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.2p.test</span>(<span class="at">h =</span> <span class="fl">0.2</span>, <span class="at">sig.level =</span> <span class="fl">0.01</span>, <span class="at">power =</span> <span class="fl">0.9</span>)</span></code></pre></div>
+<pre><code>## 
+##      Difference of proportion power calculation for binomial distribution (arcsine transformation) 
+## 
+##               h = 0.2
+##               n = 743.9694
+##       sig.level = 0.01
+##           power = 0.9
+##     alternative = two.sided
+## 
+## NOTE: same sample sizes</code></pre>
+<p>About 744 per group. Notice that 744 <span class="math inline">\(\times\)</span> 2 = 1,488, the sample size
+returned previously by <code>pwr.chisq.test</code>. In fact the test
+statistic for a two-sample proportion test and chi-square test of
+association are one and the same.</p>
+</div>
+<div id="pwr.r.test---correlation-test" class="section level3">
+<h3>pwr.r.test - correlation test</h3>
+<p>(<em>From Hogg &amp; Tanis, exercise 8.9-12</em>) A graduate student
+is investigating the effectiveness of a fitness program. She wants to
+see if there is a correlation between the weight of a participant at the
+beginning of the program and the participant’s weight change after 6
+months. She suspects there is a “small” positive linear relationship
+between these two quantities. She will measure this relationship with
+correlation, <em>r</em>, and conduct a correlation test to determine if
+the estimated correlation is statistically greater than 0. How many
+subjects does she need to sample to detect this small positive (i.e.,
+<em>r</em> &gt; 0) relationship with 80% power and 0.01 significance
+level?</p>
+<p>There is nothing tricky about the effect size argument,
+<code>r</code>. It is simply the hypothesized correlation. It can take
+values ranging from -1 to 1.</p>
+<div class="sourceCode" id="cb77"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb77-1"><a href="#cb77-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cohen.ES</span>(<span class="at">test =</span> <span class="st">&quot;r&quot;</span>, <span class="at">size =</span> <span class="st">&quot;small&quot;</span>)</span></code></pre></div>
+<pre><code>## 
+##      Conventional effect size from Cohen (1982) 
+## 
+##            test = r
+##            size = small
+##     effect.size = 0.1</code></pre>
+<div class="sourceCode" id="cb79"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb79-1"><a href="#cb79-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.r.test</span>(<span class="at">r =</span> <span class="fl">0.1</span>, <span class="at">sig.level =</span> <span class="fl">0.01</span>, <span class="at">power =</span> <span class="fl">0.8</span>, <span class="at">alternative =</span> <span class="st">&quot;greater&quot;</span>)</span></code></pre></div>
+<pre><code>## 
+##      approximate correlation power calculation (arctangh transformation) 
+## 
+##               n = 999.2054
+##               r = 0.1
+##       sig.level = 0.01
+##           power = 0.8
+##     alternative = greater</code></pre>
+<p>She needs to observe about a 1000 students.</p>
+<p>The default is a two-sided test. We specify
+<code>alternative = &quot;greater&quot;</code> since we believe there is small
+positive effect.</p>
+<p>If she just wants to detect a small effect in either direction
+(positive or negative correlation), use the default settings of
+“two.sided”, which we can do by removing the <code>alternative</code>
+argument from the function.</p>
+<div class="sourceCode" id="cb81"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb81-1"><a href="#cb81-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.r.test</span>(<span class="at">r =</span> <span class="fl">0.1</span>, <span class="at">sig.level =</span> <span class="fl">0.01</span>, <span class="at">power =</span> <span class="fl">0.8</span>)</span></code></pre></div>
+<pre><code>## 
+##      approximate correlation power calculation (arctangh transformation) 
+## 
+##               n = 1162.564
+##               r = 0.1
+##       sig.level = 0.01
+##           power = 0.8
+##     alternative = two.sided</code></pre>
+<p>Now she needs to observe 1163 students. Detecting small effects
+requires large sample sizes.</p>
+</div>
+<div id="pwr.anova.test---balanced-one-way-analysis-of-variance-tests" class="section level3">
+<h3>pwr.anova.test - balanced one-way analysis of variance tests</h3>
+<p>(<em>From Hogg &amp; Tanis, exercise 8.7-11</em>) The driver of a
+diesel-powered car decides to test the quality of three types of fuel
+sold in his area based on the miles per gallon (mpg) his car gets on
+each fuel. He will use a balanced one-way ANOVA to test the null that
+the mean mpg is the same for each fuel versus the alternative that the
+means are different. (“balanced” means equal sample size in each group;
+“one-way” means one grouping variable.) How many times does he need to
+try each fuel to have 90% power to detect a “medium” effect with a
+significance of 0.01?</p>
+<p>We use <code>cohen.ES</code> to get learn the “medium” effect value
+is 0.25. We put that in the <code>f</code> argument of
+<code>pwr.anova.test</code>. We also need to specify the number of
+groups using the <code>k</code> argument.</p>
+<div class="sourceCode" id="cb83"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb83-1"><a href="#cb83-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cohen.ES</span>(<span class="at">test =</span> <span class="st">&quot;anov&quot;</span>, <span class="at">size =</span> <span class="st">&quot;medium&quot;</span>)</span></code></pre></div>
+<pre><code>## 
+##      Conventional effect size from Cohen (1982) 
+## 
+##            test = anov
+##            size = medium
+##     effect.size = 0.25</code></pre>
+<div class="sourceCode" id="cb85"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb85-1"><a href="#cb85-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.anova.test</span>(<span class="at">k =</span> <span class="dv">3</span>, <span class="at">f =</span> <span class="fl">0.25</span>, <span class="at">sig.level =</span> <span class="fl">0.01</span>, <span class="at">power =</span> <span class="fl">0.9</span>)</span></code></pre></div>
+<pre><code>## 
+##      Balanced one-way analysis of variance power calculation 
+## 
+##               k = 3
+##               n = 94.48714
+##               f = 0.25
+##       sig.level = 0.01
+##           power = 0.9
+## 
+## NOTE: n is number in each group</code></pre>
+<p>He would need to measure mpg 95 times for each type of fuel. His
+experiment may take a while to complete.</p>
+<p>The effect size <code>f</code> is calculated as follows:</p>
+<p><span class="math display">\[f =
+\frac{\sigma_{means}}{\sigma_{pop&#39;n}}\]</span></p>
+<p>where <span class="math inline">\(\sigma_{means}\)</span> is the
+standard deviation of the <em>k</em> means and <span class="math inline">\(\sigma_{pop&#39;n}\)</span> is the common standard
+deviation of the <em>k</em> groups. These two quantities are also known
+as the <em>between-group</em> and <em>within-group</em> standard
+deviations. If our driver suspects the between-group standard deviation
+is 5 mpg and the within-group standard deviation is 3 mpg,
+<code>f</code> = 5/3.</p>
+<div class="sourceCode" id="cb87"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb87-1"><a href="#cb87-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.anova.test</span>(<span class="at">k =</span> <span class="dv">3</span>, <span class="at">f =</span> <span class="dv">5</span><span class="sc">/</span><span class="dv">3</span>, <span class="at">sig.level =</span> <span class="fl">0.01</span>, <span class="at">power =</span> <span class="fl">0.9</span>)</span></code></pre></div>
+<pre><code>## 
+##      Balanced one-way analysis of variance power calculation 
+## 
+##               k = 3
+##               n = 3.842228
+##               f = 1.666667
+##       sig.level = 0.01
+##           power = 0.9
+## 
+## NOTE: n is number in each group</code></pre>
+<p>In this case he only needs to try each fuel 4 times. Clearly the
+hypothesized effect has important consequences in estimating an optimum
+effect size.</p>
+<p>We can also use the <code>power.anova.test</code> function that comes
+with base R. It requires between-group and within-group
+<em>variances</em>. To get the same result as
+<code>pwr.anova.test</code> we need to square the standard deviations to
+get variances and multiply the between-group variance by <span class="math inline">\(\frac{k}{k-1}\)</span>. This is because the effect
+size formula for the ANOVA test assumes the between-group variance has a
+denominator of <em>k</em> instead of <em>k - 1</em>.</p>
+<div class="sourceCode" id="cb89"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb89-1"><a href="#cb89-1" aria-hidden="true" tabindex="-1"></a><span class="fu">power.anova.test</span>(<span class="at">groups =</span> <span class="dv">3</span>,</span>
+<span id="cb89-2"><a href="#cb89-2" aria-hidden="true" tabindex="-1"></a>                 <span class="at">within.var =</span> <span class="dv">3</span><span class="sc">^</span><span class="dv">2</span>,</span>
+<span id="cb89-3"><a href="#cb89-3" aria-hidden="true" tabindex="-1"></a>                 <span class="at">between.var =</span> <span class="dv">5</span><span class="sc">^</span><span class="dv">2</span> <span class="sc">*</span> (<span class="dv">3</span><span class="sc">/</span><span class="dv">2</span>),</span>
+<span id="cb89-4"><a href="#cb89-4" aria-hidden="true" tabindex="-1"></a>                 <span class="at">sig.level =</span> <span class="fl">0.01</span>, <span class="at">power =</span> <span class="fl">0.90</span>)</span></code></pre></div>
+<pre><code>## 
+##      Balanced one-way analysis of variance power calculation 
+## 
+##          groups = 3
+##               n = 3.842225
+##     between.var = 37.5
+##      within.var = 9
+##       sig.level = 0.01
+##           power = 0.9
+## 
+## NOTE: n is number in each group</code></pre>
+</div>
+<div id="pwr.f2.test---test-for-the-general-linear-model" class="section level3">
+<h3>pwr.f2.test - test for the general linear model</h3>
+<p>(<em>From Kutner, et al, exercise 8.43</em>) A director of admissions
+at a university wants to determine how accurately students’ grade-point
+averages (gpa) at the end of their first year can be predicted or
+explained by SAT scores and high school class rank. A common approach to
+answering this kind of question is to model gpa as a function of SAT
+score and class rank. Or to put another way, we can perform a multiple
+regression with gpa as the dependent variable and SAT and class rank as
+independent variables.</p>
+<p>The null hypothesis is that none of the independent variables explain
+any of the variability in gpa. This would mean their regression
+coefficients are statistically indistinguishable from 0. The alternative
+is that at least one of the coefficients is not 0. This is tested with
+an F test. We can estimate power and sample size for this test using the
+<code>pwr.f2.test</code> function.</p>
+<p>The F test has numerator and denominator degrees of freedom. The
+numerator degrees of freedom, <code>u</code>, is the number of
+coefficients you’ll have in your model (minus the intercept). In our
+example, <code>u = 2</code>. The denominator degrees of freedom,
+<code>v</code>, is the number of error degrees of freedom: <span class="math inline">\(v = n - u - 1\)</span>. This implies <span class="math inline">\(n = v + u + 1\)</span>.</p>
+<p>The effect size, <code>f2</code>, is <span class="math inline">\(R^{2}/(1 - R^{2})\)</span>, where <span class="math inline">\(R^{2}\)</span> is the coefficient of
+determination, aka the “proportion of variance explained”. To determine
+effect size you hypothesize the proportion of variance your model
+explains, or the <span class="math inline">\(R^{2}\)</span>. For
+example, if I think my model explains 45% of the variance in my
+dependent variable, the effect size is 0.45/(1 - 0.45) <span class="math inline">\(\approx\)</span> 0.81.</p>
+<p>Returning to our example, let’s say the director of admissions
+hypothesizes his model explains about 30% of the variability in gpa. How
+large of a sample does he need to take to detect this effect with 80%
+power at a 0.001 significance level?</p>
+<div class="sourceCode" id="cb91"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb91-1"><a href="#cb91-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.f2.test</span>(<span class="at">u =</span> <span class="dv">2</span>, <span class="at">f2 =</span> <span class="fl">0.3</span><span class="sc">/</span>(<span class="dv">1</span> <span class="sc">-</span> <span class="fl">0.3</span>), <span class="at">sig.level =</span> <span class="fl">0.001</span>, <span class="at">power =</span> <span class="fl">0.8</span>)</span></code></pre></div>
+<pre><code>## 
+##      Multiple regression power calculation 
+## 
+##               u = 2
+##               v = 49.88971
+##              f2 = 0.4285714
+##       sig.level = 0.001
+##           power = 0.8</code></pre>
+<p>Recall <span class="math inline">\(n = v + u + 1\)</span>. Therefore
+he needs 50 + 2 + 1 = 53 student records.</p>
+<p>What is the power of the test with 40 subjects and a significance
+level of 0.01? Recall <span class="math inline">\(v = n - u -
+1\)</span>.</p>
+<div class="sourceCode" id="cb93"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb93-1"><a href="#cb93-1" aria-hidden="true" tabindex="-1"></a><span class="fu">pwr.f2.test</span>(<span class="at">u =</span> <span class="dv">2</span>, <span class="at">v =</span> <span class="dv">40</span> <span class="sc">-</span> <span class="dv">2</span> <span class="sc">-</span> <span class="dv">1</span>, <span class="at">f2 =</span> <span class="fl">0.3</span><span class="sc">/</span>(<span class="dv">1</span> <span class="sc">-</span> <span class="fl">0.3</span>), <span class="at">sig.level =</span> <span class="fl">0.01</span>)</span></code></pre></div>
+<pre><code>## 
+##      Multiple regression power calculation 
+## 
+##               u = 2
+##               v = 37
+##              f2 = 0.4285714
+##       sig.level = 0.01
+##           power = 0.8406124</code></pre>
+<p>Power is about 84%.</p>
+</div>
+</div>
+<div id="references-and-further-reading" class="section level2">
+<h2>References and Further Reading</h2>
+<p>Cohen, J. (1988). <em>Statistical Power Analysis for the Behavioral
+Sciences (2nd ed.)</em>. LEA. Dalgaard, P. (2002). <em>Introductory
+Statistics with R</em>. Springer. (Ch. 2) Hogg, R and Tanis, E. (2006).
+<em>Probability and Statistical Inference (7th ed.)</em>. Pearson. (Ch.
+9) Kabacoff, R. (2011). <em>R in Action</em>. Manning. (Ch. 10) Kutner,
+et al. (2005). <em>Applied Linear Statistical Models</em>. McGraw-Hill.
+(Ch. 16) Ryan, T. (2013). <em>Sample Size Determination and Power</em>.
+Wiley.</p>
+<p>The <a href="https://CRAN.R-project.org/view=ClinicalTrials">CRAN
+Task View for Clinical Trial Design, Monitoring, and Analysis</a> lists
+various R packages that also perform sample size and power
+calculations.</p>
+</div>
+
+
+
+<!-- code folding -->
+
+
+<!-- dynamically load mathjax for compatibility with self-contained -->
+<script>
+  (function () {
+    var script = document.createElement("script");
+    script.type = "text/javascript";
+    script.src  = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
+    document.getElementsByTagName("head")[0].appendChild(script);
+  })();
+</script>
+
+</body>
+</html>

Debdiff

[The following lists of changes regard files as different if they have different names, permissions or owners.]

Files in second set of .debs but not in first

-rw-r--r--  root/root   /usr/lib/R/site-library/pwr/doc/pwr-vignette.html

Control files: lines which differ (wdiff format)

  • Depends: r-base-core (>= 4.1.3.20220413-2~jan+lint1), 4.2.0-1~jan+unchanged1), r-api-4.0

More details

Full run details