Problem 9.48 (2 points)

Let \(Y_1,\dotsc,Y_n\) denote a random sample from a normal distribution with mean \(\mu\) and variance \(\sigma^2\). In exercise \(9.30\)(b), we showed that if \(\mu\) is known and \(\sigma^2\) is unknown then \(U = \sum_{i=1}^{n}(Y_i - \mu)^2\) is sufficient for \(\sigma^2\). By theorem \(7.2\), \(W = U/\sigma^2\) has a \(\chi^2\)-distribution with \(\nu = n\) degrees of freedom, so \[ E[U] = E[\sigma^2 W] = \sigma^2 E[W] = n\sigma^2. \] Thus \(\frac{1}{n}U = \frac{1}{n}\sum_{i=1}^{n}(Y_i - \mu)^2\) is an unbiased estimator for \(\sigma^2\). Since we arrived at the sufficient statistic \(U\) via the factorization criterion, \(U\) best summarizes the information about \(\sigma^2\). Therefore \(\frac{1}{n}U\) is a MVUE for \(\sigma^2\).

Problem 9.50 (2 points)

In exercise \(9.32\), \(Y_1,\dotsc,Y_n\) denotes a random sample from a Rayleigh distribution with parameter \(\theta\). Each \(Y_i\) has density function \[ f_Y(y \mid \theta) = \begin{cases} \frac{2 y}{\theta} e^{-y^2/\theta}, & y > 0 \\ 0, & \textrm{elsewhere} \end{cases}. \] The factorization criterion led to the sufficient statistic \(U = \sum_{i=1}^{n} Y_i^2\). Note that if \(w = y^2\) then \[ f_Y(y)\,dy = \frac{2 y}{\theta}e^{-y^2/\theta}\,dy = \frac{1}{\theta} e^{-w/\theta}\,dw = f_W(w)\,dw, \] which shows that \(W=Y^2\) is an exponential random variable with mean \(\theta\), thus \(E[Y^2] = E[W] = \theta\). We therefore have that \(E[U] = E[\sum_{i=1}^{n} Y_i^2] = \sum_{i=1}^{n} \theta = n\theta\), which implies that \(\frac{1}{n}U\) is an unbiased estimator from \(\theta\). Since \(U\) best summarizes the information about \(\theta\), \(\frac{1}{n}U = \frac{1}{n}\sum_{i=1}^{n} Y_i^2\) is a MVUE for \(\theta\).

Problem 9.52 (10 points)

Let \(Y_1, Y_2,\dotsc,Y_n\) denote a random sample from the probability distribution whose density function is \[ f_Y(y \mid \theta) = \begin{cases} \theta\, y^{\theta - 1}, & 0 < y < 1 ; \theta > 0 \\ 0, & \textrm{elsewhere} \end{cases}. \]

An exponential family of distributions has a density that can be written in the form \[ f(y \mid \theta) = \begin{cases} a(\theta)\,b(y)\, \exp\bigl({-c(\theta)\,d(y)}\bigr), & a < y < b \\ 0, & \textrm{elsewhere} \end{cases}. \] Applying the factorization criterion we showed, in exercise 9.37, that \(U = \sum_{i=1}^{n} d(Y_i)\) is a sufficient statistic for \(\theta\).
  1. Since \[ \theta\,y^{\theta - 1} = \theta\,\exp\bigl((\theta - 1)\ln y\bigr) = \theta\,\exp\bigl(-(\theta - 1)(-\ln y)\bigr) \] we see that \(f_Y(y \mid \theta)\) belongs to an exponential family with \(d(y) = - \ln y\). Therefore, \(U = -\sum_{i=1}^{n}\ln Y_i\) is a sufficient statistic for \(\theta\).
  2. Let \(w = - \ln y\), which is equivalent to \(y = e^{-w}\). Then \(dy = - e^{-w}\,dw\) and \[ f_Y(y \mid \theta)\,dy = \theta\,y^{\theta - 1}\,dy = \theta\,e^{-(\theta - 1) w}\,e^{-w}\,dw = \theta\,e^{-\theta\,w}\,dw = f_W(w \mid \theta)\,dw. \] Therefore, \(W = -\ln Y\) has an exponential distribution with expected value \(E[W] = 1/\theta\).
  3. Let \(t = 2\theta\,w\), then \(dt = 2\theta\,dw\) and \[ f_W(w \mid \theta)\,dw = \theta\,e^{-\theta\,w}\,dw = \frac{1}{2}e^{-t/2}\,dt = f_T(t)\,dt. \] Thus, \(T = 2\theta\,W\) has a \(\chi^2\)-distribution with \(\nu = 2\) degrees of freedom. Therefore \[ 2\theta\,\sum_{i=1}^{n} W_i = \sum_{i=1}^{n} T_i \] has a \(\chi^2\)-distribution with \(\nu = 2n\) degrees of freedom.
  4. Exercise \(4.90\)(d) showed that if \(X\) has a \(\chi^2\)-distribution with \(\nu\) degrees of freedom then \(E\left[X^{-1}\right] = 1/(\nu - 2)\). This implies \[ E\left[ \left(2\theta \sum_{i=1}^{n} W_i\right)^{-1}\right] = \frac{1}{2(n-1)}. \]
  5. From part (d), we see that \(E\left[ (n - 1) / \sum_{i=1}^{n} W_i\right] = \theta \), making \((n - 1) / \sum_{i=1}^{n} W_i\) an unbiased estimator for \(\theta\). Since \(\sum_{i=1}^{n} W_i = - \sum_{i=1}^{n} \ln Y_i\) best summarizes the information about \(\theta\), \[ \frac{n-1}{\sum_{i=1}^{n} W_i} = \frac{n-1}{-\sum_{i=1}^{n} \ln Y_i} \] is a MVUE for \(\theta\).

Problem 9.54 (2 points)

In exercise \(9.43\), the factorization criterion shows that \(Y_{(1)} = \min(Y_1,Y_2,\dotsc,Y_n)\) is a sufficient statistic for \(\theta\), where \(Y_1,Y_2,\dotsc,Y_n\) denotes a random sample taken from a probability distribution whose density function is \[ f_Y(y \mid \theta) = \begin{cases} e^{-(y-\theta)}, & y \ge \theta \\ 0 , & \textrm{elsewhere} \end{cases}. \] Notice that \[ 1 - F_Y(y) = P(Y > y) = \begin{cases} e^{-(y-\theta)}, & y \ge \theta \\ 1 , & \textrm{elsewhere} \end{cases}, \] which implies that \[ P(Y_{(1)} > y) = [1 - F_Y(y)]^n = \begin{cases} e^{-n(y - \theta)}, & y \ge \theta \\ 1 , & \textrm{elsewhere} \end{cases}. \] Now, let \(X = Y_{(1)} - \theta\). Then \[ P(X > x) = P(Y_{(1)} > x + \theta) = \begin{cases} e^{-n x}, & x \ge 0 \\ 1, & \textrm{elsewhere} \end{cases}, \] which shows that \(X\) has an exponential probability distribution with \(\beta = E[X] = 1/n\). Therefore \[ E[Y_{(1)} - 1/n] = E[\theta + X - 1/n] = \theta + 1/n - 1/n = \theta, \] and since \(Y_{(1)}\) best summarizes the information about \(\theta\) we conclude that \(\hat{\theta} = Y_{(1)} - 1/n\) is a MVUE for \(\theta\).

