# doc-cache created by Octave 7.3.0
# name: cache
# type: cell
# rows: 3
# columns: 153
# name: <cell-element>
# type: sq_string
# elements: 1
# length: 20
ConfusionMatrixChart


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 932
 -- statistics: P = ConfusionMatrixChart ()
     Create object P, a Confusion Matrix Chart object.

     "DiagonalColor"
          The color of the patches on the diagonal, default is [0.0,
          0.4471, 0.7412].

     "OffDiagonalColor"
          The color of the patches off the diagonal, default is [0.851,
          0.3255, 0.098].

     "GridVisible"
          Available values: on (default), off.

     "Normalization"
          Available values: absolute (default), column-normalized,
          row-normalized, total-normalized.

     "ColumnSummary"
          Available values: off (default), absolute,
          column-normalized,total-normalized.

     "RowSummary"
          Available values: off (default), absolute, row-normalized,
          total-normalized.

     MATLAB compatibility - the not implemented properties are:
     FontColor, PositionConstraint, InnerPosition, Layout.

     See also: confusionchart.


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 49
Create object P, a Confusion Matrix Chart object.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 6
adtest


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 4624
 -- statistics: H = adtest (X)
 -- statistics: H = adtest (X, NAME, VALUE)
 -- statistics: [H, PVAL] = adtest (...)
 -- statistics: [H, PVAL, ADSTAT, CV] = adtest (...)

     Anderson-Darling goodness-of-fit hypothesis test.

     'H = adtest (X)' returns a test decision for the null hypothesis
     that the data in vector X is from a population with a normal
     distribution, using the Anderson-Darling test.  The alternative
     hypothesis is that x is not from a population with a normal
     distribution.  The result H is 1 if the test rejects the null
     hypothesis at the 5% significance level, or 0 otherwise.

     'H = adtest (X, NAME, VALUE)' returns a test decision for the
     Anderson-Darling test with additional options specified by one or
     more Name-Value pair arguments.  For example, you can specify a
     null distribution other than normal, or select an alternative
     method for calculating the p-value, such as a Monte Carlo
     simulation.

     The following parameters can be parsed as Name-Value pair
     arguments.

     Name               Description
     --------------------------------------------------------------------------
     "Distribution"     The distribution being tested for.  It tests whether
                        X could have come from the specified distribution.
                        There are two choise available for parsing
                        distribution parameters:

        * One of the following char strings: "norm", "exp", "ev",
          "logn", "weibull", for defining either the 'normal',
          'exponential', 'extreme value', lognormal, or 'Weibull'
          distribution family, accordingly.  In this case, X is tested
          against a composite hypothesis for the specified distribution
          family and the required distribution parameters are estimated
          from the data in X.  The default is "norm".

        * A cell array defining a distribution in which the first cell
          contains a char string with the distribution name, as
          mentioned above, and the consecutive cells containing all
          specified parameters of the null distribution.  In this case,
          X is tested against a simple hypothesis.

     "Alpha"            Significance level alpha for the test.  Any scalar
                        numeric value between 0 and 1.  The default is 0.05
                        corresponding to the 5% significance level.
                        
     "MCTol"            Monte-Carlo standard error for the p-value, PVAL,
                        value.  which must be a positive scalar value.  In
                        this case, an approximation for the p-value is
                        computed directly, using Monte-Carlo simulations.
                        
     "Asymptotic"       Method for calculating the p-value of the
                        Anderson-Darling test, which can be either true or
                        false logical value.  If you specify 'true', adtest
                        estimates the p-value using the limiting
                        distribution of the Anderson-Darling test statistic.
                        If you specify 'false', adtest calculates the
                        p-value based on an analytical formula.  For sample
                        sizes greater than 120, the limiting distribution
                        estimate is likely to be more accurate than the
                        small sample size approximation method.

        * If you specify a distribution family with unknown parameters
          for the distribution Name-Value pair (i.e.  composite
          distribution hypothesis test), the "Asymptotic" option must be
          false.
        * 
          If you use MCTol to calculate the p-value using a Monte Carlo
          simulation, the "Asymptotic" option must be false.

     '[H, PVAL] = adtest (...)' also returns the p-value, PVAL, of the
     Anderson-Darling test, using any of the input arguments from the
     previous syntaxes.

     '[H, PVAL, ADSTAT, CV] = adtest (...)' also returns the test
     statistic, ADSTAT, and thhe critical value, CV, for the
     Anderson-Darling test.

     The Anderson-Darling test statistic belongs to the family of
     Quadratic Empirical Distribution Function statistics, which are
     based on the weighted sum of the difference [Fn(x)-F(x)]^2 over the
     ordered sample values X1 < X2 < ... < Xn, where F is the
     hypothesized continuous distribution and Fn is the empirical CDF
     based on the data sample with n sample points.

     See also: kstest.


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 49
Anderson-Darling goodness-of-fit hypothesis test.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 6
anova1


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 3022
 -- statistics: P = anova1 (X)
 -- statistics: P = anova1 (X, GROUP)
 -- statistics: P = anova1 (X, GROUP, DISPLAYOPT)
 -- statistics: P = anova1 (X, GROUP, DISPLAYOPT, VARTYPE)
 -- statistics: [P, ATAB] = anova1 (X, ...)
 -- statistics: [P, ATAB, STATS] = anova1 (X, ...)

     Perform a one-way analysis of variance (ANOVA) for comparing the
     means of two or more groups of data under the null hypothesis that
     the groups are drawn from distributions with the same mean.  For
     planned contrasts and/or diagnostic plots, use anovan instead.

     anova1 can take up to three input arguments:

        * X contains the data and it can either be a vector or matrix.
          If X is a matrix, then each column is treated as a separate
          group.  If X is a vector, then the GROUP argument is
          mandatory.

        * GROUP contains the names for each group.  If X is a matrix,
          then GROUP can either be a cell array of strings of a
          character array, with one row per column of X.  If you want to
          omit this argument, enter an empty array ([]).  If X is a
          vector, then GROUP must be a vector of the same length, or a
          string array or cell array of strings with one row for each
          element of X.  X values corresponding to the same value of
          GROUP are placed in the same group.

        * DISPLAYOPT is an optional parameter for displaying the groups
          contained in the data in a boxplot.  If omitted, it is 'on' by
          default.  If group names are defined in GROUP, these are used
          to identify the groups in the boxplot.  Use 'off' to omit
          displaying this figure.

        * VARTYPE is an optional parameter to used to indicate whether
          the groups can be assumed to come from populations with equal
          variance.  When vartype is "equal" the variances are assumed
          to be equal (this is the default).  When vartype is "unequal"
          the population variances are not assumed to be equal and
          Welch's ANOVA test is used instead.

     anova1 can return up to three output arguments:

        * P is the p-value of the null hypothesis that all group means
          are equal.

        * ATAB is a cell array containing the results in a standard
          ANOVA table.

        * STATS is a structure containing statistics useful for
          performing a multiple comparison of means with the MULTCOMPARE
          function.

     If anova1 is called without any output arguments, then it prints
     the results in a one-way ANOVA table to the standard output.  It is
     also printed when DISPLAYOPT is 'on'.

     Examples:

          x = meshgrid (1:6);
          x = x + normrnd (0, 1, 6, 6);
          anova1 (x, [], 'off');
          [p, atab] = anova1(x);

          x = ones (50, 4) .* [-2, 0, 1, 5];
          x = x + normrnd (0, 2, 50, 4);
          groups = {"A", "B", "C", "D"};
          anova1 (x, groups);

     See also: anova2, anovan, multcompare.


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Perform a one-way analysis of variance (ANOVA) for comparing the means
of two...



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 6
anova2


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 2499
 -- statistics: P = anova2 (X, REPS)
 -- statistics: P = anova2 (X, REPS, DISPLAYOPT)
 -- statistics: P = anova2 (X, REPS, DISPLAYOPT, MODEL)
 -- statistics: [P, ATAB] = anova2 (...)
 -- statistics: [P, ATAB, STATS] = anova2 (...)

     Performs two-way factorial (crossed) or a nested analysis of
     variance (ANOVA) for balanced designs.  For unbalanced factorial
     designs, diagnostic plots and/or planned contrasts, use anovan
     instead.

     anova2 requires two input arguments with an optional third and
     fourth:

        * X contains the data and it must be a matrix of at least two
          columns and two rows.

        * REPS is the number of replicates for each combination of
          factor groups.

        * DISPLAYOPT is an optional parameter for displaying the ANOVA
          table, when it is 'on' (default) and suppressing the display
          when it is 'off'.

        * MODEL is an optional parameter to specify the model type as
          either:

             * "interaction" or "full" (default): compute both main
               effects and their interaction

             * "linear": compute both main effects without an
               interaction.  When REPS > 1 the test is suitable for a
               balanced randomized block design.  When REPS == 1, the
               test becomes a One-way Repeated Measures (RM)-ANOVA with
               Greenhouse-Geisser correction to the column factor
               degrees of freedom to make the test robust to violations
               of sphericity

             * "nested": treat the row factor as nested within columns.
               Note that the row factor is considered a random factor in
               the calculation of the statistics.

     anova2 returns up to three output arguments:

        * P is the p-value of the null hypothesis that all group means
          are equal.

        * ATAB is a cell array containing the results in a standard
          ANOVA table.

        * STATS is a structure containing statistics useful for
          performing a multiple comparison of means with the MULTCOMPARE
          function.

     If anova2 is called without any output arguments, then it prints
     the results in a one-way ANOVA table to the standard output as if
     DISPLAYOPT is 'on'.

     Examples:

          load popcorn;
          anova2 (popcorn, 3);

          [p, anovatab, stats] = anova2 (popcorn, 3, "off");
          disp (p);

     See also: anova1, anovan, multcompare.


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Performs two-way factorial (crossed) or a nested analysis of variance
(ANOVA)...



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 6
anovan


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 8129
 -- statistics: P = anovan (Y, GROUP)
 -- statistics: P = anovan (Y, GROUP, NAME, VALUE)
 -- statistics: [P, ATAB] = anovan (...)
 -- statistics: [P, ATAB, STATS] = anovan (...)
 -- statistics: [P, ATAB, STATS, TERMS] = anovan (...)

     Perform a multi (N)-way analysis of (co)variance (ANOVA or ANCOVA)
     to evaluate the effect of one or more categorical or continuous
     predictors (i.e.  independent variables) on a continuous outcome
     (i.e.  dependent variable).  The algorithms used make anovan
     suitable for balanced or unbalanced factorial (crossed) designs.
     By default, anovan treats all factors as fixed.  Examples of
     function usage can be found by entering the command 'demo anovan'.

     Data is a single vector Y with groups specified by a corresponding
     matrix or cell array of group labels GROUP, where each column of
     GROUP has the same number of rows as Y.  For example, if Y =
     [1.1;1.2]; GROUP = [1,2,1; 1,5,2]; then observation 1.1 was
     measured under conditions 1,2,1 and observation 1.2 was measured
     under conditions 1,5,2.  If the GROUP provided is empty, then the
     linear model is fit with just the intercept (no predictors).

     anovan can take a number of optional parameters as name-value
     pairs.

     '[...] = anovan (Y, GROUP, "continuous", CONTINUOUS)'

        * CONTINUOUS is a vector of indices indicating which of the
          columns (i.e.  factors) in GROUP should be treated as
          continuous predictors rather than as categorical predictors.
          The relationship between continuous predictors and the outcome
          should be linear.

     '[...] = anovan (Y, GROUP, "random", RANDOM)'

        * RANDOM is a vector of indices indicating which of the columns
          (i.e.  factors) in GROUP should be treated as random effects
          rather than fixed effects.  Octave anovan provides only basic
          support for random effects.  Specifically, since all
          F-statistics in anovan are calculated using the mean-squared
          error (MSE), any interaction terms containing a random effect
          are dropped from the model term definitions and their
          associated variance is pooled with the residual, unexplained
          variance making up the MSE. In effect, the model then fitted
          equates to a linear mixed model with random intercept(s).
          Variable names for random factors are appended with a '
          symbol.

     '[...] = anovan (Y, GROUP, "model", MODELTYPE)'

        * MODELTYPE can specified as one of the following:

             * "linear" (default) : compute N main effects with no
               interactions.

             * "interaction" : compute N effects and N*(N-1) two-factor
               interactions

             * "full" : compute the N main effects and interactions at
               all levels

             * a scalar integer : representing the maximum interaction
               order

             * a matrix of term definitions : each row is a term and
               each column is a factor

               -- Example:
               A two-way ANOVA with interaction would be: [1 0; 0 1; 1 1]

     '[...] = anovan (Y, GROUP, "sstype", SSTYPE)'

        * SSTYPE can specified as one of the following:

             * 1 : Type I sequential sums-of-squares.

             * 2 or "h" : Type II partially sequential (or hierarchical)
               sums-of-squares

             * 3 (default) : Type III partial, constrained or marginal
               sums-of-squares

     '[...] = anovan (Y, GROUP, "varnames", VARNAMES)'

        * VARNAMES must be a cell array of strings with each element
          containing a factor name for each column of GROUP. By default
          (if not parsed as optional argument), VARNAMES are
          "X1","X2","X3", etc.

     '[...] = anovan (Y, GROUP, "alpha", ALPHA)'

        * ALPHA must be a scalar value between 0 and 1 requesting
          100*(1-alpha)% confidence bounds for the regression
          coefficients returned in STATS.coeffs (default 0.05 for 95%
          confidence)

     '[...] = anovan (Y, GROUP, "display", DISPOPT)'

        * DISPOPT can be either "on" (default) or "off" and controls the
          display of the model formula, table of model parameters and
          the ANOVA table.  The F-statistic and p-values are formatted
          in APA-style.  To avoid p-hacking, the table of model
          parameters is only displayed if we set planned contrasts (see
          below).

     '[...] = anovan (Y, GROUP, "contrasts", CONTRASTS)'

        * CONTRASTS can be specified as one of the following:

             * A string corresponding to one of the built-in contrasts
               listed below:

                  * "simple" or "anova" (default): Simple (ANOVA)
                    contrasts.  (The first level appearing in the GROUP
                    column is the reference level)

                  * "poly": Polynomial contrasts for trend analysis.

                  * "helmert": Helmert contrasts.

                  * "effect": Deviation effect coding.  (The first level
                    appearing in the GROUP column is omitted).

                  * "treatment": Treatment contrast (or dummy) coding.
                    (The first level appearing in the GROUP column is
                    the reference level).  These contrasts are not
                    compatible with SSTYPE 3.

             * A matrix containing a custom contrast coding scheme (i.e.
               the generalized inverse of contrast weights).  Rows in
               the contrast matrices correspond to factor levels in the
               order that they first appear in the GROUP column.  The
               matrix must contain the same number of columns as there
               are the number of factor levels minus one.

          If the anovan model contains more than one factor and a
          built-in contrast coding scheme was specified, then those
          contrasts are applied to all factors.  To specify different
          contrasts for different factors in the model, CONTRASTS should
          be a cell array with the same number of cells as there are
          columns in GROUP.  Each cell should define contrasts for the
          respective column in GROUP by one of the methods described
          above.  If cells are left empty, then the default contrasts
          are applied.  Contrasts for cells corresponding to continuous
          factors are ignored.

     '[...] = anovan (Y, GROUP, "weights", WEIGHTS)'

        * WEIGHTS is an optional vector of weights to be used when
          fitting the linear model.  Weighted least squares (WLS) is
          used with weights (that is, minimizing sum (weights *
          residuals.^2)); otherwise ordinary least squares (OLS) is used
          (default is empty for OLS).

     anovan can return up to four output arguments:

     P = anovan (...) returns a vector of p-values, one for each term.

     [P, ATAB] = anovan (...) returns a cell array containing the ANOVA
     table.

     [P, ATAB, STATS] = anovan (...) returns a structure containing
     additional statistics, including degrees of freedom and effect
     sizes for each term in the linear model, the design matrix, the
     variance-covariance matrix, (weighted) model residuals, and the
     mean squared error.  The columns of STATS.coeffs (from
     left-to-right) report the model coefficients, standard errors,
     lower and upper 100*(1-alpha)% confidence interval bounds,
     t-statistics, and p-values relating to the contrasts.  The number
     appended to each term name in STATS.coeffnames corresponds to the
     column number in the relevant contrast matrix for that factor.  The
     STATS structure can be used as input for multcompare.  The STATS
     structure is also recognised by the functions bootcoeff and bootemm
     from the statistics-bootstrap package.

     [P, ATAB, STATS, TERMS] = anovan (...) returns the model term
     definitions.

     See also: anova1, anova2, multcompare, fitlm.


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Perform a multi (N)-way analysis of (co)variance (ANOVA or ANCOVA) to
evaluat...



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 13
bartlett_test


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 2045
 -- statistics: H = bartlett_test (X)
 -- statistics: H = bartlett_test (X, GROUP)
 -- statistics: H = bartlett_test (X, ALPHA)
 -- statistics: H = bartlett_test (X, GROUP, ALPHA)
 -- statistics: [H, PVAL] = bartlett_test (...)
 -- statistics: [H, PVAL, CHISQ] = bartlett_test (...)
 -- statistics: [H, PVAL, CHISQ, DF] = bartlett_test (...)

     Perform a Bartlett test for the homogeneity of variances.

     Under the null hypothesis of equal variances, the test statistic
     CHISQ approximately follows a chi-square distribution with DF
     degrees of freedom.

     The p-value (1 minus the CDF of this distribution at CHISQ) is
     returned in PVAL.  H = 1 if the null hypothesis is rejected at the
     significance level of ALPHA.  Otherwise H = 0.

     Input Arguments:

        * X contains the data and it can either be a vector or matrix.
          If X is a matrix, then each column is treated as a separate
          group.  If X is a vector, then the GROUP argument is
          mandatory.  NaN values are omitted.

        * GROUP contains the names for each group.  If X is a vector,
          then GROUP must be a vector of the same length, or a string
          array or cell array of strings with one row for each element
          of X.  X values corresponding to the same value of GROUP are
          placed in the same group.  If X is a matrix, then GROUP can
          either be a cell array of strings of a character array, with
          one row per column of X in the same way it is used in 'anova1'
          function.  If X is a matrix, then GROUP can be omitted either
          by entering an empty array ([]) or by parsing only ALPHA as a
          second argument (if required to change its default value).

        * ALPHA is the statistical significance value at which the null
          hypothesis is rejected.  Its default value is 0.05 and it can
          be parsed either as a second argument (when GROUP is omitted)
          or as a third argument.

     See also: levene_test, vartest2, vartestn.


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 57
Perform a Bartlett test for the homogeneity of variances.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 8
barttest


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 1085
 -- statistics: NDIM = barttest (X)
 -- statistics: NDIM = barttest (X, ALPHA)
 -- statistics: [NDIM, PVAL] = barttest (X, ALPHA)
 -- statistics: [NDIM, PVAL, CHISQ] = barttest (X, ALPHA)

     Bartlett's test of sphericity for correlation.

     It compares an observed correlation matrix to the identity matrix
     in order to check if there is a certain redundancy between the
     variables that we can summarize with a few number of factors.  A
     statistically significant test shows that the variables (columns)
     in X are correlated, thus it makes sense to perform some
     dimensionality reduction of the data in X.

     'NDIM = barttest (X, ALPHA)' returns the number of dimensions
     necessary to explain the nonrandom variation in the data matrix X
     at the ALPHA significance level.  ALPHA is an optional input
     argument and, when not provided, it is 0.05 by default.

     '[NDIM, PVAL, CHISQ] = barttest (...)' also returns the
     significance values PVAL for the hypothesis test for each dimension
     as well as the associated chi^2 values in CHISQ


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 46
Bartlett's test of sphericity for correlation.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 8
betastat


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 1034
 -- statistics: [M, V] = betastat (A, B)

     Compute mean and variance of the beta distribution.

     Arguments
     ---------

        * A is the first parameter of the beta distribution.  A must be
          positive

        * B is the second parameter of the beta distribution.  B must be
          positive
     A and B must be of common size or one of them must be scalar

     Return values
     -------------

        * M is the mean of the beta distribution

        * V is the variance of the beta distribution

     Examples
     --------

          a = 1:6;
          b = 1:0.2:2;
          [m, v] = betastat (a, b)

          [m, v] = betastat (a, 1.5)

     References
     ----------

       1. Wendy L. Martinez and Angel R. Martinez.  'Computational
          Statistics Handbook with MATLAB'. Appendix E, pages 547-557,
          Chapman & Hall/CRC, 2001.

       2. Athanasios Papoulis.  'Probability, Random Variables, and
          Stochastic Processes'.  McGraw-Hill, New York, second edition,
          1984.


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 51
Compute mean and variance of the beta distribution.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 8
binostat


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 1098
 -- statistics: [M, V] = binostat (N, P)

     Compute mean and variance of the binomial distribution.

     Arguments
     ---------

        * N is the first parameter of the binomial distribution.  The
          elements of N must be natural numbers

        * P is the second parameter of the binomial distribution.  The
          elements of P must be probabilities
     N and P must be of common size or one of them must be scalar

     Return values
     -------------

        * M is the mean of the binomial distribution

        * V is the variance of the binomial distribution

     Examples
     --------

          n = 1:6;
          p = 0:0.2:1;
          [m, v] = binostat (n, p)

          [m, v] = binostat (n, 0.5)

     References
     ----------

       1. Wendy L. Martinez and Angel R. Martinez.  'Computational
          Statistics Handbook with MATLAB'. Appendix E, pages 547-557,
          Chapman & Hall/CRC, 2001.

       2. Athanasios Papoulis.  'Probability, Random Variables, and
          Stochastic Processes'.  McGraw-Hill, New York, second edition,
          1984.


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 55
Compute mean and variance of the binomial distribution.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 8
binotest


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 1170
 -- statistics: [H, PVAL, CI] = binotest (POS, N, P0)
 -- statistics: [H, PVAL, CI] = binotest (POS, N, P0, NAME, VALUE)

     Test for probability P of a binomial sample

     Perform a test of the null hypothesis P == P0 for a sample of size
     N with POS positive results.

     Name-Value pair arguments can be used to set various options.
     "alpha" can be used to specify the significance level of the test
     (the default value is 0.05).  The option "tail", can be used to
     select the desired alternative hypotheses.  If the value is "both"
     (default) the null is tested against the two-sided alternative 'P
     != P0'.  The value of PVAL is determined by adding the
     probabilities of all event less or equally likely than the observed
     number POS of positive events.  If the value of "tail" is "right"
     the one-sided alternative 'P > P0' is considered.  Similarly for
     "left", the one-sided alternative 'P < P0' is considered.

     If H is 0 the null hypothesis is accepted, if it is 1 the null
     hypothesis is rejected.  The p-value of the test is returned in
     PVAL.  A 100(1-alpha)% confidence interval is returned in CI.


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 43
Test for probability P of a binomial sample



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 7
boxplot


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 8334
 -- statistics: S = boxplot (DATA)
 -- statistics: S = boxplot (DATA, GROUP)
 -- statistics: S = boxplot (DATA, NOTCHED, SYMBOL, ORIENTATION,
          WHISKER, ...)
 -- statistics: S = boxplot (DATA, GROUP, NOTCHED, SYMBOL, ORIENTATION,
          WHISKER, ...)
 -- statistics: S = boxplot (DATA, OPTIONS)
 -- statistics: S = boxplot (DATA, GROUP, OPTIONS, ...)
 -- statistics: [..., H] = boxplot (DATA, ...)

     Produce a box plot.

     A box plot is a graphical display that simultaneously describes
     several important features of a data set, such as center, spread,
     departure from symmetry, and identification of observations that
     lie unusually far from the bulk of the data.

     Input arguments (case-insensitive) recognized by boxplot are:

        * DATA is a matrix with one column for each data set, or a cell
          vector with one cell for each data set.  Each cell must
          contain a numerical row or column vector (NaN and NA are
          ignored) and not a nested vector of cells.

        * NOTCHED = 1 produces a notched-box plot.  Notches represent a
          robust estimate of the uncertainty about the median.

          NOTCHED = 0 (default) produces a rectangular box plot.

          NOTCHED within the interval (0,1) produces a notch of the
          specified depth.  Notched values outside (0,1) are amusing if
          not exactly impractical.

        * SYMBOL sets the symbol for the outlier values.  The default
          symbol for points that lie outside 3 times the interquartile
          range is 'o'; the default symbol for points between 1.5 and 3
          times the interquartile range is '+'.
          Alternative SYMBOL settings:

          SYMBOL = '.': points between 1.5 and 3 times the IQR are
          marked with '.'  and points outside 3 times IQR with 'o'.

          SYMBOL = ['x','*']: points between 1.5 and 3 times the IQR are
          marked with 'x' and points outside 3 times IQR with '*'.

        * ORIENTATION = 0 makes the boxes horizontally.
          ORIENTATION = 1 plots the boxes vertically (default).
          Alternatively, orientation can be passed as a string, e.g.,
          'vertical' or 'horizontal'.

        * WHISKER defines the length of the whiskers as a function of
          the IQR (default = 1.5).  If WHISKER = 0 then 'boxplot'
          displays all data values outside the box using the plotting
          symbol for points that lie outside 3 times the IQR.

        * GROUP may be passed as an optional argument only in the second
          position after DATA.  GROUP contains a numerical vector
          defining separate categories, each plotted in a different box,
          for each set of DATA values that share the same GROUP value or
          values.  With the formalism (DATA, GROUP), both must be
          vectors of the same length.

        * OPTIONS are additional paired arguments passed with the
          formalism (Name, Value) that provide extra functionality as
          listed below.  OPTIONS can be passed at any order after the
          initial arguments and are case-insensitive.

          'Notch'        'on'           Notched by 0.25 of the boxes width.
                         'off'          Produces a straight box.
                         scalar         Proportional width of the notch.
                                        
          'Symbol'       '.'            Defines only outliers between 1.5 and 3
                                        IQR.
                         ['x','*']      2nd character defines outliers > 3 IQR
                                        
          'Orientation'  'vertical'     Default value, can also be defined with
                                        numerical 1.
                         'horizontal'   Can also be defined with numerical 0.
                                        
          'Whisker'      scalar         Multiplier of IQR (default is 1.5).
                                        
          'OutlierTags'  'on' or 1      Plot the vector index of the outlier
                                        value next to its point.
                         'off' or 0     No tags are plotted (default value).
                                        
          'Sample_IDs'   'cell'         A cell vector with one cell for each data
                                        set containing a nested cell vector with
                                        each sample's ID (should be a string).
                                        If this option is passed, then all
                                        outliers are tagged with their respective
                                        sample's ID string instead of their
                                        vector's index.
                                        
          'BoxWidth'     'proportional' Create boxes with their width
                                        proportional to the number of samples in
                                        their respective dataset (default value).
                         'fixed'        Make all boxes with equal width.
                                        
          'Widths'       scalar         Scaling factor for box widths (default
                                        value is 0.4).
                                        
          'CapWidths'    scalar         Scaling factor for whisker cap widths
                                        (default value is 1, which results to
                                        'Widths'/8 halflength)
                                        
          'BoxStyle'     'outline'      Draw boxes as outlines (default value).
                         'filled'       Fill boxes with a color (outlines are
                                        still plotted).
                                        
          'Positions'    vector         Numerical vector that defines the
                                        position of each data set.  It must have
                                        the same length as the number of groups
                                        in a desired manner.  This vector merely
                                        defines the points along the group axis,
                                        which by default is [1:number of groups].
                                        
          'Labels'       cell           A cell vector of strings containing the
                                        names of each group.  By default each
                                        group is labeled numerically according to
                                        its order in the data set
                                        
          'Colors'       character      If just one character or 1x3 vector of
                         string or      RGB values, specify the fill color of all
                         Nx3            boxes when BoxStyle = 'filled'.  If a
                         numerical      character string or Nx3 matrix is
                         matrix         entered, box #1's fill color corrresponds
                                        to the first character or first matrix
                                        row, and the next boxes' fill colors
                                        corresponds to the next characters or
                                        rows.  If the char string or Nx3 array is
                                        exhausted the color selection wraps
                                        around.

     Supplemental arguments not described above (...) are concatenated
     and passed to the plot() function.

     The returned matrix S has one column for each data set as follows:

     1       Minimum
     2       1st quartile
     3       2nd quartile (median)
     4       3rd quartile
     5       Maximum
     6       Lower confidence limit for median
     7       Upper confidence limit for median

     The returned structure H contains handles to the plot elements,
     allowing customization of the visualization using set/get
     functions.

     Example

          title ("Grade 3 heights");
          axis ([0,3]);
          set(gca (), "xtick", [1 2], "xticklabel", {"girls", "boys"});
          boxplot ({randn(10,1)*5+140, randn(13,1)*8+135});


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 19
Produce a box plot.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 9
canoncorr


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 534
 -- statistics: [A, B, R, U, V] = canoncorr (X, Y)

     Canonical correlation analysis

     Given X (size K*M) and Y (K*N), returns projection matrices of
     canonical coefficients A (size M*D, where D is the smallest of M,
     N, D) and B (size M*D); the canonical correlations R (1*D, arranged
     in decreasing order); the canonical variables U, V (both K*D, with
     orthonormal columns); and STATS, a structure containing results
     from Bartlett's chi-square and Rao's F tests of significance.

     See also: princomp.


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 30
Canonical correlation analysis



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 3
cdf


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 3710
 -- statistics: RETVAL = cdf (NAME, X, ...)

     Return cumulative density function of NAME function for value X.

     This is a wrapper around various NAMEcdf and NAME_cdf functions.
     See the individual functions help to learn the signification of the
     arguments after X.  Supported functions and corresponding number of
     additional arguments are:

       function               alternative                      args
     -------------------------------------------------------------------------
       "bbs"                  "Birnbaum-Saunders"              3
       "beta"                                                  2
       "bino"                 "binomial"                       2
       "bino"                 "binomial"                       3 include
                                                               'upper'
       "burr"                 "Burr"                           2
       "cauchy"               "Cauchy"                         2
       "chi2"                 "chi-square"                     1
       "copula"               "Copula family"                  2
       "copula"               "Copula family"                  3 include nu
       "discrete"             "univariate discrete"            2
       "empirical"            "univariate empirical"           1
       "exp"                  "exponential"                    1
       "f"                                                     2
       "gam"                  "gamma"                          2
       "geo"                  "geometric"                      1
       "gev"                  "generalized extreme value"      3
       "gp"                   "generalized Pareto"             3
       "hyge"                 "hypergeometric"                 3
       "jsu"                  "Johnson SU"                     2
       "ks"                   "Kolmogorov-Smirnov"             1
       "laplace"              "Laplace"                        0
       "logistic"                                              0
       "logn"                 "lognormal"                      0 defaults:
                                                               mu=0,sigma=1
       "logn"                 "lognormal"                      2
       "mvn"                  "multivariate normal"            2
       "mvn"                  "multivariate normal"            3 include
                                                               low limit a
       "mvt"                  "multivariate Student"           2
       "mvt"                  "multivariate Student"           3 include
                                                               low limit a
       "naka"                 "Nakagami"                       2
       "nbin"                 "negative binomial"              2
       "norm"                 "normal"                         0 defaults:
                                                               mu=0,sigma=1
       "norm"                 "normal"                         2
       "poiss"                "Poisson"                        1
       "rayl"                 "Rayleigh"                       1
       "stdnormal"            "standard normal"                0
       "t"                                                     1
       "tri"                  "triangular"                     3
       "unid"                 "uniform discrete"               1
       "unif"                 "uniform"                        0 defaults:
                                                               a=0,b=1
       "unif"                 "uniform"                        2
       "wbl"                  "Weibull"                        2

     See also: pdf, rnd.


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 64
Return cumulative density function of NAME function for value X.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 7
cdfcalc


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 800
 -- statistics: [YCDF, XCDF, N, EMSG, EID] = cdfcalc (X)

     Calculate an empirical cumulative distribution function.

     '[YCDF, XCDF] = cdfcalc (X)' calculates an empirical cumulative
     distribution function (CDF) of the observations in the data sample
     vector X.  X may be a row or column vector, and represents a random
     sample of observations from some underlying distribution.  On
     return XCDF is the set of X values at which the CDF increases.  At
     XCDF(i), the function increases from YCDF(i) to YCDF(i+1).

     '[YCDF, XCDF, N] = cdfcalc (X)' also returns N, the sample size.

     '[YCDF, XCDF, N, EMSG, EID] = cdfcalc (X)' also returns an error
     message and error id if X is not a vector or if it contains no
     values other than NaN.

     See also: cdfplot.


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 56
Calculate an empirical cumulative distribution function.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 7
cdfplot


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 1223
 -- statistics: HCDF = cdfplot (X)
 -- statistics: [HCDF, STATS] = cdfplot (X)

     Display an empirical cumulative distribution function.

     'HCDF = cdfplot (X)' plots an empirical cumulative distribution
     function (CDF) of the observations in the data sample vector X.  X
     may be a row or column vector, and represents a random sample of
     observations from some underlying distribution.

     'cdfplot' plots F(x), the empirical (or sample) CDF versus the
     observations in X.  The empirical CDF, F(x), is defined as follows:

     F(x) = (Number of observations <= x) / (Total number of
     observations)

     for all values in the sample vector X.  NaNs are ignored.  HCDF is
     the handle of the empirical CDF curve (a handle hraphics 'line'
     object).

     '[HCDF, STATS] = cdfplot (X)' also returns a structure with the
     following fields as a statistical summary.

          STATS.min              minimum value of X
          STATS.max              maximum value of X
          STATS.mean             sample mean of X
          STATS.median           sample median (50th percentile) of X
          STATS.std              sample standard deviation of X

     See also: qqplot, cdfcalc.


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 54
Display an empirical cumulative distribution function.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 7
chi2gof


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 4752
 -- statistics: H = chi2gof (X)
 -- statistics: [H, P] = chi2gof (X)
 -- statistics: [P, H, STATS] = chi2gof (X)
 -- statistics: [...] = chi2gof (X, NAME1, VALUE1, ...)

     Chi-square goodness-of-fit test.

     'chi2gof' performs a chi-square goodness-of-fit test for discrete
     or continuous distributions.  The test is performed by grouping the
     data into bins, calculating the observed and expected counts for
     those bins, and computing the chi-square test statistic
     SUM((O-E).^2./E), where O is the observed counts and E is the
     expected counts.  This test statistic has an approximate chi-square
     distribution when the counts are sufficiently large.

     Bins in either tail with an expected count less than 5 are pooled
     with neighboring bins until the count in each extreme bin is at
     least 5.  If bins remain in the interior with counts less than 5,
     CHI2GOF displays a warning.  In that case, you should use fewer
     bins, or provide bin centers or binedges, to increase the expected
     counts in all bins.

     'H = chi2gof (X)' performs a chi-square goodness-of-fit test that
     the data in the vector X are a random sample from a normal
     distribution with mean and variance estimated from X.  The result
     is H = 0 if the null hypothesis (that X is a random sample from a
     normal distribution) cannot be rejected at the 5% significance
     level, or H = 1 if the nullhypothesis can be rejected at the 5%
     level.  'chi2gof' uses by default 10 bins ('nbins'), and compares
     the test statistic to a chi-square distribution with 'nbins' - 3
     degrees of freedom, to take into account that two parameters were
     estimated.

     '[H, P] = chi2gof (X)' also returns the p-value P, which is the
     probability of observing the given result, or one more extreme, by
     chance if the null hypothesis is true.  If there are not enough
     degrees of freedom to carry out the test, P is NaN.

     '[H, P, STATS] = chi2gof (X)' also returns a STATS structure with
     the following fields:

          "chi2stat"             Chi-square statistic
          "df"                   Degrees of freedom
          "binedges"             Vector of bin binedges after pooling
          "O"                    Observed count in each bin
          "E"                    Expected count in each bin

     '[...] = chi2gof (X, NAME1, VALUE1, ...)' specifies optional
     argument name/value pairs chosen from the following list.

          Name           Value
     ---------------------------------------------------------------------------
          "nbins"        The number of bins to use.  Default is 10.
          "binctrs"      A vector of bin centers.
          "binedges"     A vector of bin binedges.
          "cdf"          A fully specified cumulative distribution function
                         or a a function handle.  Alternatively, a cell array
                         whose first element is a function handle and all
                         later elements are parameter values, one per cell.
                         provided in a cell array whose first element is a
                         function handle, and whose later elements are
                         parameter values, one per cell.  The function must
                         take X values as its first argument, and other
                         parameters as later arguments.
          "expected"     A vector with one element per bin specifying the
                         expected counts for each bin.
          "nparams"      The number of estimated parameters; used to adjust
                         the degrees of freedom to be 'nbins' - 1 -
                         'nparams', where 'nbins' is the number of bins.
          "emin"         The minimum allowed expected value for a bin; any
                         bin in either tail having an expected value less
                         than this amount is pooled with a neighboring bin.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                