Problem 9.56 (4 points)

Let \(Y_1, Y_2, \dotsc, Y_n\) be a random sample from a normal distribution with mean \(\mu\) and variance \(\sigma^2 = 1\).
  1. From exercise \(9.30\)(a), \(\overline{Y}\) is a sufficient statistic that best summarized the information about \(\mu\). Since \(E\left[\overline{Y}\right] = \mu\), \(\overline{Y}\) is a MVUE for \(\mu\). Now, \[ E\left[\overline{Y}^2\right] = V\left[\overline{Y}\right] + E\left[\overline{Y}\right]^2 = \frac{1}{n}\sigma^2 + \mu^2 = \frac{1}{n} + \mu^2, \] which implies that \(E\left[\overline{Y}^2 - \frac{1}{n}\right] = \mu^2\). Therefore, \(\widehat{\mu^2} = \overline{Y}^2 - 1/n\) is an unbiased estimator for \(\mu^2\), and since \(\overline{Y}\) is an MVUE for \(\mu\), \(\overline{Y}^2 - 1/n\) is an MVUE for \(\mu^2\).
  2. \[ V\left[\widehat{\mu^2}\right] = V\left[\overline{Y}^2 - 1/n\right] = V\left[\overline{Y}^2\right] = E\left[\overline{Y}^4\right] - E\left[\overline{Y}\right]^2. \] Since \(\overline{Y}\) has a normal distribution with \(E[\overline{Y}] = \mu\) and \(V[\overline{Y}] = 1/n\), the moment generating function for \(\overline{Y}\) is \(m(t) = \exp[\mu t + t^2 / (2n)]\). With the aid of software, we calculate the fourth derivative of \(m(t)\) and evaluate at \(t = 0\) to obtain \[\begin{align*} E\left[\overline{Y}^4\right] &= m^{(4)}(0) = \mu^4 + 6\mu^2/n + 3/n^2 \\ \implies V\left[\widehat{\mu^2}\right] &= (\mu^4 + 6\mu^2/n + 3/n^2) - (\mu^2 + 1/n)^2 \\ \implies V\left[\widehat{\mu^2}\right] &= 2 (2 n \mu^2 + 1) / n^2. \end{align*}\]

Problem 9.57 (6 points)

Let \(Y_1, Y_2, \dotsc, Y_n\) be independent Bernoulli random variables with \[ p(y_i \mid p) = p^{y_i} (1 - p)^{1 - y_i}, \quad y_i = 0, 1. \]
  1. Let \[ T = \begin{cases} 1 , & \textrm{if \(Y_1 = 1\) and \(Y_2 = 0\)} \\ 0 , & \textrm{otherwise} \end{cases}. \] Then \[\begin{align*} E[T] &= 0\cdot P(T=0) + 1\cdot P(T = 1) = P(T = 1) \\ &= P(Y_1 = 1, Y_2 = 0) = P(Y_1 = 1)\cdot P(Y_2 = 0) \\ &= p (1 - p). \end{align*}\] Therefore, \(T\) is an unbiased estimator for \(p (1-p)\).
  2. Let \(W = \sum_{i=1}^{n} Y_i\). Note that \(Y_1 = 1\) and \(Y_2 = 0\) implies that \(1 \le W \le n-1\). Thus, for \(1 \le w \le n - 1\) \[\begin{align*} P(T = 1 \mid W = w) &= \frac{P(T = 1, W = w)}{P(W = w)} \\ &= \frac{P(T = 1, \sum_{i=3}^{n} Y_i = w - 1)}{P(W = w)} \\ &= \frac{P(T = 1)\cdot P(\sum_{i=3}^{n} Y_i = w - 1)}{P(W = w)} \\ &= \frac{p (1 - p)\binom{n-2}{w-1}p^{w - 1}(1 - p)^{n - w - 1}} {\binom{n}{w}p^{w}(1 - p)^{n-w}} \\ &= \frac{\binom{n-2}{w-1}}{\binom{n}{w}} \\ &= \frac{w (n - w)}{n (n-1)}. \end{align*}\]
  3. Now, for \(1 \le w \le n - 1\), \[\begin{align*} E[ T \mid W = w] &= 0\cdot P(T = 0 \mid W = w) + 1\cdot P(T = 1 \mid W =w) \\ &= P(T = 1 \mid W = w) \\ &= \frac{w (n - w)}{n (n - 1)}. \end{align*}\]

    Therefore, \[ E[T \mid W] = \frac{W (n - W)}{n (n - 1)} = \frac{n}{n - 1} \overline{Y} (1 - \overline{Y}), \] since \(W = n \overline{Y}\).

    In example 9.6 (page 437), the factorization criterion shows that \(W = \sum_{i=1}^{n} Y_i\) is a sufficient statistic for \(p\) that best summarizes the information about \(p\) contained in the sample (i.e. \(W\) is minimal). The Rao-Blackwell theorem implies, therefore, that \[ \frac{n}{n-1} \overline{Y} (1 - \overline{Y}) \] is a MVUE for \(E[T] = p (1 - p)\).

Problem 9.58 (4 points)

  1. Let \(Y_1,Y_2,\dotsc,Y_n\) be a random sample from a Bernoulli distribution with \(P(Y = y) = p^{y} (1 - p)^{1 - y}\), for \(y = 0, 1\). Example \(9.6\) shows that \(L(y_1,y_2,\dotsc,y_n \mid p) = p^{\sum_{i=1}^{n}y_i} (1 - p)^{n - \sum_{i=1}^{n}y_i}\). Therefore, \[\begin{align*} \frac{L(x_1,x_2,\dotsc,x_n \mid p)}{L(y_1,y_2,\dotsc,y_n \mid p)} &= p^{\sum_{i=1}^{n}x_i - \sum_{i=1}^{n}y_i} (1 - p)^{\sum_{i=1}^{n}y_i - \sum_{i=1}^{n}x_i} \\ &= \left(\frac{p}{1 - p}\right)^{\sum_{i=1}^{n}x_i - \sum_{i=1}^{n}y_i}. \end{align*}\]

    Differentiation with respect to \(p\) shows that this function is independent of \(p\) if and only if the exponent, \(\sum_{i=1}^{n}x_i - \sum_{i=1}^{n}y_i\), is zero.

    Letting \(g(x_1,x_2,\dotsc,x_n) = \sum_{i=1}^{n} x_i\), the Lehmann-Scheffé method shows that \[ U = g(Y_1,Y_2,\dotsc,Y_n) = \sum_{i=1}^{n} Y_i \] is a minimal sufficient statistic for \(p\). This is the same statistic we found in example \(9.6\).
  2. Let \(Y_1,\dotsc,Y_n\) be a random sample from the Weibull density in example \(9.7\). Then \[ L(y_1,\dotsc,y_n \mid \theta) = \left(\frac{2}{\theta}\right)^{n} \exp\left(-\frac{1}{\theta}\sum_{i=1}^{n} y_i^2\right) \prod_{i=1}^{n}y_i. \] Therefore, \[\begin{align*} \frac{L(x_1,\dotsc,x_n \mid \theta)}{L(y_1,\dotsc,y_n \mid \theta)} &= \frac{\exp\left(-\frac{1}{\theta}\sum_{i=1}^{n} x_i^2\right)} {\exp\left(-\frac{1}{\theta}\sum_{i=1}^{n} y_i^2\right)} \cdot \frac{\prod_{i=1}^{n}x_i}{\prod_{i=1}^{n}y_i} \\ &= \left(\frac{\prod_{i=1}^{n}x_i}{\prod_{i=1}^{n}y_i}\right) \exp\left[-\frac{1}{\theta} \left(\sum_{i=1}^{n} x_i^2 - \sum_{i=1}^{n} y_i^2\right)\right]. \end{align*}\]

    Differentiation with respect to \(\theta\) shows that the ratio is independent of \(\theta\) if and only if \(\sum_{i=1}^{n} x_i^2 - \sum_{i=1}^{n} y_i^2 = 0\).

    Letting \(g(x_1,\dotsc,x_n) = \sum_{i=1}^{n} x_i^2\), the Lehmann-Scheffé method shows that \[ U = g(Y_1,\dotsc,Y_n) = \sum_{i=1}^{n} Y_i^2 \] is a minimal sufficient statistic for \(\theta\).

Problem 9.59 (2 points)

Let \(Y_1,\dotsc,Y_n\) denote a sample from a normal population with mean \(\mu\) and variance \(\sigma^2\). Example \(9.8\) (page \(438\)) shows \[ L(y_1,\dotsc,y_n \mid \mu, \sigma^2) = \left(2\pi\sigma^2\right)^{-n/2}\cdot \exp\left(-\frac{n \mu^2}{2\sigma^2}\right)\cdot \exp\left[-\frac{1}{2\sigma^2} \left(\sum_{i=1}^{n} y_i^2 - 2\mu\sum_{i=1}^{n} y_i\right) \right], \] which implies that \[ \frac{L(x_1,\dotsc,x_n \mid \mu, \sigma^2)}{L(y_1,\dotsc,y_n \mid \mu, \sigma^2)} = \exp\left[ -\frac{1}{2\sigma^2}\left(\sum_{i=1}^{n} x_i^2 - \sum_{i=1}^{n} y_i^2\right) \right]\cdot \exp\left[ \frac{\mu}{\sigma^2}\left(\sum_{i=1}^{n} x_i - \sum_{i=1}^{n} y_i\right) \right]. \] A calculation shows that the partial derivatives of this ratio with respect to \(\mu\) and \(\sigma^2\) are both zero if and only if \(\sum_{i=1}^{n} x_i - \sum_{i=1}^{n} y_i = 0\) and \(\sum_{i=1}^{n} x_i^2 - \sum_{i=1}^{n} y_i^2 = 0\). Hence, we see that the ratio is independent of \(\mu\) and \(\sigma^2\) if and only if \(\sum_{i=1}^{n} x_i = \sum_{i=1}^{n} y_i\) and \(\sum_{i=1}^{n} x_i^2 = \sum_{i=1}^{n} y_i^2\), therefore the Lehmann-Scheffé methods shows that \[ \sum_{i=1}^{n} Y_i,\quad \sum_{i=1}^{n} Y_i^2 \] are jointly a minimal sufficient statistic for \(\mu\) and \(\theta\).

Problem 9.60 (2 points)

Suppose that \(U\) is a minimal sufficient statistic for \(\theta\), and \(g_1(U)\) and \(g_2(U)\) are both unbiased estimators for \(\theta\). Suppose that \(f_U(u \mid \theta)\) is a complete family of density functions, and suppose that \(g_1(u)\) and \(g_2(u)\) are continuous. Then \((g_1 - g_2)(u)\) is continuous, and for all \(\theta\) \[\begin{align*} E[(g_1 - g_2)(U)] &= E[g_1(U) - g_2(U)] \\ &= E[g_1(U)] - E[g_2(U)] \\ &= \theta - \theta \\ &= 0. \end{align*}\]

Now, completeness implies \((g_1 - g_2)(u) = 0\) for all \(u\), which implies that \(g_1(u) = g_2(u)\) for all \(u\) and therefore that \(g_1(U) = g_2(U)\). Since \(U\) is minimal, the Rao-Blackwell theorem implies that \(g_1(U)\) and \(g_2(U)\) are MVUE. So the additional property of completeness implies that the MVUE is unique.

LS0tCnRpdGxlOiAiU29sdXRpb25zIHRvIEhvbWV3b3JrIEFzc2lnbm1lbnQgOSIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKIyNQcm9ibGVtIDkuNDggKDIgcG9pbnRzKQpMZXQgXChZXzEsXGRvdHNjLFlfblwpIGRlbm90ZSBhIHJhbmRvbSBzYW1wbGUgZnJvbSBhIG5vcm1hbCBkaXN0cmlidXRpb24Kd2l0aCBtZWFuIFwoXG11XCkgYW5kIHZhcmlhbmNlIFwoXHNpZ21hXjJcKS4gSW4gZXhlcmNpc2UgXCg5LjMwXCkoYiksCndlIHNob3dlZCB0aGF0IGlmIFwoXG11XCkgaXMga25vd24gYW5kIFwoXHNpZ21hXjJcKSBpcyB1bmtub3duIHRoZW4KXChVID0gXHN1bV97aT0xfV57bn0oWV9pIC0gXG11KV4yXCkgaXMgc3VmZmljaWVudCBmb3IgXChcc2lnbWFeMlwpLgpCeSB0aGVvcmVtIFwoNy4yXCksIFwoVyA9IFUvXHNpZ21hXjJcKSBoYXMgYSBcKFxjaGleMlwpLWRpc3RyaWJ1dGlvbgp3aXRoIFwoXG51ID0gblwpIGRlZ3JlZXMgb2YgZnJlZWRvbSwgc28KXFsKRVtVXSA9IEVbXHNpZ21hXjIgV10gPSBcc2lnbWFeMiBFW1ddID0gblxzaWdtYV4yLgpcXQpUaHVzIFwoXGZyYWN7MX17bn1VID0gXGZyYWN7MX17bn1cc3VtX3tpPTF9XntufShZX2kgLSBcbXUpXjJcKSBpcyBhbgp1bmJpYXNlZCBlc3RpbWF0b3IgZm9yIFwoXHNpZ21hXjJcKS4gU2luY2Ugd2UgYXJyaXZlZCBhdCB0aGUgc3VmZmljaWVudCBzdGF0aXN0aWMgXChVXCkKdmlhIHRoZSBmYWN0b3JpemF0aW9uIGNyaXRlcmlvbiwgXChVXCkgYmVzdCBzdW1tYXJpemVzIHRoZSBpbmZvcm1hdGlvbiBhYm91dApcKFxzaWdtYV4yXCkuIFRoZXJlZm9yZSBcKFxmcmFjezF9e259VVwpIGlzIGEgTVZVRSBmb3IgXChcc2lnbWFeMlwpLgoKIyNQcm9ibGVtIDkuNTAgKDIgcG9pbnRzKQpJbiBleGVyY2lzZSBcKDkuMzJcKSwgXChZXzEsXGRvdHNjLFlfblwpIGRlbm90ZXMgYSByYW5kb20gc2FtcGxlIGZyb20gYQpSYXlsZWlnaCBkaXN0cmlidXRpb24gd2l0aCBwYXJhbWV0ZXIgXChcdGhldGFcKS4gRWFjaCBcKFlfaVwpIGhhcwpkZW5zaXR5IGZ1bmN0aW9uClxbCmZfWSh5IFxtaWQgXHRoZXRhKSA9ClxiZWdpbntjYXNlc30KXGZyYWN7MiB5fXtcdGhldGF9IGVeey15XjIvXHRoZXRhfSwgJiB5ID4gMCBcXAowLCAmIFx0ZXh0cm17ZWxzZXdoZXJlfQpcZW5ke2Nhc2VzfS4KXF0KVGhlIGZhY3Rvcml6YXRpb24gY3JpdGVyaW9uIGxlZCB0byB0aGUgc3VmZmljaWVudCBzdGF0aXN0aWMKXChVID0gXHN1bV97aT0xfV57bn0gWV9pXjJcKS4gTm90ZSB0aGF0IGlmIFwodyA9IHleMlwpIHRoZW4KXFsKZl9ZKHkpXCxkeSA9IFxmcmFjezIgeX17XHRoZXRhfWVeey15XjIvXHRoZXRhfVwsZHkKPSBcZnJhY3sxfXtcdGhldGF9IGVeey13L1x0aGV0YX1cLGR3Cj0gZl9XKHcpXCxkdywKXF0Kd2hpY2ggc2hvd3MgdGhhdCBcKFc9WV4yXCkgaXMgYW4gZXhwb25lbnRpYWwgcmFuZG9tIHZhcmlhYmxlCndpdGggbWVhbiBcKFx0aGV0YVwpLCB0aHVzIFwoRVtZXjJdID0gRVtXXSA9IFx0aGV0YVwpLgpXZSB0aGVyZWZvcmUgaGF2ZSB0aGF0IApcKEVbVV0gPSBFW1xzdW1fe2k9MX1ee259IFlfaV4yXSA9IFxzdW1fe2k9MX1ee259IFx0aGV0YSA9IG5cdGhldGFcKSwKd2hpY2ggaW1wbGllcyB0aGF0IFwoXGZyYWN7MX17bn1VXCkgaXMgYW4gdW5iaWFzZWQgZXN0aW1hdG9yIGZyb20gClwoXHRoZXRhXCkuIFNpbmNlIFwoVVwpIGJlc3Qgc3VtbWFyaXplcyB0aGUgaW5mb3JtYXRpb24gYWJvdXQKXChcdGhldGFcKSwgClwoXGZyYWN7MX17bn1VID0gXGZyYWN7MX17bn1cc3VtX3tpPTF9XntufSBZX2leMlwpIGlzIGEgTVZVRSBmb3IgXChcdGhldGFcKS4KCiMjUHJvYmxlbSA5LjUyICgxMCBwb2ludHMpCkxldCBcKFlfMSwgWV8yLFxkb3RzYyxZX25cKSBkZW5vdGUgYSByYW5kb20gc2FtcGxlIGZyb20gdGhlIHByb2JhYmlsaXR5CmRpc3RyaWJ1dGlvbiB3aG9zZSBkZW5zaXR5IGZ1bmN0aW9uIGlzClxbCmZfWSh5IFxtaWQgXHRoZXRhKSA9ClxiZWdpbntjYXNlc30KXHRoZXRhXCwgeV57XHRoZXRhIC0gMX0sICYgMCA8IHkgPCAxIDsgXHRoZXRhID4gMCBcXAowLCAmIFx0ZXh0cm17ZWxzZXdoZXJlfQpcZW5ke2Nhc2VzfS4KXF0KCkFuIGV4cG9uZW50aWFsIGZhbWlseSBvZiBkaXN0cmlidXRpb25zIGhhcyBhIGRlbnNpdHkgdGhhdCBjYW4gYmUgd3JpdHRlbgppbiB0aGUgZm9ybQpcWwpmKHkgXG1pZCBcdGhldGEpID0KXGJlZ2lue2Nhc2VzfQphKFx0aGV0YSlcLGIoeSlcLCBcZXhwXGJpZ2woey1jKFx0aGV0YSlcLGQoeSl9XGJpZ3IpLCAmIGEgPCB5IDwgYiBcXAowLCAmIFx0ZXh0cm17ZWxzZXdoZXJlfQpcZW5ke2Nhc2VzfS4KXF0KQXBwbHlpbmcgdGhlIGZhY3Rvcml6YXRpb24gY3JpdGVyaW9uIHdlIHNob3dlZCwgaW4gZXhlcmNpc2UgOS4zNywKdGhhdCBcKFUgPSBcc3VtX3tpPTF9XntufSBkKFlfaSlcKSBpcyBhIHN1ZmZpY2llbnQgc3RhdGlzdGljIGZvcgpcKFx0aGV0YVwpLgo8b2wgdHlwZT0iYSI+CjxsaT4KU2luY2UgClxbClx0aGV0YVwseV57XHRoZXRhIC0gMX0gPSBcdGhldGFcLFxleHBcYmlnbCgoXHRoZXRhIC0gMSlcbG4geVxiaWdyKSAKPSBcdGhldGFcLFxleHBcYmlnbCgtKFx0aGV0YSAtIDEpKC1cbG4geSlcYmlncikKXF0Kd2Ugc2VlIHRoYXQgXChmX1koeSBcbWlkIFx0aGV0YSlcKSBiZWxvbmdzIHRvIGFuIGV4cG9uZW50aWFsIGZhbWlseQp3aXRoIFwoZCh5KSA9IC0gXGxuIHlcKS4gVGhlcmVmb3JlLCBcKFUgPSAtXHN1bV97aT0xfV57bn1cbG4gWV9pXCkgaXMgCmEgc3VmZmljaWVudCBzdGF0aXN0aWMgZm9yIFwoXHRoZXRhXCkuCjwvbGk+CjxsaT4KTGV0IFwodyA9IC0gXGxuIHlcKSwgd2hpY2ggaXMgZXF1aXZhbGVudCB0byBcKHkgPSBlXnstd31cKS4gVGhlbgpcKGR5ID0gLSBlXnstd31cLGR3XCkgYW5kClxbCmZfWSh5IFxtaWQgXHRoZXRhKVwsZHkgPQpcdGhldGFcLHlee1x0aGV0YSAtIDF9XCxkeSA9Clx0aGV0YVwsZV57LShcdGhldGEgLSAxKSB3fVwsZV57LXd9XCxkdyA9Clx0aGV0YVwsZV57LVx0aGV0YVwsd31cLGR3ID0KZl9XKHcgXG1pZCBcdGhldGEpXCxkdy4KXF0KVGhlcmVmb3JlLCBcKFcgPSAtXGxuIFlcKSBoYXMgYW4gZXhwb25lbnRpYWwgZGlzdHJpYnV0aW9uIHdpdGgKZXhwZWN0ZWQgdmFsdWUgXChFW1ddID0gMS9cdGhldGFcKS4KPC9saT4KPGxpPgpMZXQgXCh0ID0gMlx0aGV0YVwsd1wpLCB0aGVuIFwoZHQgPSAyXHRoZXRhXCxkd1wpIGFuZApcWwpmX1codyBcbWlkIFx0aGV0YSlcLGR3ID0KXHRoZXRhXCxlXnstXHRoZXRhXCx3fVwsZHcgPQpcZnJhY3sxfXsyfWVeey10LzJ9XCxkdCA9CmZfVCh0KVwsZHQuClxdClRodXMsIFwoVCA9IDJcdGhldGFcLFdcKSBoYXMgYSBcKFxjaGleMlwpLWRpc3RyaWJ1dGlvbiB3aXRoIFwoXG51ID0gMlwpCmRlZ3JlZXMgb2YgZnJlZWRvbS4gVGhlcmVmb3JlClxbCjJcdGhldGFcLFxzdW1fe2k9MX1ee259IFdfaSA9IFxzdW1fe2k9MX1ee259IFRfaQpcXQpoYXMgYSBcKFxjaGleMlwpLWRpc3RyaWJ1dGlvbiB3aXRoIFwoXG51ID0gMm5cKSBkZWdyZWVzIG9mIGZyZWVkb20uCjwvbGk+CjxsaT4KRXhlcmNpc2UgXCg0LjkwXCkoZCkgc2hvd2VkIHRoYXQgaWYgXChYXCkgaGFzIGEgXChcY2hpXjJcKS1kaXN0cmlidXRpb24Kd2l0aCBcKFxudVwpIGRlZ3JlZXMgb2YgZnJlZWRvbQp0aGVuIFwoRVxsZWZ0W1heey0xfVxyaWdodF0gPSAxLyhcbnUgLSAyKVwpLiBUaGlzIGltcGxpZXMKXFsKRVxsZWZ0WwpcbGVmdCgyXHRoZXRhIFxzdW1fe2k9MX1ee259IFdfaVxyaWdodCleey0xfVxyaWdodF0gPQpcZnJhY3sxfXsyKG4tMSl9LgpcXQo8L2xpPgo8bGk+CkZyb20gcGFydCAoZCksIHdlIHNlZSB0aGF0IApcKEVcbGVmdFsKKG4gLSAxKSAvIFxzdW1fe2k9MX1ee259IFdfaVxyaWdodF0gPQpcdGhldGEKXCksIG1ha2luZyBcKChuIC0gMSkgLyBcc3VtX3tpPTF9XntufSBXX2lcKSBhbiB1bmJpYXNlZCBlc3RpbWF0b3IKZm9yIFwoXHRoZXRhXCkuIFNpbmNlIFwoXHN1bV97aT0xfV57bn0gV19pID0gLSBcc3VtX3tpPTF9XntufSBcbG4gWV9pXCkKYmVzdCBzdW1tYXJpemVzIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBcKFx0aGV0YVwpLApcWwpcZnJhY3tuLTF9e1xzdW1fe2k9MX1ee259IFdfaX0gPQpcZnJhY3tuLTF9ey1cc3VtX3tpPTF9XntufSBcbG4gWV9pfQpcXQppcyBhIE1WVUUgZm9yIFwoXHRoZXRhXCkuCjwvbGk+Cjwvb2w+CgojI1Byb2JsZW0gOS41NCAoMiBwb2ludHMpCkluIGV4ZXJjaXNlIFwoOS40M1wpLCB0aGUgZmFjdG9yaXphdGlvbiBjcml0ZXJpb24gc2hvd3MgdGhhdApcKFlfeygxKX0gPSBcbWluKFlfMSxZXzIsXGRvdHNjLFlfbilcKSBpcyBhIHN1ZmZpY2llbnQgc3RhdGlzdGljIApmb3IgXChcdGhldGFcKSwgd2hlcmUgXChZXzEsWV8yLFxkb3RzYyxZX25cKSBkZW5vdGVzIGEgcmFuZG9tIHNhbXBsZQp0YWtlbiBmcm9tIGEgcHJvYmFiaWxpdHkgZGlzdHJpYnV0aW9uIHdob3NlIGRlbnNpdHkgZnVuY3Rpb24gaXMKXFsKZl9ZKHkgXG1pZCBcdGhldGEpID0KXGJlZ2lue2Nhc2VzfQplXnstKHktXHRoZXRhKX0sICYgeSBcZ2UgXHRoZXRhIFxcCjAgLCAmIFx0ZXh0cm17ZWxzZXdoZXJlfQpcZW5ke2Nhc2VzfS4KXF0KTm90aWNlIHRoYXQKXFsKMSAtIEZfWSh5KSA9IFAoWSA+IHkpID0KXGJlZ2lue2Nhc2VzfQplXnstKHktXHRoZXRhKX0sICYgeSBcZ2UgXHRoZXRhIFxcCjEgLCAmIFx0ZXh0cm17ZWxzZXdoZXJlfQpcZW5ke2Nhc2VzfSwKXF0Kd2hpY2ggaW1wbGllcyB0aGF0ClxbClAoWV97KDEpfSA+IHkpID0gWzEgLSBGX1koeSldXm4gPQpcYmVnaW57Y2FzZXN9CmVeey1uKHkgLSBcdGhldGEpfSwgJiB5IFxnZSBcdGhldGEgXFwKMSAsICYgXHRleHRybXtlbHNld2hlcmV9ClxlbmR7Y2FzZXN9LgpcXQpOb3csIGxldCBcKFggPSBZX3soMSl9IC0gXHRoZXRhXCkuIFRoZW4KXFsKUChYID4geCkgPSBQKFlfeygxKX0gPiB4ICsgXHRoZXRhKSA9ClxiZWdpbntjYXNlc30KZV57LW4geH0sICYgeCBcZ2UgMCBcXAoxLCAmIFx0ZXh0cm17ZWxzZXdoZXJlfQpcZW5ke2Nhc2VzfSwKXF0Kd2hpY2ggc2hvd3MgdGhhdCBcKFhcKSBoYXMgYW4gZXhwb25lbnRpYWwgcHJvYmFiaWxpdHkgZGlzdHJpYnV0aW9uCndpdGggXChcYmV0YSA9IEVbWF0gPSAxL25cKS4gVGhlcmVmb3JlClxbCkVbWV97KDEpfSAtIDEvbl0gPSBFW1x0aGV0YSArIFggLSAxL25dID0gXHRoZXRhICsgMS9uIC0gMS9uID0gXHRoZXRhLApcXQphbmQgc2luY2UgXChZX3soMSl9XCkgYmVzdCBzdW1tYXJpemVzIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBcKFx0aGV0YVwpCndlIGNvbmNsdWRlIHRoYXQgXChcaGF0e1x0aGV0YX0gPSBZX3soMSl9IC0gMS9uXCkgaXMgYSBNVlVFIGZvciBcKFx0aGV0YVwpLgoKIyNQcm9ibGVtIDkuNTYgKDQgcG9pbnRzKQpMZXQgXChZXzEsIFlfMiwgXGRvdHNjLCBZX25cKSBiZSBhIHJhbmRvbSBzYW1wbGUgZnJvbSBhIG5vcm1hbCBkaXN0cmlidXRpb24gd2l0aAptZWFuIFwoXG11XCkgYW5kIHZhcmlhbmNlIFwoXHNpZ21hXjIgPSAxXCkuIAo8b2wgdHlwZT0iYSI+CjxsaT4KRnJvbSBleGVyY2lzZSBcKDkuMzBcKShhKSwgXChcb3ZlcmxpbmV7WX1cKSBpcyBhIHN1ZmZpY2llbnQgc3RhdGlzdGljIHRoYXQKYmVzdCBzdW1tYXJpemVkIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBcKFxtdVwpLgpTaW5jZSBcKEVcbGVmdFtcb3ZlcmxpbmV7WX1ccmlnaHRdID0gXG11XCksIFwoXG92ZXJsaW5le1l9XCkgaXMgYSBNVlVFIGZvciBcKFxtdVwpLgpOb3csIApcWwpFXGxlZnRbXG92ZXJsaW5le1l9XjJccmlnaHRdID0gVlxsZWZ0W1xvdmVybGluZXtZfVxyaWdodF0gKyBFXGxlZnRbXG92ZXJsaW5le1l9XHJpZ2h0XV4yID0gClxmcmFjezF9e259XHNpZ21hXjIgKyBcbXVeMiA9IFxmcmFjezF9e259ICsgXG11XjIsClxdCndoaWNoIGltcGxpZXMgdGhhdCBcKEVcbGVmdFtcb3ZlcmxpbmV7WX1eMiAtIFxmcmFjezF9e259XHJpZ2h0XSA9IFxtdV4yXCkuClRoZXJlZm9yZSwgXChcd2lkZWhhdHtcbXVeMn0gPSBcb3ZlcmxpbmV7WX1eMiAtIDEvblwpIGlzIGFuIHVuYmlhc2VkCmVzdGltYXRvciBmb3IgXChcbXVeMlwpLCBhbmQgc2luY2UgXChcb3ZlcmxpbmV7WX1cKSBpcyBhbiBNVlVFIGZvcgpcKFxtdVwpLCBcKFxvdmVybGluZXtZfV4yIC0gMS9uXCkgaXMgYW4gTVZVRSBmb3IgXChcbXVeMlwpLgo8L2xpPgo8bGk+ClxbClZcbGVmdFtcd2lkZWhhdHtcbXVeMn1ccmlnaHRdID0gVlxsZWZ0W1xvdmVybGluZXtZfV4yIC0gMS9uXHJpZ2h0XSA9ClZcbGVmdFtcb3ZlcmxpbmV7WX1eMlxyaWdodF0gPSBFXGxlZnRbXG92ZXJsaW5le1l9XjRccmlnaHRdIC0gRVxsZWZ0W1xvdmVybGluZXtZfVxyaWdodF1eMi4KXF0KU2luY2UgXChcb3ZlcmxpbmV7WX1cKSBoYXMgYSBub3JtYWwgZGlzdHJpYnV0aW9uIHdpdGggXChFW1xvdmVybGluZXtZfV0gPSBcbXVcKSBhbmQKXChWW1xvdmVybGluZXtZfV0gPSAxL25cKSwgdGhlIG1vbWVudCBnZW5lcmF0aW5nIGZ1bmN0aW9uIGZvciBcKFxvdmVybGluZXtZfVwpIGlzClwobSh0KSA9IFxleHBbXG11IHQgKyB0XjIgLyAoMm4pXVwpLiBXaXRoIHRoZSBhaWQgb2Ygc29mdHdhcmUsIHdlIGNhbGN1bGF0ZSB0aGUgCmZvdXJ0aCBkZXJpdmF0aXZlIG9mIFwobSh0KVwpIGFuZCBldmFsdWF0ZSBhdCBcKHQgPSAwXCkgdG8gb2J0YWluClxiZWdpbnthbGlnbip9CkVcbGVmdFtcb3ZlcmxpbmV7WX1eNFxyaWdodF0gJj0KbV57KDQpfSgwKSA9IFxtdV40ICsgNlxtdV4yL24gKyAzL25eMiBcXApcaW1wbGllcyAKVlxsZWZ0W1x3aWRlaGF0e1xtdV4yfVxyaWdodF0gJj0KKFxtdV40ICsgNlxtdV4yL24gKyAzL25eMikgLSAoXG11XjIgKyAxL24pXjIgXFwKXGltcGxpZXMKVlxsZWZ0W1x3aWRlaGF0e1xtdV4yfVxyaWdodF0gJj0gMiAoMiBuIFxtdV4yICsgMSkgLyBuXjIuClxlbmR7YWxpZ24qfQo8L2xpPgo8L29sPgoKIyNQcm9ibGVtIDkuNTcgKDYgcG9pbnRzKQpMZXQgXChZXzEsIFlfMiwgXGRvdHNjLCBZX25cKSBiZSBpbmRlcGVuZGVudCBCZXJub3VsbGkgcmFuZG9tIHZhcmlhYmxlcyB3aXRoClxbCnAoeV9pIFxtaWQgcCkgPSBwXnt5X2l9ICgxIC0gcCleezEgLSB5X2l9LCBccXVhZCB5X2kgPSAwLCAxLgpcXQo8b2wgdHlwZT0iYSI+CjxsaT4KTGV0ClxbClQgPQpcYmVnaW57Y2FzZXN9CjEgLCAmIFx0ZXh0cm17aWYgXChZXzEgPSAxXCkgYW5kIFwoWV8yID0gMFwpfSBcXAowICwgJiBcdGV4dHJte290aGVyd2lzZX0KXGVuZHtjYXNlc30uClxdClRoZW4KXGJlZ2lue2FsaWduKn0KRVtUXSAmPSAwXGNkb3QgUChUPTApICsgMVxjZG90IFAoVCA9IDEpID0gUChUID0gMSkgXFwKJj0gUChZXzEgPSAxLCBZXzIgPSAwKSA9IFAoWV8xID0gMSlcY2RvdCBQKFlfMiA9IDApIFxcCiY9IHAgKDEgLSBwKS4KXGVuZHthbGlnbip9ClRoZXJlZm9yZSwgXChUXCkgaXMgYW4gdW5iaWFzZWQgZXN0aW1hdG9yIGZvciBcKHAgKDEtcClcKS4KPC9saT4KPGxpPgpMZXQgXChXID0gXHN1bV97aT0xfV57bn0gWV9pXCkuICBOb3RlIHRoYXQgXChZXzEgPSAxXCkgYW5kIFwoWV8yID0gMFwpIGltcGxpZXMgdGhhdCAKXCgxIFxsZSBXIFxsZSBuLTFcKS4gVGh1cywgZm9yIFwoMSBcbGUgdyBcbGUgbiAtIDFcKQpcYmVnaW57YWxpZ24qfQpQKFQgPSAxIFxtaWQgVyA9IHcpICY9IFxmcmFje1AoVCA9IDEsIFcgPSB3KX17UChXID0gdyl9IFxcCiY9IFxmcmFje1AoVCA9IDEsIFxzdW1fe2k9M31ee259IFlfaSA9IHcgLSAxKX17UChXID0gdyl9IFxcCiY9IFxmcmFje1AoVCA9IDEpXGNkb3QgUChcc3VtX3tpPTN9XntufSBZX2kgPSB3IC0gMSl9e1AoVyA9IHcpfSBcXAomPSBcZnJhY3twICgxIC0gcClcYmlub217bi0yfXt3LTF9cF57dyAtIDF9KDEgLSBwKV57biAtIHcgLSAxfX0Ke1xiaW5vbXtufXt3fXBee3d9KDEgLSBwKV57bi13fX0gXFwKJj0gXGZyYWN7XGJpbm9te24tMn17dy0xfX17XGJpbm9te259e3d9fSBcXAomPSBcZnJhY3t3IChuIC0gdyl9e24gKG4tMSl9LgpcZW5ke2FsaWduKn0KPC9saT4KPGxpPgpOb3csIGZvciBcKDEgXGxlIHcgXGxlIG4gLSAxXCksIApcYmVnaW57YWxpZ24qfQpFWyBUIFxtaWQgVyA9IHddICY9IDBcY2RvdCBQKFQgPSAwIFxtaWQgVyA9IHcpICsgMVxjZG90IFAoVCA9IDEgXG1pZCBXID13KSBcXAomPSBQKFQgPSAxIFxtaWQgVyA9IHcpIFxcCiY9IFxmcmFje3cgKG4gLSB3KX17biAobiAtIDEpfS4KXGVuZHthbGlnbip9ClRoZXJlZm9yZSwKXFsKRVtUIFxtaWQgV10gPSBcZnJhY3tXIChuIC0gVyl9e24gKG4gLSAxKX0gPQpcZnJhY3tufXtuIC0gMX0gXG92ZXJsaW5le1l9ICgxIC0gXG92ZXJsaW5le1l9KSwKXF0Kc2luY2UgXChXID0gbiBcb3ZlcmxpbmV7WX1cKS4KCkluIGV4YW1wbGUgOS42IChwYWdlIDQzNyksIHRoZSBmYWN0b3JpemF0aW9uIGNyaXRlcmlvbiBzaG93cyB0aGF0ClwoVyA9IFxzdW1fe2k9MX1ee259IFlfaVwpIGlzIGEgc3VmZmljaWVudCBzdGF0aXN0aWMgZm9yIFwocFwpIHRoYXQKYmVzdCBzdW1tYXJpemVzIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBcKHBcKSBjb250YWluZWQgaW4gdGhlIHNhbXBsZQooaS5lLiBcKFdcKSBpcyBtaW5pbWFsKS4gVGhlIFJhby1CbGFja3dlbGwgdGhlb3JlbSBpbXBsaWVzLCB0aGVyZWZvcmUsIHRoYXQKXFsKXGZyYWN7bn17bi0xfSBcb3ZlcmxpbmV7WX0gKDEgLSBcb3ZlcmxpbmV7WX0pClxdCmlzIGEgTVZVRSBmb3IgXChFW1RdID0gcCAoMSAtIHApXCkuCjwvbGk+Cjwvb2w+CgojI1Byb2JsZW0gOS41OCAoNCBwb2ludHMpCjxvbCB0eXBlPSJhIj4KPGxpPgpMZXQgXChZXzEsWV8yLFxkb3RzYyxZX25cKSBiZSBhIHJhbmRvbSBzYW1wbGUgZnJvbSBhIEJlcm5vdWxsaQpkaXN0cmlidXRpb24gd2l0aCBcKFAoWSA9IHkpID0gcF57eX0gKDEgLSBwKV57MSAtIHl9XCksIGZvciBcKHkgPSAwLCAxXCkuIEV4YW1wbGUgXCg5LjZcKSBzaG93cyB0aGF0ClwoTCh5XzEseV8yLFxkb3RzYyx5X24gXG1pZCBwKSA9IHBee1xzdW1fe2k9MX1ee259eV9pfSAoMSAtIHApXntuIC0gXHN1bV97aT0xfV57bn15X2l9XCkuIFRoZXJlZm9yZSwKXGJlZ2lue2FsaWduKn0KXGZyYWN7TCh4XzEseF8yLFxkb3RzYyx4X24gXG1pZCBwKX17TCh5XzEseV8yLFxkb3RzYyx5X24gXG1pZCBwKX0KJj0gcF57XHN1bV97aT0xfV57bn14X2kgLSBcc3VtX3tpPTF9XntufXlfaX0gKDEgLSBwKV57XHN1bV97aT0xfV57bn15X2kgLSBcc3VtX3tpPTF9XntufXhfaX0gXFwKJj0gXGxlZnQoXGZyYWN7cH17MSAtIHB9XHJpZ2h0KV57XHN1bV97aT0xfV57bn14X2kgLSBcc3VtX3tpPTF9XntufXlfaX0uClxlbmR7YWxpZ24qfQpEaWZmZXJlbnRpYXRpb24gd2l0aCByZXNwZWN0IHRvIFwocFwpIHNob3dzIHRoYXQgdGhpcyBmdW5jdGlvbiBpcyBpbmRlcGVuZGVudCBvZiBcKHBcKSBpZiBhbmQgb25seSBpZiB0aGUgZXhwb25lbnQsClwoXHN1bV97aT0xfV57bn14X2kgLSBcc3VtX3tpPTF9XntufXlfaVwpLCBpcyB6ZXJvLgoKTGV0dGluZyBcKGcoeF8xLHhfMixcZG90c2MseF9uKSA9IFxzdW1fe2k9MX1ee259IHhfaVwpLCB0aGUgTGVobWFubi1TY2hlZmYmZWFjdXRlOyBtZXRob2QKc2hvd3MgdGhhdApcWwpVID0gZyhZXzEsWV8yLFxkb3RzYyxZX24pID0gXHN1bV97aT0xfV57bn0gWV9pClxdCmlzIGEgbWluaW1hbCBzdWZmaWNpZW50IHN0YXRpc3RpYyBmb3IgXChwXCkuIFRoaXMgaXMgdGhlIHNhbWUgc3RhdGlzdGljIHdlIGZvdW5kIGluIGV4YW1wbGUKXCg5LjZcKS4KPC9saT4KPGxpPgpMZXQgXChZXzEsXGRvdHNjLFlfblwpIGJlIGEgcmFuZG9tIHNhbXBsZSBmcm9tIHRoZSBXZWlidWxsIGRlbnNpdHkgaW4gZXhhbXBsZQpcKDkuN1wpLiBUaGVuIApcWwpMKHlfMSxcZG90c2MseV9uIFxtaWQgXHRoZXRhKSA9IFxsZWZ0KFxmcmFjezJ9e1x0aGV0YX1ccmlnaHQpXntufQpcZXhwXGxlZnQoLVxmcmFjezF9e1x0aGV0YX1cc3VtX3tpPTF9XntufSB5X2leMlxyaWdodCkgXHByb2Rfe2k9MX1ee259eV9pLgpcXQpUaGVyZWZvcmUsClxiZWdpbnthbGlnbip9ClxmcmFje0woeF8xLFxkb3RzYyx4X24gXG1pZCBcdGhldGEpfXtMKHlfMSxcZG90c2MseV9uIFxtaWQgXHRoZXRhKX0KJj0gXGZyYWN7XGV4cFxsZWZ0KC1cZnJhY3sxfXtcdGhldGF9XHN1bV97aT0xfV57bn0geF9pXjJccmlnaHQpfQp7XGV4cFxsZWZ0KC1cZnJhY3sxfXtcdGhldGF9XHN1bV97aT0xfV57bn0geV9pXjJccmlnaHQpfQpcY2RvdApcZnJhY3tccHJvZF97aT0xfV57bn14X2l9e1xwcm9kX3tpPTF9XntufXlfaX0gXFwKJj0KXGxlZnQoXGZyYWN7XHByb2Rfe2k9MX1ee259eF9pfXtccHJvZF97aT0xfV57bn15X2l9XHJpZ2h0KQpcZXhwXGxlZnRbLVxmcmFjezF9e1x0aGV0YX0KXGxlZnQoXHN1bV97aT0xfV57bn0geF9pXjIgLSBcc3VtX3tpPTF9XntufSB5X2leMlxyaWdodClccmlnaHRdLgpcZW5ke2FsaWduKn0KRGlmZmVyZW50aWF0aW9uIHdpdGggcmVzcGVjdCB0byBcKFx0aGV0YVwpIHNob3dzIHRoYXQgdGhlIHJhdGlvCmlzIGluZGVwZW5kZW50IG9mIFwoXHRoZXRhXCkgaWYgYW5kIG9ubHkgaWYKXChcc3VtX3tpPTF9XntufSB4X2leMiAtIFxzdW1fe2k9MX1ee259IHlfaV4yID0gMFwpLgoKTGV0dGluZyBcKGcoeF8xLFxkb3RzYyx4X24pID0gXHN1bV97aT0xfV57bn0geF9pXjJcKSwgdGhlIExlaG1hbm4tU2NoZWZmJmVhY3V0ZTsgbWV0aG9kCnNob3dzIHRoYXQKXFsKVSA9IGcoWV8xLFxkb3RzYyxZX24pID0gXHN1bV97aT0xfV57bn0gWV9pXjIKXF0KaXMgYSBtaW5pbWFsIHN1ZmZpY2llbnQgc3RhdGlzdGljIGZvciBcKFx0aGV0YVwpLgo8L2xpPgo8L29sPgoKIyNQcm9ibGVtIDkuNTkgKDIgcG9pbnRzKQpMZXQgXChZXzEsXGRvdHNjLFlfblwpIGRlbm90ZSBhIHNhbXBsZSBmcm9tIGEgbm9ybWFsIHBvcHVsYXRpb24gd2l0aAptZWFuIFwoXG11XCkgYW5kIHZhcmlhbmNlIFwoXHNpZ21hXjJcKS4gRXhhbXBsZSBcKDkuOFwpIChwYWdlIFwoNDM4XCkpCnNob3dzClxbCkwoeV8xLFxkb3RzYyx5X24gXG1pZCBcbXUsIFxzaWdtYV4yKSA9ClxsZWZ0KDJccGlcc2lnbWFeMlxyaWdodCleey1uLzJ9XGNkb3QKXGV4cFxsZWZ0KC1cZnJhY3tuIFxtdV4yfXsyXHNpZ21hXjJ9XHJpZ2h0KVxjZG90ClxleHBcbGVmdFstXGZyYWN7MX17MlxzaWdtYV4yfQpcbGVmdChcc3VtX3tpPTF9XntufSB5X2leMiAtIDJcbXVcc3VtX3tpPTF9XntufSB5X2lccmlnaHQpClxyaWdodF0sClxdCndoaWNoIGltcGxpZXMgdGhhdApcWwpcZnJhY3tMKHhfMSxcZG90c2MseF9uIFxtaWQgXG11LCBcc2lnbWFeMil9e0woeV8xLFxkb3RzYyx5X24gXG1pZCBcbXUsIFxzaWdtYV4yKX0gPQpcZXhwXGxlZnRbCi1cZnJhY3sxfXsyXHNpZ21hXjJ9XGxlZnQoXHN1bV97aT0xfV57bn0geF9pXjIgLSBcc3VtX3tpPTF9XntufSB5X2leMlxyaWdodCkKXHJpZ2h0XVxjZG90ClxleHBcbGVmdFsKXGZyYWN7XG11fXtcc2lnbWFeMn1cbGVmdChcc3VtX3tpPTF9XntufSB4X2kgLSBcc3VtX3tpPTF9XntufSB5X2lccmlnaHQpClxyaWdodF0uClxdCkEgY2FsY3VsYXRpb24gc2hvd3MgdGhhdCB0aGUgcGFydGlhbCBkZXJpdmF0aXZlcyBvZiB0aGlzIHJhdGlvIHdpdGggcmVzcGVjdCB0bwpcKFxtdVwpIGFuZCBcKFxzaWdtYV4yXCkgYXJlIGJvdGggemVybyBpZiBhbmQgb25seSBpZiAKXChcc3VtX3tpPTF9XntufSB4X2kgLSBcc3VtX3tpPTF9XntufSB5X2kgPSAwXCkgYW5kIApcKFxzdW1fe2k9MX1ee259IHhfaV4yIC0gXHN1bV97aT0xfV57bn0geV9pXjIgPSAwXCkuIEhlbmNlLCB3ZSBzZWUgdGhhdAp0aGUgcmF0aW8gaXMgaW5kZXBlbmRlbnQgb2YgXChcbXVcKSBhbmQgXChcc2lnbWFeMlwpIGlmIGFuZCBvbmx5IGlmClwoXHN1bV97aT0xfV57bn0geF9pID0gXHN1bV97aT0xfV57bn0geV9pXCkgYW5kClwoXHN1bV97aT0xfV57bn0geF9pXjIgPSBcc3VtX3tpPTF9XntufSB5X2leMlwpLCB0aGVyZWZvcmUgdGhlCkxlaG1hbm4tU2NoZWZmJmVhY3V0ZTsgbWV0aG9kcyBzaG93cyB0aGF0ClxbClxzdW1fe2k9MX1ee259IFlfaSxccXVhZCBcc3VtX3tpPTF9XntufSBZX2leMgpcXQphcmUgam9pbnRseSBhIG1pbmltYWwgc3VmZmljaWVudCBzdGF0aXN0aWMgZm9yIFwoXG11XCkgYW5kIFwoXHRoZXRhXCkuCgojI1Byb2JsZW0gOS42MCAoMiBwb2ludHMpClN1cHBvc2UgdGhhdCBcKFVcKSBpcyBhIG1pbmltYWwgc3VmZmljaWVudCBzdGF0aXN0aWMgZm9yIFwoXHRoZXRhXCksIGFuZApcKGdfMShVKVwpIGFuZCBcKGdfMihVKVwpIGFyZSBib3RoIHVuYmlhc2VkIGVzdGltYXRvcnMgZm9yIFwoXHRoZXRhXCkuClN1cHBvc2UgdGhhdCBcKGZfVSh1IFxtaWQgXHRoZXRhKVwpIGlzIGEgY29tcGxldGUgZmFtaWx5IG9mIGRlbnNpdHkgZnVuY3Rpb25zLAphbmQgc3VwcG9zZSB0aGF0IFwoZ18xKHUpXCkgYW5kIFwoZ18yKHUpXCkgYXJlIGNvbnRpbnVvdXMuIFRoZW4gClwoKGdfMSAtIGdfMikodSlcKSBpcyBjb250aW51b3VzLCBhbmQgZm9yIGFsbCBcKFx0aGV0YVwpClxiZWdpbnthbGlnbip9CkVbKGdfMSAtIGdfMikoVSldICY9IApFW2dfMShVKSAtIGdfMihVKV0gXFwKJj0gRVtnXzEoVSldIC0gRVtnXzIoVSldIFxcCiY9IFx0aGV0YSAtIFx0aGV0YSBcXAomPSAwLgpcZW5ke2FsaWduKn0KTm93LCBjb21wbGV0ZW5lc3MgaW1wbGllcyBcKChnXzEgLSBnXzIpKHUpID0gMFwpIGZvciBhbGwgXCh1XCksCndoaWNoIGltcGxpZXMgdGhhdCBcKGdfMSh1KSA9IGdfMih1KVwpIGZvciBhbGwgXCh1XCkgYW5kIHRoZXJlZm9yZQp0aGF0IFwoZ18xKFUpID0gZ18yKFUpXCkuIFNpbmNlIFwoVVwpIGlzIG1pbmltYWwsIHRoZSBSYW8tQmxhY2t3ZWxsCnRoZW9yZW0gaW1wbGllcyB0aGF0IFwoZ18xKFUpXCkgYW5kIFwoZ18yKFUpXCkgYXJlIE1WVUUuIFNvIHRoZSAKYWRkaXRpb25hbCBwcm9wZXJ0eSBvZiBjb21wbGV0ZW5lc3MgaW1wbGllcyB0aGF0IHRoZSBNVlVFIGlzIHVuaXF1ZS4KCgoKCgoKCgoKCg==