diff --git a/dev/404.html b/dev/404.html index 064bef97a..18bae2472 100644 --- a/dev/404.html +++ b/dev/404.html @@ -8,7 +8,7 @@ - + @@ -16,7 +16,7 @@
- + \ No newline at end of file diff --git a/dev/api/dimensions.html b/dev/api/dimensions.html index 3aa4b974f..6d0b0530b 100644 --- a/dev/api/dimensions.html +++ b/dev/api/dimensions.html @@ -8,18 +8,18 @@ - + - - + +
Skip to content

Dimensions

Dimensions are kept in the sub-module Dimensions.

# DimensionalData.DimensionsModule.
julia
Dimensions

Sub-module for Dimensions wrappers, and operations on them used in DimensionalData.jl.

To load Dimensions types and methods into scope:

julia
using DimensionalData
-using DimensionalData.Dimensions

source


Dimensions have a type-hierarchy that organises plotting and dimension matching.

# DimensionalData.Dimensions.DimensionType.
julia
Dimension

Abstract supertype of all dimension types.

Example concrete implementations are X, Y, Z, Ti (Time), and the custom Dim dimension.

Dimensions label the axes of an AbstractDimArray, or other dimensional objects, and are used to index into an array.

They may also wrap lookup values for each array axis. This may be any AbstractVector matching the array axis length, but will usually be converted to a Lookup when use in a constructed object.

A Lookup gives more details about the dimension, such as that it is Categorical or Sampled as Points or Intervals along some transect. DimensionalData will attempt to guess the lookup from the passed-in index value.

Example:

julia
using DimensionalData, Dates
+using DimensionalData.Dimensions

source


Dimensions have a type-hierarchy that organises plotting and dimension matching.

# DimensionalData.Dimensions.DimensionType.
julia
Dimension

Abstract supertype of all dimension types.

Example concrete implementations are X, Y, Z, Ti (Time), and the custom Dim dimension.

Dimensions label the axes of an AbstractDimArray, or other dimensional objects, and are used to index into an array.

They may also wrap lookup values for each array axis. This may be any AbstractVector matching the array axis length, but will usually be converted to a Lookup when use in a constructed object.

A Lookup gives more details about the dimension, such as that it is Categorical or Sampled as Points or Intervals along some transect. DimensionalData will attempt to guess the lookup from the passed-in index value.

Example:

julia
using DimensionalData, Dates
 
 x = X(2:2:10)
 y = Y(['a', 'b', 'c'])
@@ -71,21 +71,21 @@
  Ti Sampled{Dates.DateTime} Dates.DateTime("2021-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2021-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
    2021-01-01T00:00:00   2021-02-01T00:00:00   2021-12-01T00:00:00
- 4    0.0                   0.0                      0.0

source


# DimensionalData.Dimensions.DependentDimType.
julia
DependentDim <: Dimension

Abstract supertype for dependent dimensions. These will plot on the Y axis.

source


# DimensionalData.Dimensions.IndependentDimType.
julia
IndependentDim <: Dimension

Abstract supertype for independent dimensions. These will plot on the X axis.

source


# DimensionalData.Dimensions.XDimType.
julia
XDim <: IndependentDim

Abstract supertype for all X dimensions.

source


# DimensionalData.Dimensions.YDimType.
julia
YDim <: DependentDim

Abstract supertype for all Y dimensions.

source


# DimensionalData.Dimensions.ZDimType.
julia
ZDim <: DependentDim

Abstract supertype for all Z dimensions.

source


# DimensionalData.Dimensions.TimeDimType.
julia
TimeDim <: IndependentDim

Abstract supertype for all time dimensions.

In a TimeDime with Interval sampling the locus will automatically be set to Start(). Dates and times generally refer to the start of a month, hour, second etc., not the central point as is more common with spatial data. `

source


# DimensionalData.Dimensions.XType.
julia
X <: XDim
+ 4    0.0                   0.0                      0.0

source


# DimensionalData.Dimensions.DependentDimType.
julia
DependentDim <: Dimension

Abstract supertype for dependent dimensions. These will plot on the Y axis.

source


# DimensionalData.Dimensions.IndependentDimType.
julia
IndependentDim <: Dimension

Abstract supertype for independent dimensions. These will plot on the X axis.

source


# DimensionalData.Dimensions.XDimType.
julia
XDim <: IndependentDim

Abstract supertype for all X dimensions.

source


# DimensionalData.Dimensions.YDimType.
julia
YDim <: DependentDim

Abstract supertype for all Y dimensions.

source


# DimensionalData.Dimensions.ZDimType.
julia
ZDim <: DependentDim

Abstract supertype for all Z dimensions.

source


# DimensionalData.Dimensions.TimeDimType.
julia
TimeDim <: IndependentDim

Abstract supertype for all time dimensions.

In a TimeDime with Interval sampling the locus will automatically be set to Start(). Dates and times generally refer to the start of a month, hour, second etc., not the central point as is more common with spatial data. `

source


# DimensionalData.Dimensions.XType.
julia
X <: XDim
 
-X(val=:)

X Dimension. X <: XDim <: IndependentDim

Examples

julia
xdim = X(2:2:10)
julia
val = A[X(1)]
julia
mean(A; dims=X)

source


# DimensionalData.Dimensions.YType.
julia
Y <: YDim
+X(val=:)

X Dimension. X <: XDim <: IndependentDim

Examples

julia
xdim = X(2:2:10)
julia
val = A[X(1)]
julia
mean(A; dims=X)

source


# DimensionalData.Dimensions.YType.
julia
Y <: YDim
 
-Y(val=:)

Y Dimension. Y <: YDim <: DependentDim

Examples

julia
ydim = Y(['a', 'b', 'c'])
julia
val = A[Y(1)]
julia
mean(A; dims=Y)

source


# DimensionalData.Dimensions.ZType.
julia
Z <: ZDim
+Y(val=:)

Y Dimension. Y <: YDim <: DependentDim

Examples

julia
ydim = Y(['a', 'b', 'c'])
julia
val = A[Y(1)]
julia
mean(A; dims=Y)

source


# DimensionalData.Dimensions.ZType.
julia
Z <: ZDim
 
-Z(val=:)

Z Dimension. Z <: ZDim <: Dimension

Example:

julia
zdim = Z(10:10:100)
julia
val = A[Z(1)]
julia
mean(A; dims=Z)

source


# DimensionalData.Dimensions.TiType.

m Ti <: TimeDim

Ti(val=:)

Time Dimension. Ti <: TimeDim <: IndependentDim

Time is already used by Dates, and T is a common type parameter, We use Ti to avoid clashes.

Example:

julia
timedim = Ti(DateTime(2021, 1):Month(1):DateTime(2021, 12))
julia
val = A[Ti(1)]
julia
mean(A; dims=Ti)

source


# DimensionalData.Dimensions.DimType.
julia
Dim{S}(val=:)

A generic dimension. For use when custom dims are required when loading data from a file. Can be used as keyword arguments for indexing.

Dimension types take precedence over same named Dim types when indexing with symbols, or e.g. creating Tables.jl keys.

julia
julia> dim = Dim{:custom}(['a', 'b', 'c'])
-custom ['a', 'b', 'c']

source


# DimensionalData.Dimensions.AnonDimType.
julia
AnonDim <: Dimension
+Z(val=:)

Z Dimension. Z <: ZDim <: Dimension

Example:

julia
zdim = Z(10:10:100)
julia
val = A[Z(1)]
julia
mean(A; dims=Z)

source


# DimensionalData.Dimensions.TiType.

m Ti <: TimeDim

Ti(val=:)

Time Dimension. Ti <: TimeDim <: IndependentDim

Time is already used by Dates, and T is a common type parameter, We use Ti to avoid clashes.

Example:

julia
timedim = Ti(DateTime(2021, 1):Month(1):DateTime(2021, 12))
julia
val = A[Ti(1)]
julia
mean(A; dims=Ti)

source


# DimensionalData.Dimensions.DimType.
julia
Dim{S}(val=:)

A generic dimension. For use when custom dims are required when loading data from a file. Can be used as keyword arguments for indexing.

Dimension types take precedence over same named Dim types when indexing with symbols, or e.g. creating Tables.jl keys.

julia
julia> dim = Dim{:custom}(['a', 'b', 'c'])
+custom ['a', 'b', 'c']

source


# DimensionalData.Dimensions.AnonDimType.
julia
AnonDim <: Dimension
 
-AnonDim()

Anonymous dimension. Used when extra dimensions are created, such as during transpose of a vector.

source


# DimensionalData.Dimensions.@dimMacro.
julia
@dim typ [supertype=Dimension] [label::String=string(typ)]

Macro to easily define new dimensions.

The supertype will be inserted into the type of the dim. The default is simply YourDim <: Dimension.

Making a Dimension inherit from XDim, YDim, ZDim or TimeDim will affect automatic plot layout and other methods that dispatch on these types. <: YDim are plotted on the Y axis, <: XDim on the X axis, etc.

label is used in plots and similar, if the dimension is short for a longer word.

Example:

julia
using DimensionalData
+AnonDim()

Anonymous dimension. Used when extra dimensions are created, such as during transpose of a vector.

source


# DimensionalData.Dimensions.@dimMacro.
julia
@dim typ [supertype=Dimension] [label::String=string(typ)]

Macro to easily define new dimensions.

The supertype will be inserted into the type of the dim. The default is simply YourDim <: Dimension.

Making a Dimension inherit from XDim, YDim, ZDim or TimeDim will affect automatic plot layout and other methods that dispatch on these types. <: YDim are plotted on the Y axis, <: XDim on the X axis, etc.

label is used in plots and similar, if the dimension is short for a longer word.

Example:

julia
using DimensionalData
 using DimensionalData: @dim, YDim, XDim
 @dim Lat YDim "Latitude"
 @dim Lon XDim "Longitude"
-# output

source


Exported methods

These are widely useful methods for working with dimensions.

# DimensionalData.Dimensions.dimsFunction.
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
-dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
+# output

source


Exported methods

These are widely useful methods for working with dimensions.

# DimensionalData.Dimensions.dimsFunction.
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
+dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
 dims(x, query...) => Tuple{Vararg{Dimension}}

Get the dimension(s) matching the type(s) of the query dimension.

Lookup can be an Int or an Dimension, or a tuple containing any combination of either.

Arguments

  • x: any object with a dims method, or a Tuple of Dimension.

  • query: Tuple or a single Dimension or Dimension Type.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(2, 3, 2), (X, Y, Z))
@@ -99,7 +99,7 @@
  1.0  1.0  1.0
 
 julia> dims(A, (X, Y))
- X,  Y

source


# DimensionalData.Dimensions.otherdimsFunction.
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
+ X,  Y

source


# DimensionalData.Dimensions.otherdimsFunction.
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
 
@@ -107,7 +107,7 @@
  Y,  Z
 
 julia> otherdims(A, (Y, Z))
- X

source


# DimensionalData.Dimensions.dimnumFunction.
julia
dimnum(x, query::Tuple) => NTuple{Int}
+ X

source


# DimensionalData.Dimensions.dimnumFunction.
julia
dimnum(x, query::Tuple) => NTuple{Int}
 dimnum(x, query) => Int

Get the number(s) of Dimension(s) as ordered in the dimensions of an object.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple, Array or single Dimension or dimension Type.

The return type will be a Tuple of Int or a single Int, depending on whether query is a Tuple or single Dimension.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
@@ -116,7 +116,7 @@
 (3, 1, 2)
 
 julia> dimnum(A, Y)
-2

source


# DimensionalData.Dimensions.hasdimFunction.
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
+2

source


# DimensionalData.Dimensions.hasdimFunction.
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
 hasdim([f], x, query...) => NTuple{Bool}
 hasdim([f], x, query) => Bool

Check if an object x has dimensions that match or inherit from the query dimensions.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

Check if an object or tuple contains an Dimension, or a tuple of dimensions.

Example

julia
julia> using DimensionalData
 
@@ -129,13 +129,13 @@
 (true, true, true)
 
 julia> hasdim(A, Ti)
-false

source


Non-exported methods

# DimensionalData.Dimensions.lookupFunction.
julia
lookup(x::Dimension) => Lookup
+false

source


Non-exported methods

# DimensionalData.Dimensions.lookupFunction.
julia
lookup(x::Dimension) => Lookup
 lookup(x, [dims::Tuple]) => Tuple{Vararg{Lookup}}
 lookup(x::Tuple) => Tuple{Vararg{Lookup}}
-lookup(x, dim) => Lookup

Returns the Lookup of a dimension. This dictates properties of the dimension such as array axis and lookup order, and sampling properties.

dims can be a Dimension, a dimension type, or a tuple of either.

This is separate from val in that it will only work when dimensions actually contain an AbstractArray lookup, and can be used on a DimArray or DimStack to retrieve all lookups, as there is no ambiguity of meaning as there is with val.

source


# DimensionalData.Dimensions.labelFunction.
julia
label(x) => String
+lookup(x, dim) => Lookup

Returns the Lookup of a dimension. This dictates properties of the dimension such as array axis and lookup order, and sampling properties.

dims can be a Dimension, a dimension type, or a tuple of either.

This is separate from val in that it will only work when dimensions actually contain an AbstractArray lookup, and can be used on a DimArray or DimStack to retrieve all lookups, as there is no ambiguity of meaning as there is with val.

source


# DimensionalData.Dimensions.labelFunction.
julia
label(x) => String
 label(x, dims::Tuple) => NTuple{N,String}
 label(x, dim) => String
-label(xs::Tuple) => NTuple{N,String}

Get a plot label for data or a dimension. This will include the name and units if they exist, and anything else that should be shown on a plot.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.formatFunction.
julia
format(dims, x) => Tuple{Vararg{Dimension,N}}

Format the passed-in dimension(s) dims to match the object x.

Errors are thrown if dims don't match the array dims or size, and any fields holding Auto- objects are filled with guessed objects.

If a Lookup hasn't been specified, a lookup is chosen based on the type and element type of the values.

source


# DimensionalData.Dimensions.dims2indicesFunction.
julia
dims2indices(dim::Dimension, I) => NTuple{Union{Colon,AbstractArray,Int}}

Convert a Dimension or Selector I to indices of Int, AbstractArray or Colon.

source


# DimensionalData.Dimensions.Lookups.selectindicesFunction.
julia
selectindices(lookups, selectors)

Converts Selector to regular indices.

source


Primitive methods

These low-level methods are really for internal use, but can be useful for writing dimensional algorithms.

They are not guaranteed to keep their interface, but usually will.

# DimensionalData.Dimensions.commondimsFunction.
julia
commondims([f], x, query) => Tuple{Vararg{Dimension}}

This is basically dims(x, query) where the order of the original is kept, unlike dims where the query tuple determines the order

Also unlike dims,commondims always returns a Tuple, no matter the input. No errors are thrown if dims are absent from either x or query.

f is <: by default, but can be >: to sort abstract types by concrete types.

julia
julia> using DimensionalData, .Dimensions
+label(xs::Tuple) => NTuple{N,String}

Get a plot label for data or a dimension. This will include the name and units if they exist, and anything else that should be shown on a plot.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.formatFunction.
julia
format(dims, x) => Tuple{Vararg{Dimension,N}}

Format the passed-in dimension(s) dims to match the object x.

Errors are thrown if dims don't match the array dims or size, and any fields holding Auto- objects are filled with guessed objects.

If a Lookup hasn't been specified, a lookup is chosen based on the type and element type of the values.

source


# DimensionalData.Dimensions.dims2indicesFunction.
julia
dims2indices(dim::Dimension, I) => NTuple{Union{Colon,AbstractArray,Int}}

Convert a Dimension or Selector I to indices of Int, AbstractArray or Colon.

source


# DimensionalData.Dimensions.Lookups.selectindicesFunction.
julia
selectindices(lookups, selectors)

Converts Selector to regular indices.

source


Primitive methods

These low-level methods are really for internal use, but can be useful for writing dimensional algorithms.

They are not guaranteed to keep their interface, but usually will.

# DimensionalData.Dimensions.commondimsFunction.
julia
commondims([f], x, query) => Tuple{Vararg{Dimension}}

This is basically dims(x, query) where the order of the original is kept, unlike dims where the query tuple determines the order

Also unlike dims,commondims always returns a Tuple, no matter the input. No errors are thrown if dims are absent from either x or query.

f is <: by default, but can be >: to sort abstract types by concrete types.

julia
julia> using DimensionalData, .Dimensions
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
 
@@ -146,9 +146,9 @@
  X,  Z
 
 julia> commondims(A, Ti)
-()

source


# DimensionalData.Dimensions.name2dimFunction.
julia
name2dim(s::Symbol) => Dimension
+()

source


# DimensionalData.Dimensions.name2dimFunction.
julia
name2dim(s::Symbol) => Dimension
 name2dim(dims...) => Tuple{Dimension,Vararg}
-name2dim(dims::Tuple) => Tuple{Dimension,Vararg}

Convert a symbol to a dimension object. :X, :Y, :Ti etc will be converted to X(), Y(), Ti(), as with any other dims generated with the @dim macro.

All other Symbols S will generate Dim{S}() dimensions.

source


# DimensionalData.Dimensions.reducedimsFunction.
julia
reducedims(x, dimstoreduce) => Tuple{Vararg{Dimension}}

Replace the specified dimensions with an index of length 1. This is usually to match a new array size where an axis has been reduced with a method like mean or reduce to a length of 1, but the number of dimensions has not changed.

Lookup traits are also updated to correspond to the change in cell step, sampling type and order.

source


# DimensionalData.Dimensions.swapdimsFunction.
julia
swapdims(x::T, newdims) => T
+name2dim(dims::Tuple) => Tuple{Dimension,Vararg}

Convert a symbol to a dimension object. :X, :Y, :Ti etc will be converted to X(), Y(), Ti(), as with any other dims generated with the @dim macro.

All other Symbols S will generate Dim{S}() dimensions.

source


# DimensionalData.Dimensions.reducedimsFunction.
julia
reducedims(x, dimstoreduce) => Tuple{Vararg{Dimension}}

Replace the specified dimensions with an index of length 1. This is usually to match a new array size where an axis has been reduced with a method like mean or reduce to a length of 1, but the number of dimensions has not changed.

Lookup traits are also updated to correspond to the change in cell step, sampling type and order.

source


# DimensionalData.Dimensions.swapdimsFunction.
julia
swapdims(x::T, newdims) => T
 swapdims(dims::Tuple, newdims) => Tuple{Vararg{Dimension}}

Swap dimensions for the passed in dimensions, in the order passed.

Passing in the Dimension types rewraps the dimension index, keeping the index values and metadata, while constructed Dimension objects replace the original dimension. nothing leaves the original dimension as-is.

Arguments

  • x: any object with a dims method or a Tuple of Dimension.

  • newdim: Tuple of Dimension or dimension Type.

Example

julia
using DimensionalData
 A = ones(X(2), Y(4), Z(2))
 Dimensions.swapdims(A, (Dim{:a}, Dim{:b}, Dim{:c}))
@@ -161,21 +161,21 @@
 └───────────────────────────┘
 [:, :, 1]
  1.0  1.0  1.0  1.0
- 1.0  1.0  1.0  1.0

source


# DimensionalData.Dimensions.slicedimsFunction.
julia
slicedims(x, I) => Tuple{Tuple,Tuple}
-slicedims(f, x, I) => Tuple{Tuple,Tuple}

Slice the dimensions to match the axis values of the new array.

All methods return a tuple containing two tuples: the new dimensions, and the reference dimensions. The ref dimensions are no longer used in the new struct but are useful to give context to plots.

Called at the array level the returned tuple will also include the previous reference dims attached to the array.

Arguments

  • f: a function getindex, view or dotview. This will be used for slicing getindex is the default if f is not included.

  • x: An AbstractDimArray, Tuple of Dimension, or Dimension

  • I: A tuple of Integer, Colon or AbstractArray

source


# DimensionalData.Dimensions.comparedimsFunction.
julia
comparedims(A::AbstractDimArray...; kw...)
+ 1.0  1.0  1.0  1.0

source


# DimensionalData.Dimensions.slicedimsFunction.
julia
slicedims(x, I) => Tuple{Tuple,Tuple}
+slicedims(f, x, I) => Tuple{Tuple,Tuple}

Slice the dimensions to match the axis values of the new array.

All methods return a tuple containing two tuples: the new dimensions, and the reference dimensions. The ref dimensions are no longer used in the new struct but are useful to give context to plots.

Called at the array level the returned tuple will also include the previous reference dims attached to the array.

Arguments

  • f: a function getindex, view or dotview. This will be used for slicing getindex is the default if f is not included.

  • x: An AbstractDimArray, Tuple of Dimension, or Dimension

  • I: A tuple of Integer, Colon or AbstractArray

source


# DimensionalData.Dimensions.comparedimsFunction.
julia
comparedims(A::AbstractDimArray...; kw...)
 comparedims(A::Tuple...; kw...)
 comparedims(A::Dimension...; kw...)
-comparedims(::Type{Bool}, args...; kw...)

Check that dimensions or tuples of dimensions passed as each argument are the same, and return the first valid dimension. If AbstractDimArrays are passed as arguments their dimensions are compared.

Empty tuples and nothing dimension values are ignored, returning the Dimension value if it exists.

Passing Bool as the first argument means true/false will be returned, rather than throwing an error.

Keywords

These are all Bool flags:

  • type: compare dimension type, true by default.

  • valtype: compare wrapped value type, false by default.

  • val: compare wrapped values, false by default.

  • order: compare order, false by default.

  • length: compare lengths, true by default.

  • ignore_length_one: ignore length 1 in comparisons, and return whichever dimension is not length 1, if any. This is useful in e.g. broadcasting comparisons. false by default.

  • warn: a String or nothing. Used only for Bool methods, to give a warning for false values and include warn in the warning text.

source


# DimensionalData.Dimensions.combinedimsFunction.
julia
combinedims(xs; check=true)

Combine the dimensions of each object in xs, in the order they are found.

source


# DimensionalData.Dimensions.sortdimsFunction.
julia
sortdims([f], tosort, order) => Tuple

Sort dimensions tosort by order. Dimensions in order but missing from tosort are replaced with nothing.

tosort and order can be Tuples or Vectors or Dimension or dimension type. Abstract supertypes like TimeDim can be used in order.

f is <: by default, but can be >: to sort abstract types by concrete types.

source


# DimensionalData.Dimensions.Lookups.basetypeofFunction.
julia
basetypeof(x) => Type

Get the "base" type of an object - the minimum required to define the object without it's fields. By default this is the full UnionAll for the type. But custom basetypeof methods can be defined for types with free type parameters.

In DimensionalData this is primarily used for comparing Dimensions, where Dim{:x} is different from Dim{:y}.

source


# DimensionalData.Dimensions.basedimsFunction.
julia
basedims(ds::Tuple)
-basedims(d::Union{Dimension,Symbol,Type})

Returns basetypeof(d)() or a Tuple of called on a Tuple.

See basetypeof

source


# DimensionalData.Dimensions.setdimsFunction.
julia
setdims(X, newdims) => AbstractArray
+comparedims(::Type{Bool}, args...; kw...)

Check that dimensions or tuples of dimensions passed as each argument are the same, and return the first valid dimension. If AbstractDimArrays are passed as arguments their dimensions are compared.

Empty tuples and nothing dimension values are ignored, returning the Dimension value if it exists.

Passing Bool as the first argument means true/false will be returned, rather than throwing an error.

Keywords

These are all Bool flags:

  • type: compare dimension type, true by default.

  • valtype: compare wrapped value type, false by default.

  • val: compare wrapped values, false by default.

  • order: compare order, false by default.

  • length: compare lengths, true by default.

  • ignore_length_one: ignore length 1 in comparisons, and return whichever dimension is not length 1, if any. This is useful in e.g. broadcasting comparisons. false by default.

  • warn: a String or nothing. Used only for Bool methods, to give a warning for false values and include warn in the warning text.

source


# DimensionalData.Dimensions.combinedimsFunction.
julia
combinedims(xs; check=true)

Combine the dimensions of each object in xs, in the order they are found.

source


# DimensionalData.Dimensions.sortdimsFunction.
julia
sortdims([f], tosort, order) => Tuple

Sort dimensions tosort by order. Dimensions in order but missing from tosort are replaced with nothing.

tosort and order can be Tuples or Vectors or Dimension or dimension type. Abstract supertypes like TimeDim can be used in order.

f is <: by default, but can be >: to sort abstract types by concrete types.

source


# DimensionalData.Dimensions.Lookups.basetypeofFunction.
julia
basetypeof(x) => Type

Get the "base" type of an object - the minimum required to define the object without it's fields. By default this is the full UnionAll for the type. But custom basetypeof methods can be defined for types with free type parameters.

In DimensionalData this is primarily used for comparing Dimensions, where Dim{:x} is different from Dim{:y}.

source


# DimensionalData.Dimensions.basedimsFunction.
julia
basedims(ds::Tuple)
+basedims(d::Union{Dimension,Symbol,Type})

Returns basetypeof(d)() or a Tuple of called on a Tuple.

See basetypeof

source


# DimensionalData.Dimensions.setdimsFunction.
julia
setdims(X, newdims) => AbstractArray
 setdims(::Tuple, newdims) => Tuple{Vararg{Dimension,N}}

Replaces the first dim matching <: basetypeof(newdim) with newdim, and returns a new object or tuple with the dimension updated.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • newdim: Tuple or single Dimension, Type or Symbol.

Example

julia
using DimensionalData, DimensionalData.Dimensions, DimensionalData.Lookups
 A = ones(X(10), Y(10:10:100))
 B = setdims(A, Y(Categorical('a':'j'; order=ForwardOrdered())))
 lookup(B, Y)
 # output
 Categorical{Char} ForwardOrdered
-wrapping: 'a':1:'j'

source


# DimensionalData.Dimensions.dimsmatchFunction.
julia
dimsmatch([f], dim, query) => Bool
-dimsmatch([f], dims::Tuple, query::Tuple) => Bool

Compare 2 dimensions or Tuple of Dimension are of the same base type, or are at least rotations/transformations of the same type.

f is <: by default, but can be >: to match abstract types to concrete types.

source


- +wrapping: 'a':1:'j'

source


# DimensionalData.Dimensions.dimsmatchFunction.
julia
dimsmatch([f], dim, query) => Bool
+dimsmatch([f], dims::Tuple, query::Tuple) => Bool

Compare 2 dimensions or Tuple of Dimension are of the same base type, or are at least rotations/transformations of the same type.

f is <: by default, but can be >: to match abstract types to concrete types.

source


+ \ No newline at end of file diff --git a/dev/api/lookuparrays.html b/dev/api/lookuparrays.html index 8dd991c88..a9508dbab 100644 --- a/dev/api/lookuparrays.html +++ b/dev/api/lookuparrays.html @@ -8,18 +8,18 @@ - + - - + +
Skip to content

Lookups

# DimensionalData.Dimensions.LookupsModule.
julia
Lookups

Module for Lookups and Selectors used in DimensionalData.jl

Lookup defines traits and AbstractArray wrappers that give specific behaviours for a lookup index when indexed with Selector.

For example, these allow tracking over array order so fast indexing works even when the array is reversed.

To load Lookup types and methods into scope:

julia
using DimensionalData
-using DimensionalData.Lookups

source


# DimensionalData.Dimensions.Lookups.LookupType.
julia
Lookup

Types defining the behaviour of a lookup index, how it is plotted and how Selectors like Between work.

A Lookup may be NoLookup indicating that there are no lookup values, Categorical for ordered or unordered categories, or a Sampled index for Points or Intervals.

source


# DimensionalData.Dimensions.Lookups.AlignedType.
julia
Aligned <: Lookup

Abstract supertype for Lookups where the lookup is aligned with the array axes.

This is by far the most common supertype for Lookup.

source


# DimensionalData.Dimensions.Lookups.AbstractSampledType.
julia
AbstractSampled <: Aligned

Abstract supertype for Lookups where the lookup is aligned with the array, and is independent of other dimensions. Sampled is provided by this package.

AbstractSampled must have order, span and sampling fields, or a rebuild method that accepts them as keyword arguments.

source


# DimensionalData.Dimensions.Lookups.SampledType.
julia
Sampled <: AbstractSampled
+using DimensionalData.Lookups

source


# DimensionalData.Dimensions.Lookups.LookupType.
julia
Lookup

Types defining the behaviour of a lookup index, how it is plotted and how Selectors like Between work.

A Lookup may be NoLookup indicating that there are no lookup values, Categorical for ordered or unordered categories, or a Sampled index for Points or Intervals.

source


# DimensionalData.Dimensions.Lookups.AlignedType.
julia
Aligned <: Lookup

Abstract supertype for Lookups where the lookup is aligned with the array axes.

This is by far the most common supertype for Lookup.

source


# DimensionalData.Dimensions.Lookups.AbstractSampledType.
julia
AbstractSampled <: Aligned

Abstract supertype for Lookups where the lookup is aligned with the array, and is independent of other dimensions. Sampled is provided by this package.

AbstractSampled must have order, span and sampling fields, or a rebuild method that accepts them as keyword arguments.

source


# DimensionalData.Dimensions.Lookups.SampledType.
julia
Sampled <: AbstractSampled
 
 Sampled(data::AbstractVector, order::Order, span::Span, sampling::Sampling, metadata)
 Sampled(data=AutoValues(); order=AutoOrder(), span=AutoSpan(), sampling=Points(), metadata=NoMetadata())

A concrete implementation of the Lookup AbstractSampled. It can be used to represent Points or Intervals.

Sampled is capable of representing gridded data from a wide range of sources, allowing correct bounds and Selectors for points or intervals of regular, irregular, forward and reverse lookups.

On AbstractDimArray construction, Sampled lookup is assigned for all lookups of AbstractRange not assigned to Categorical.

Arguments

  • data: An AbstractVector of lookup values, matching the length of the curresponding array axis.

  • order: Order) indicating the order of the lookup, AutoOrder by default, detected from the order of data to be ForwardOrdered, ReverseOrdered or Unordered. These can be provided explicitly if they are known and performance is important.

  • span: indicates the size of intervals or distance between points, and will be set to Regular for AbstractRange and Irregular for AbstractArray, unless assigned manually.

  • sampling: is assigned to Points, unless set to Intervals manually. Using Intervals will change the behaviour of bounds and Selectorss to take account for the full size of the interval, rather than the point alone.

  • metadata: a Dict or Metadata wrapper that holds any metadata object adding more information about the array axis - useful for extending DimensionalData for specific contexts, like geospatial data in Rasters.jl. By default it is NoMetadata().

Example

Create an array with Interval sampling, and Regular span for a vector with known spacing.

We set the locus of the Intervals to Start specifying that the lookup values are for the locus at the start of each interval.

julia
using DimensionalData, DimensionalData.Lookups
@@ -40,9 +40,9 @@
   80    1.0  1.0  1.0   1.0
   60    1.0  1.0  1.0   1.0
   40    1.0  1.0  1.0   1.0
-  20    1.0  1.0  1.0   1.0

source


# DimensionalData.Dimensions.Lookups.AbstractCyclicType.
julia
AbstractCyclic <: AbstractSampled

An abstract supertype for cyclic lookups.

These are AbstractSampled lookups that are cyclic for Selectors.

source


# DimensionalData.Dimensions.Lookups.CyclicType.
julia
Cyclic <: AbstractCyclic
+  20    1.0  1.0  1.0   1.0

source


# DimensionalData.Dimensions.Lookups.AbstractCyclicType.
julia
AbstractCyclic <: AbstractSampled

An abstract supertype for cyclic lookups.

These are AbstractSampled lookups that are cyclic for Selectors.

source


# DimensionalData.Dimensions.Lookups.CyclicType.
julia
Cyclic <: AbstractCyclic
 
-Cyclic(data; order=AutoOrder(), span=AutoSpan(), sampling=Points(), metadata=NoMetadata(), cycle)

A Cyclic lookup is similar to Sampled but out of range Selectors At, Near, Contains will cycle the values to typemin or typemax over the length of cycle. Where and .. work as for Sampled.

This is useful when we are using mean annual datasets over a real time-span, or for wrapping longitudes so that -360 and 360 are the same.

Arguments

  • data: An AbstractVector of lookup values, matching the length of the curresponding array axis.

  • order: Order) indicating the order of the lookup, AutoOrder by default, detected from the order of data to be ForwardOrdered, ReverseOrdered or Unordered. These can be provided explicitly if they are known and performance is important.

  • span: indicates the size of intervals or distance between points, and will be set to Regular for AbstractRange and Irregular for AbstractArray, unless assigned manually.

  • sampling: is assigned to Points, unless set to Intervals manually. Using Intervals will change the behaviour of bounds and Selectorss to take account for the full size of the interval, rather than the point alone.

  • metadata: a Dict or Metadata wrapper that holds any metadata object adding more information about the array axis - useful for extending DimensionalData for specific contexts, like geospatial data in Rasters.jl. By default it is NoMetadata().

  • cycle: the length of the cycle. This does not have to exactly match the data, the step size is Week(1) the cycle can be Years(1).

Notes

  1. If you use dates and e.g. cycle over a Year, every year will have the number and spacing of Weeks and Days as the cycle year. Using At may not be reliable in terms of exact dates, as it will be applied to the specified date plus or minus n years.

  2. Indexing into a Cycled with any AbstractArray or AbstractRange will return a Sampled as the full cycle is likely no longer available.

  3. .. or Between selectors do not work in a cycled way: they work as for Sampled. This may change in future to return cycled values, but there are problems with this, such as leap years breaking correct date cycling of a single year. If you actually need this behaviour, please make a GitHub issue.

source


# DimensionalData.Dimensions.Lookups.AbstractCategoricalType.
julia
AbstractCategorical <: Aligned

Lookups where the values are categories.

Categorical is the provided concrete implementation. But this can easily be extended, all methods are defined for AbstractCategorical.

All AbstractCategorical must provide a rebuild method with data, order and metadata keyword arguments.

source


# DimensionalData.Dimensions.Lookups.CategoricalType.
julia
Categorical <: AbstractCategorical
+Cyclic(data; order=AutoOrder(), span=AutoSpan(), sampling=Points(), metadata=NoMetadata(), cycle)

A Cyclic lookup is similar to Sampled but out of range Selectors At, Near, Contains will cycle the values to typemin or typemax over the length of cycle. Where and .. work as for Sampled.

This is useful when we are using mean annual datasets over a real time-span, or for wrapping longitudes so that -360 and 360 are the same.

Arguments

  • data: An AbstractVector of lookup values, matching the length of the curresponding array axis.

  • order: Order) indicating the order of the lookup, AutoOrder by default, detected from the order of data to be ForwardOrdered, ReverseOrdered or Unordered. These can be provided explicitly if they are known and performance is important.

  • span: indicates the size of intervals or distance between points, and will be set to Regular for AbstractRange and Irregular for AbstractArray, unless assigned manually.

  • sampling: is assigned to Points, unless set to Intervals manually. Using Intervals will change the behaviour of bounds and Selectorss to take account for the full size of the interval, rather than the point alone.

  • metadata: a Dict or Metadata wrapper that holds any metadata object adding more information about the array axis - useful for extending DimensionalData for specific contexts, like geospatial data in Rasters.jl. By default it is NoMetadata().

  • cycle: the length of the cycle. This does not have to exactly match the data, the step size is Week(1) the cycle can be Years(1).

Notes

  1. If you use dates and e.g. cycle over a Year, every year will have the number and spacing of Weeks and Days as the cycle year. Using At may not be reliable in terms of exact dates, as it will be applied to the specified date plus or minus n years.

  2. Indexing into a Cycled with any AbstractArray or AbstractRange will return a Sampled as the full cycle is likely no longer available.

  3. .. or Between selectors do not work in a cycled way: they work as for Sampled. This may change in future to return cycled values, but there are problems with this, such as leap years breaking correct date cycling of a single year. If you actually need this behaviour, please make a GitHub issue.

source


# DimensionalData.Dimensions.Lookups.AbstractCategoricalType.
julia
AbstractCategorical <: Aligned

Lookups where the values are categories.

Categorical is the provided concrete implementation. But this can easily be extended, all methods are defined for AbstractCategorical.

All AbstractCategorical must provide a rebuild method with data, order and metadata keyword arguments.

source


# DimensionalData.Dimensions.Lookups.CategoricalType.
julia
Categorical <: AbstractCategorical
 
 Categorical(o::Order)
 Categorical(; order=Unordered())

A Lookup where the values are categories.

This will be automatically assigned if the lookup contains AbstractString, Symbol or Char. Otherwise it can be assigned manually.

Order will be determined automatically where possible.

Arguments

  • data: An AbstractVector matching the length of the corresponding array axis.

  • order: Order) indicating the order of the lookup, AutoOrder by default, detected from the order of data to be ForwardOrdered, ReverseOrdered or Unordered. Can be provided if this is known and performance is important.

  • metadata: a Dict or Metadata wrapper that holds any metadata object adding more information about the array axis - useful for extending DimensionalData for specific contexts, like geospatial data in Rasters.jl. By default it is NoMetadata().

Example

Create an array with [Interval] sampling.

julia
using DimensionalData
@@ -54,7 +54,7 @@
 # output
 
 Categorical{String} ["one", "two", "three"] Unordered,
-Categorical{Symbol} [:a, :b, :c, :d] ForwardOrdered

source


# DimensionalData.Dimensions.Lookups.UnalignedType.
julia
Unaligned <: Lookup

Abstract supertype for Lookup where the lookup is not aligned to the grid.

Indexing an Unaligned with Selectors must provide all other Unaligned dimensions.

source


# DimensionalData.Dimensions.Lookups.TransformedType.
julia
Transformed <: Unaligned
+Categorical{Symbol} [:a, :b, :c, :d] ForwardOrdered

source


# DimensionalData.Dimensions.Lookups.UnalignedType.
julia
Unaligned <: Lookup

Abstract supertype for Lookup where the lookup is not aligned to the grid.

Indexing an Unaligned with Selectors must provide all other Unaligned dimensions.

source


# DimensionalData.Dimensions.Lookups.TransformedType.
julia
Transformed <: Unaligned
 
 Transformed(f, dim::Dimension; metadata=NoMetadata())

Lookup that uses an affine transformation to convert dimensions from dims(lookup) to dims(array). This can be useful when the dimensions are e.g. rotated from a more commonly used axis.

Any function can be used to do the transformation, but transformations from CoordinateTransformations.jl may be useful.

Arguments

  • f: transformation function

  • dim: a dimension to transform to.

Keyword Arguments

  • metadata:

Example

julia
using DimensionalData, DimensionalData.Lookups, CoordinateTransformations
 
@@ -67,9 +67,9 @@
 da[X(At(6.0)), Y(At(2.0))]
 
 # output
-9

source


# DimensionalData.Dimensions.MergedLookupType.
julia
MergedLookup <: Lookup
+9

source


# DimensionalData.Dimensions.MergedLookupType.
julia
MergedLookup <: Lookup
 
-MergedLookup(data, dims; [metadata])

A Lookup that holds multiple combined dimensions.

MergedLookup can be indexed with Selectors like At, Between, and Where although Near has undefined meaning.

Arguments

  • data: A Vector of Tuple.

  • dims: A Tuple of Dimension indicating the dimensions in the tuples in data.

Keywords

  • metadata: a Dict or Metadata object to attach dimension metadata.

source


# DimensionalData.Dimensions.Lookups.NoLookupType.
julia
NoLookup <: Lookup
+MergedLookup(data, dims; [metadata])

A Lookup that holds multiple combined dimensions.

MergedLookup can be indexed with Selectors like At, Between, and Where although Near has undefined meaning.

Arguments

  • data: A Vector of Tuple.

  • dims: A Tuple of Dimension indicating the dimensions in the tuples in data.

Keywords

  • metadata: a Dict or Metadata object to attach dimension metadata.

source


# DimensionalData.Dimensions.Lookups.NoLookupType.
julia
NoLookup <: Lookup
 
 NoLookup()

A Lookup that is identical to the array axis. Selectors can't be used on this lookup.

Example

Defining a DimArray without passing lookup values to the dimensions, it will be assigned NoLookup:

julia
using DimensionalData
 
@@ -84,26 +84,26 @@
 
 # output
 
-NoLookup, NoLookup

source


# DimensionalData.Dimensions.Lookups.AutoLookupType.
julia
AutoLookup <: Lookup
+NoLookup, NoLookup

source


# DimensionalData.Dimensions.Lookups.AutoLookupType.
julia
AutoLookup <: Lookup
 
 AutoLookup()
-AutoLookup(values=AutoValues(); kw...)

Automatic Lookup, the default lookup. It will be converted automatically to another Lookup when it is possible to detect it from the lookup values.

Keywords will be used in the detected Lookup constructor.

source


# DimensionalData.Dimensions.Lookups.AutoValuesType.
julia
AutoValues

Detect Lookup values from the context. This is used in NoLookup to simply use the array axis as the index when the array is constructed, and in set to change the Lookup type without changing the index values.

source


The generic value getter val

# DimensionalData.Dimensions.Lookups.valFunction.
julia
val(x)
-val(dims::Tuple) => Tuple

Return the contained value of a wrapper object.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

Objects that don't define a val method are returned unaltered.

source


Lookup methods:

# DimensionalData.Dimensions.Lookups.boundsFunction.
julia
bounds(xs, [dims::Tuple]) => Tuple{Vararg{Tuple{T,T}}}
+AutoLookup(values=AutoValues(); kw...)

Automatic Lookup, the default lookup. It will be converted automatically to another Lookup when it is possible to detect it from the lookup values.

Keywords will be used in the detected Lookup constructor.

source


# DimensionalData.Dimensions.Lookups.AutoValuesType.
julia
AutoValues

Detect Lookup values from the context. This is used in NoLookup to simply use the array axis as the index when the array is constructed, and in set to change the Lookup type without changing the index values.

source


The generic value getter val

# DimensionalData.Dimensions.Lookups.valFunction.
julia
val(x)
+val(dims::Tuple) => Tuple

Return the contained value of a wrapper object.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

Objects that don't define a val method are returned unaltered.

source


Lookup methods:

# DimensionalData.Dimensions.Lookups.boundsFunction.
julia
bounds(xs, [dims::Tuple]) => Tuple{Vararg{Tuple{T,T}}}
 bounds(xs::Tuple) => Tuple{Vararg{Tuple{T,T}}}
 bounds(x, dim) => Tuple{T,T}
-bounds(dim::Union{Dimension,Lookup}) => Tuple{T,T}

Return the bounds of all dimensions of an object, of a specific dimension, or of a tuple of dimensions.

If bounds are not known, one or both values may be nothing.

dims can be a Dimension, a dimension type, or a tuple of either.

source


# DimensionalData.Dimensions.Lookups.hasselectionFunction.
julia
hasselection(x, selector) => Bool
-hasselection(x, selectors::Tuple) => Bool

Check if indexing into x with selectors can be performed, where x is some object with a dims method, and selectors is a Selector or Dimension or a tuple of either.

source


# DimensionalData.Dimensions.Lookups.samplingFunction.
julia
sampling(x, [dims::Tuple]) => Tuple
+bounds(dim::Union{Dimension,Lookup}) => Tuple{T,T}

Return the bounds of all dimensions of an object, of a specific dimension, or of a tuple of dimensions.

If bounds are not known, one or both values may be nothing.

dims can be a Dimension, a dimension type, or a tuple of either.

source


# DimensionalData.Dimensions.Lookups.hasselectionFunction.
julia
hasselection(x, selector) => Bool
+hasselection(x, selectors::Tuple) => Bool

Check if indexing into x with selectors can be performed, where x is some object with a dims method, and selectors is a Selector or Dimension or a tuple of either.

source


# DimensionalData.Dimensions.Lookups.samplingFunction.
julia
sampling(x, [dims::Tuple]) => Tuple
 sampling(x, dim) => Sampling
 sampling(xs::Tuple) => Tuple{Vararg{Sampling}}
-sampling(x:Union{Dimension,Lookup}) => Sampling

Return the Sampling for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.Lookups.spanFunction.
julia
span(x, [dims::Tuple]) => Tuple
+sampling(x:Union{Dimension,Lookup}) => Sampling

Return the Sampling for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.Lookups.spanFunction.
julia
span(x, [dims::Tuple]) => Tuple
 span(x, dim) => Span
 span(xs::Tuple) => Tuple{Vararg{Span,N}}
-span(x::Union{Dimension,Lookup}) => Span

Return the Span for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.Lookups.orderFunction.
julia
order(x, [dims::Tuple]) => Tuple
+span(x::Union{Dimension,Lookup}) => Span

Return the Span for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.Lookups.orderFunction.
julia
order(x, [dims::Tuple]) => Tuple
 order(xs::Tuple) => Tuple
-order(x::Union{Dimension,Lookup}) => Order

Return the Ordering of the dimension lookup for each dimension: ForwardOrdered, ReverseOrdered, or Unordered

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.Lookups.locusFunction.
julia
locus(x, [dims::Tuple]) => Tuple
+order(x::Union{Dimension,Lookup}) => Order

Return the Ordering of the dimension lookup for each dimension: ForwardOrdered, ReverseOrdered, or Unordered

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.Lookups.locusFunction.
julia
locus(x, [dims::Tuple]) => Tuple
 locus(x, dim) => Locus
 locus(xs::Tuple) => Tuple{Vararg{Locus,N}}
-locus(x::Union{Dimension,Lookup}) => Locus

Return the Position of lookup values for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.Lookups.shiftlocusFunction.
julia
shiftlocus(locus::Locus, x)

Shift the values of x from the current locus to the new locus.

We only shift Sampled, Regular or Explicit, Intervals.

source


Selectors

# DimensionalData.Dimensions.Lookups.SelectorType.
julia
Selector

Abstract supertype for all selectors.

Selectors are wrappers that indicate that passed values are not the array indices, but values to be selected from the dimension index, such as DateTime objects for a Ti dimension.

Selectors provided in DimensionalData are:

Note: Selectors can be modified using:

  • Not: as in Not(At(x))

And IntervalSets.jl Interval can be used instead of Between

  • ..

  • Interval

  • OpenInterval

  • ClosedInterval

source


# DimensionalData.Dimensions.Lookups.IntSelectorType.
julia
IntSelector <: Selector

Abstract supertype for Selectors that return a single Int index.

IntSelectors provided by DimensionalData are:

source


# DimensionalData.Dimensions.Lookups.ArraySelectorType.
julia
ArraySelector <: Selector

Abstract supertype for Selectors that return an AbstractArray.

ArraySelectors provided by DimensionalData are:

source


# DimensionalData.Dimensions.Lookups.AtType.
julia
At <: IntSelector
+locus(x::Union{Dimension,Lookup}) => Locus

Return the Position of lookup values for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.Lookups.shiftlocusFunction.
julia
shiftlocus(locus::Locus, x)

Shift the values of x from the current locus to the new locus.

We only shift Sampled, Regular or Explicit, Intervals.

source


Selectors

# DimensionalData.Dimensions.Lookups.SelectorType.
julia
Selector

Abstract supertype for all selectors.

Selectors are wrappers that indicate that passed values are not the array indices, but values to be selected from the dimension index, such as DateTime objects for a Ti dimension.

Selectors provided in DimensionalData are:

Note: Selectors can be modified using:

  • Not: as in Not(At(x))

And IntervalSets.jl Interval can be used instead of Between

  • ..

  • Interval

  • OpenInterval

  • ClosedInterval

source


# DimensionalData.Dimensions.Lookups.IntSelectorType.
julia
IntSelector <: Selector

Abstract supertype for Selectors that return a single Int index.

IntSelectors provided by DimensionalData are:

source


# DimensionalData.Dimensions.Lookups.ArraySelectorType.
julia
ArraySelector <: Selector

Abstract supertype for Selectors that return an AbstractArray.

ArraySelectors provided by DimensionalData are:

source


# DimensionalData.Dimensions.Lookups.AtType.
julia
At <: IntSelector
 
 At(x, atol, rtol)
 At(x; atol=nothing, rtol=nothing)

Selector that exactly matches the value on the passed-in dimensions, or throws an error. For ranges and arrays, every intermediate value must match an existing value - not just the end points.

x can be any value or Vector of values.

atol and rtol are passed to isapprox. For Number rtol will be set to Base.rtoldefault, otherwise nothing, and wont be used.

Example

julia
using DimensionalData
@@ -113,7 +113,7 @@
 
 # output
 
-5

source


# DimensionalData.Dimensions.Lookups.NearType.
julia
Near <: IntSelector
+5

source


# DimensionalData.Dimensions.Lookups.NearType.
julia
Near <: IntSelector
 
 Near(x)

Selector that selects the nearest index to x.

With Points this is simply the index values nearest to the x, however with Intervals it is the interval center nearest to x. This will be offset from the index value for Start and End locus.

Example

julia
using DimensionalData
 
@@ -121,7 +121,7 @@
 A[X(Near(23)), Y(Near(5.1))]
 
 # output
-4

source


# DimensionalData.Dimensions.Lookups.BetweenType.
julia
Between <: ArraySelector
+4

source


# DimensionalData.Dimensions.Lookups.BetweenType.
julia
Between <: ArraySelector
 
 Between(a, b)

Depreciated: use a..b instead of Between(a, b). Other Interval objects from IntervalSets.jl, like `OpenInterval(a, b) will also work, giving the correct open/closed boundaries.

Between will e removed in future to avoid clashes with DataFrames.Between.

Selector that retrieve all indices located between 2 values, evaluated with >= for the lower value, and < for the upper value. This means the same value will not be counted twice in 2 adjacent Between selections.

For Intervals the whole interval must be lie between the values. For Points the points must fall between the values. Different Sampling types may give different results with the same input - this is the intended behaviour.

Between for Irregular intervals is a little complicated. The interval is the distance between a value and the next (for Start locus) or previous (for End locus) value.

For Center, we take the mid point between two index values as the start and end of each interval. This may or may not make sense for the values in your index, so use Between with Irregular Intervals(Center()) with caution.

Example

julia
using DimensionalData
 
@@ -137,7 +137,7 @@
  Y Sampled{Int64} 5:6 ForwardOrdered Regular Points
 └────────────────────────────────────────────────────────────┘
   5  6
- 20    4  5

source


# DimensionalData.Dimensions.Lookups.TouchesType.
julia
Touches <: ArraySelector
+ 20    4  5

source


# DimensionalData.Dimensions.Lookups.TouchesType.
julia
Touches <: ArraySelector
 
 Touches(a, b)

Selector that retrieves all indices touching the closed interval 2 values, for the maximum possible area that could interact with the supplied range.

This can be better than .. when e.g. subsetting an area to rasterize, as you may wish to include pixels that just touch the area, rather than those that fall within it.

Touches is different to using closed intervals when the lookups also contain intervals - if any of the intervals touch, they are included. With .. they are discarded unless the whole cell interval falls inside the selector interval.

Example

julia
using DimensionalData
 
@@ -152,7 +152,7 @@
  Y Sampled{Int64} 5:6 ForwardOrdered Regular Points
 └────────────────────────────────────────────────────────────┘
   5  6
- 20    4  5

source


# DimensionalData.Dimensions.Lookups.ContainsType.
julia
Contains <: IntSelector
+ 20    4  5

source


# DimensionalData.Dimensions.Lookups.ContainsType.
julia
Contains <: IntSelector
 
 Contains(x)

Selector that selects the interval the value is contained by. If the interval is not present in the index, an error will be thrown.

Can only be used for Intervals or Categorical. For Categorical it falls back to using At. Contains should not be confused with Base.contains - use Where(contains(x)) to check for if values are contain in categorical values like strings.

Example

julia
using DimensionalData; const DD = DimensionalData
 dims_ = X(10:10:20; sampling=DD.Intervals(DD.Center())),
@@ -161,7 +161,7 @@
 A[X(Contains(8)), Y(Contains(6.8))]
 
 # output
-3

source


# DimensionalData.Dimensions.Lookups.WhereType.
julia
Where <: ArraySelector
+3

source


# DimensionalData.Dimensions.Lookups.WhereType.
julia
Where <: ArraySelector
 
 Where(f::Function)

Selector that filters a dimension lookup by any function that accepts a single value and returns a Bool.

Example

julia
using DimensionalData
 
@@ -177,7 +177,7 @@
  Y Sampled{Int64} [19, 21] ForwardOrdered Irregular Points
 └─────────────────────────────────────────────────────────────┘
   19  21
- 20     4   6

source


# DimensionalData.Dimensions.Lookups.AllType.
julia
All <: Selector
+ 20     4   6

source


# DimensionalData.Dimensions.Lookups.AllType.
julia
All <: Selector
 
 All(selectors::Selector...)

Selector that combines the results of other selectors. The indices used will be the union of all result sorted in ascending order.

Example

julia
using DimensionalData, Unitful
 
@@ -195,46 +195,46 @@
 └──────────────────────────────────────────────────────────────────────────────┘
   1 s  6 s  91 s  96 s
  10.0    1    2    19    20
- 50.0    3    6    57    60

source


Lookup traits

# DimensionalData.Dimensions.Lookups.LookupTraitType.
julia
LookupTrait

Abstract supertype of all traits of a Lookup.

These modify the behaviour of the lookup index.

The term "Trait" is used loosely - these may be fields of an object of traits hard-coded to specific types.

source


Order

# DimensionalData.Dimensions.Lookups.OrderType.
julia
Order <: LookupTrait

Traits for the order of a Lookup. These determine how searchsorted finds values in the index, and how objects are plotted.

source


# DimensionalData.Dimensions.Lookups.OrderedType.
julia
Ordered <: Order

Supertype for the order of an ordered Lookup, including ForwardOrdered and ReverseOrdered.

source


# DimensionalData.Dimensions.Lookups.ForwardOrderedType.
julia
ForwardOrdered <: Ordered
+ 50.0    3    6    57    60

source


Lookup traits

# DimensionalData.Dimensions.Lookups.LookupTraitType.
julia
LookupTrait

Abstract supertype of all traits of a Lookup.

These modify the behaviour of the lookup index.

The term "Trait" is used loosely - these may be fields of an object of traits hard-coded to specific types.

source


Order

# DimensionalData.Dimensions.Lookups.OrderType.
julia
Order <: LookupTrait

Traits for the order of a Lookup. These determine how searchsorted finds values in the index, and how objects are plotted.

source


# DimensionalData.Dimensions.Lookups.OrderedType.
julia
Ordered <: Order

Supertype for the order of an ordered Lookup, including ForwardOrdered and ReverseOrdered.

source


# DimensionalData.Dimensions.Lookups.ForwardOrderedType.
julia
ForwardOrdered <: Ordered
 
-ForwardOrdered()

Indicates that the Lookup index is in the normal forward order.

source


# DimensionalData.Dimensions.Lookups.ReverseOrderedType.
julia
ReverseOrdered <: Ordered
+ForwardOrdered()

Indicates that the Lookup index is in the normal forward order.

source


# DimensionalData.Dimensions.Lookups.ReverseOrderedType.
julia
ReverseOrdered <: Ordered
 
-ReverseOrdered()

Indicates that the Lookup index is in the reverse order.

source


# DimensionalData.Dimensions.Lookups.UnorderedType.
julia
Unordered <: Order
+ReverseOrdered()

Indicates that the Lookup index is in the reverse order.

source


# DimensionalData.Dimensions.Lookups.UnorderedType.
julia
Unordered <: Order
 
-Unordered()

Indicates that Lookup is unordered.

This means the index cannot be searched with searchsortedfirst or similar optimised methods - instead it will use findfirst.

source


# DimensionalData.Dimensions.Lookups.AutoOrderType.
julia
AutoOrder <: Order
+Unordered()

Indicates that Lookup is unordered.

This means the index cannot be searched with searchsortedfirst or similar optimised methods - instead it will use findfirst.

source


# DimensionalData.Dimensions.Lookups.AutoOrderType.
julia
AutoOrder <: Order
 
-AutoOrder()

Specifies that the Order of a Lookup will be found automatically where possible.

source


Span

# DimensionalData.Dimensions.Lookups.SpanType.
julia
Span <: LookupTrait

Defines the type of span used in a Sampling index. These are Regular or Irregular.

source


# DimensionalData.Dimensions.Lookups.RegularType.
julia
Regular <: Span
+AutoOrder()

Specifies that the Order of a Lookup will be found automatically where possible.

source


Span

# DimensionalData.Dimensions.Lookups.SpanType.
julia
Span <: LookupTrait

Defines the type of span used in a Sampling index. These are Regular or Irregular.

source


# DimensionalData.Dimensions.Lookups.RegularType.
julia
Regular <: Span
 
-Regular(step=AutoStep())

Points or Intervals that have a fixed, regular step.

source


# DimensionalData.Dimensions.Lookups.IrregularType.
julia
Irregular <: Span
+Regular(step=AutoStep())

Points or Intervals that have a fixed, regular step.

source


# DimensionalData.Dimensions.Lookups.IrregularType.
julia
Irregular <: Span
 
 Irregular(bounds::Tuple)
-Irregular(lowerbound, upperbound)

Points or Intervals that have an Irregular step size. To enable bounds tracking and accurate selectors, the starting bounds are provided as a 2 tuple, or 2 arguments. (nothing, nothing) is acceptable input, the bounds will be guessed from the index, but may be inaccurate.

source


# DimensionalData.Dimensions.Lookups.ExplicitType.
julia
Explicit(bounds::AbstractMatrix)

Intervals where the span is explicitly listed for every interval.

This uses a matrix where with length 2 columns for each index value, holding the lower and upper bounds for that specific index.

source


# DimensionalData.Dimensions.Lookups.AutoSpanType.
julia
AutoSpan <: Span
+Irregular(lowerbound, upperbound)

Points or Intervals that have an Irregular step size. To enable bounds tracking and accurate selectors, the starting bounds are provided as a 2 tuple, or 2 arguments. (nothing, nothing) is acceptable input, the bounds will be guessed from the index, but may be inaccurate.

source


# DimensionalData.Dimensions.Lookups.ExplicitType.
julia
Explicit(bounds::AbstractMatrix)

Intervals where the span is explicitly listed for every interval.

This uses a matrix where with length 2 columns for each index value, holding the lower and upper bounds for that specific index.

source


# DimensionalData.Dimensions.Lookups.AutoSpanType.
julia
AutoSpan <: Span
 
-AutoSpan()

The span will be guessed and replaced in format or set.

source


Sampling

# DimensionalData.Dimensions.Lookups.SamplingType.
julia
Sampling <: LookupTrait

Indicates the sampling method used by the index: Points or Intervals.

source


# DimensionalData.Dimensions.Lookups.PointsType.
julia
Points <: Sampling
+AutoSpan()

The span will be guessed and replaced in format or set.

source


Sampling

# DimensionalData.Dimensions.Lookups.SamplingType.
julia
Sampling <: LookupTrait

Indicates the sampling method used by the index: Points or Intervals.

source


# DimensionalData.Dimensions.Lookups.PointsType.
julia
Points <: Sampling
 
-Points()

Sampling lookup where single samples at exact points.

These are always plotted at the center of array cells.

source


# DimensionalData.Dimensions.Lookups.IntervalsType.
julia
Intervals <: Sampling
+Points()

Sampling lookup where single samples at exact points.

These are always plotted at the center of array cells.

source


# DimensionalData.Dimensions.Lookups.IntervalsType.
julia
Intervals <: Sampling
 
-Intervals(locus::Position)

Sampling specifying that sampled values are the mean (or similar) value over an interval, rather than at one specific point.

Intervals require a locus of Start, Center or End to define the location in the interval that the index values refer to.

source


Positions

# DimensionalData.Dimensions.Lookups.PositionType.
julia
Position <: LookupTrait

Abstract supertype of types that indicate the locus of index values where they represent Intervals.

These allow for values array cells to align with the Start, Center, or End of values in the lookup index.

This means they can be plotted with correct axis markers, and allows automatic conversions to between formats with different standards (such as NetCDF and GeoTiff).

source


# DimensionalData.Dimensions.Lookups.CenterType.
julia
Center <: Position
+Intervals(locus::Position)

Sampling specifying that sampled values are the mean (or similar) value over an interval, rather than at one specific point.

Intervals require a locus of Start, Center or End to define the location in the interval that the index values refer to.

source


Positions

# DimensionalData.Dimensions.Lookups.PositionType.
julia
Position <: LookupTrait

Abstract supertype of types that indicate the locus of index values where they represent Intervals.

These allow for values array cells to align with the Start, Center, or End of values in the lookup index.

This means they can be plotted with correct axis markers, and allows automatic conversions to between formats with different standards (such as NetCDF and GeoTiff).

source


# DimensionalData.Dimensions.Lookups.CenterType.
julia
Center <: Position
 
-Center()

Used to specify lookup values correspond to the center locus in an interval.

source


# DimensionalData.Dimensions.Lookups.StartType.
julia
Start <: Position
+Center()

Used to specify lookup values correspond to the center locus in an interval.

source


# DimensionalData.Dimensions.Lookups.StartType.
julia
Start <: Position
 
-Start()

Used to specify lookup values correspond to the start locus of an interval.

source


# DimensionalData.Dimensions.Lookups.BeginType.
julia
Begin <: Position
+Start()

Used to specify lookup values correspond to the start locus of an interval.

source


# DimensionalData.Dimensions.Lookups.BeginType.
julia
Begin <: Position
 
-Begin()

Used to specify the begin index of a Dimension axis, as regular begin will not work with named dimensions.

Can be used with : to create a BeginEndRange or BeginEndStepRange.

source


# DimensionalData.Dimensions.Lookups.EndType.
julia
End <: Position
+Begin()

Used to specify the begin index of a Dimension axis, as regular begin will not work with named dimensions.

Can be used with : to create a BeginEndRange or BeginEndStepRange.

source


# DimensionalData.Dimensions.Lookups.EndType.
julia
End <: Position
 
-End()

Used to specify the end index of a Dimension axis, as regular end will not work with named dimensions. Can be used with : to create a BeginEndRange or BeginEndStepRange.

Also used to specify lookup values correspond to the end locus of an interval.

source


# DimensionalData.Dimensions.Lookups.AutoPositionType.
julia
AutoPosition <: Position
+End()

Used to specify the end index of a Dimension axis, as regular end will not work with named dimensions. Can be used with : to create a BeginEndRange or BeginEndStepRange.

Also used to specify lookup values correspond to the end locus of an interval.

source


# DimensionalData.Dimensions.Lookups.AutoPositionType.
julia
AutoPosition <: Position
 
-AutoPosition()

Indicates a interval where the index locus is not yet known. This will be filled with a default value on object construction.

source


Metadata

# DimensionalData.Dimensions.Lookups.AbstractMetadataType.
julia
AbstractMetadata{X,T}

Abstract supertype for all metadata wrappers.

Metadata wrappers allow tracking the contents and origin of metadata. This can facilitate conversion between metadata types (for saving a file to a different format) or simply saving data back to the same file type with identical metadata.

Using a wrapper instead of Dict or NamedTuple also lets us pass metadata objects to set without ambiguity about where to put them.

source


# DimensionalData.Dimensions.Lookups.MetadataType.
julia
Metadata <: AbstractMetadata
+AutoPosition()

Indicates a interval where the index locus is not yet known. This will be filled with a default value on object construction.

source


Metadata

# DimensionalData.Dimensions.Lookups.AbstractMetadataType.
julia
AbstractMetadata{X,T}

Abstract supertype for all metadata wrappers.

Metadata wrappers allow tracking the contents and origin of metadata. This can facilitate conversion between metadata types (for saving a file to a different format) or simply saving data back to the same file type with identical metadata.

Using a wrapper instead of Dict or NamedTuple also lets us pass metadata objects to set without ambiguity about where to put them.

source


# DimensionalData.Dimensions.Lookups.MetadataType.
julia
Metadata <: AbstractMetadata
 
 Metadata{X}(val::Union{Dict,NamedTuple})
 Metadata{X}(pairs::Pair...) => Metadata{Dict}
-Metadata{X}(; kw...) => Metadata{NamedTuple}

General Metadata object. The X type parameter categorises the metadata for method dispatch, if required.

source


# DimensionalData.Dimensions.Lookups.NoMetadataType.
julia
NoMetadata <: AbstractMetadata
+Metadata{X}(; kw...) => Metadata{NamedTuple}

General Metadata object. The X type parameter categorises the metadata for method dispatch, if required.

source


# DimensionalData.Dimensions.Lookups.NoMetadataType.
julia
NoMetadata <: AbstractMetadata
 
-NoMetadata()

Indicates an object has no metadata. But unlike using nothing, get, keys and haskey will still work on it, get always returning the fallback argument. keys returns () while haskey always returns false.

source


# DimensionalData.Dimensions.Lookups.unitsFunction.
julia
units(x) => Union{Nothing,Any}
+NoMetadata()

Indicates an object has no metadata. But unlike using nothing, get, keys and haskey will still work on it, get always returning the fallback argument. keys returns () while haskey always returns false.

source


# DimensionalData.Dimensions.Lookups.unitsFunction.
julia
units(x) => Union{Nothing,Any}
 units(xs:Tuple) => Tuple
 unit(A::AbstractDimArray, dims::Tuple) => Tuple
-unit(A::AbstractDimArray, dim) => Union{Nothing,Any}

Get the units of an array or Dimension, or a tuple of of either.

Units do not have a set field, and may or may not be included in metadata. This method is to facilitate use in labels and plots when units are available, not a guarantee that they will be. If not available, nothing is returned.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


- +unit(A::AbstractDimArray, dim) => Union{Nothing,Any}

Get the units of an array or Dimension, or a tuple of of either.

Units do not have a set field, and may or may not be included in metadata. This method is to facilitate use in labels and plots when units are available, not a guarantee that they will be. If not available, nothing is returned.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


+ \ No newline at end of file diff --git a/dev/api/reference.html b/dev/api/reference.html index 7d1506b76..5dc948c8f 100644 --- a/dev/api/reference.html +++ b/dev/api/reference.html @@ -8,17 +8,17 @@ - + - - + + -
Skip to content

API Reference

Arrays

# DimensionalData.AbstractBasicDimArrayType.
julia
AbstractBasicDimArray <: AbstractArray

The abstract supertype for all arrays with a dims method that returns a Tuple of Dimension

Only keyword rebuild is guaranteed to work with AbstractBasicDimArray.

source


# DimensionalData.AbstractDimArrayType.
julia
AbstractDimArray <: AbstractBasicArray

Abstract supertype for all "dim" arrays.

These arrays return a Tuple of Dimension from a dims method, and can be rebuilt using rebuild.

parent must return the source array.

They should have metadata, name and refdims methods, although these are optional.

A rebuild method for AbstractDimArray must accept data, dims, refdims, name, metadata arguments.

Indexing AbstractDimArray with non-range AbstractArray has undefined effects on the Dimension index. Use forward-ordered arrays only"

source


# DimensionalData.DimArrayType.
julia
DimArray <: AbstractDimArray
+    
Skip to content

API Reference

Arrays

# DimensionalData.AbstractBasicDimArrayType.
julia
AbstractBasicDimArray <: AbstractArray

The abstract supertype for all arrays with a dims method that returns a Tuple of Dimension

Only keyword rebuild is guaranteed to work with AbstractBasicDimArray.

source


# DimensionalData.AbstractDimArrayType.
julia
AbstractDimArray <: AbstractBasicArray

Abstract supertype for all "dim" arrays.

These arrays return a Tuple of Dimension from a dims method, and can be rebuilt using rebuild.

parent must return the source array.

They should have metadata, name and refdims methods, although these are optional.

A rebuild method for AbstractDimArray must accept data, dims, refdims, name, metadata arguments.

Indexing AbstractDimArray with non-range AbstractArray has undefined effects on the Dimension index. Use forward-ordered arrays only"

source


# DimensionalData.DimArrayType.
julia
DimArray <: AbstractDimArray
 
 DimArray(data, dims, refdims, name, metadata)
 DimArray(data, dims::Tuple; refdims=(), name=NoName(), metadata=NoMetadata())

The main concrete subtype of AbstractDimArray.

DimArray maintains and updates its Dimensions through transformations and moves dimensions to reference dimension refdims after reducing operations (like e.g. mean).

Arguments

  • data: An AbstractArray.

  • dims: A Tuple of Dimension

  • name: A string name for the array. Shows in plots and tables.

  • refdims: refence dimensions. Usually set programmatically to track past slices and reductions of dimension for labelling and reconstruction.

  • metadata: Dict or Metadata object, or NoMetadata()

Indexing can be done with all regular indices, or with Dimensions and/or Selectors.

Indexing AbstractDimArray with non-range AbstractArray has undefined effects on the Dimension index. Use forward-ordered arrays only"

Example:

julia
julia> using Dates, DimensionalData
@@ -47,7 +47,7 @@
  20  0.774092
  30  0.823656
  40  0.637077
- 50  0.692235

source


Shorthand AbstractDimArray constructors:

# Base.fillFunction.
julia
Base.fill(x, dims::Dimension...; kw...) => DimArray
+ 50  0.692235

source


Shorthand AbstractDimArray constructors:

# Base.fillFunction.
julia
Base.fill(x, dims::Dimension...; kw...) => DimArray
 Base.fill(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray

Create a DimArray with a fill value of x.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData, Random; Random.seed!(123);
 
 julia> rand(Bool, X(2), Y(4))
@@ -57,7 +57,7 @@
  X,  Y
 └──────────────────────┘
  0  0  0  0
- 1  0  0  1

source


# Base.randFunction.
julia
Base.rand(x, dims::Dimension...; kw...) => DimArray
+ 1  0  0  1

source


# Base.randFunction.
julia
Base.rand(x, dims::Dimension...; kw...) => DimArray
 Base.rand(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray
 Base.rand(r::AbstractRNG, x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray
 Base.rand(r::AbstractRNG, x, dims::Dimension...; kw...) => DimArray

Create a DimArray of random values.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData
@@ -81,7 +81,7 @@
   100.0       150.0       200.0
   :a    0.443494    0.253849    0.867547
   :b    0.745673    0.334152    0.0802658
-  :c    0.512083    0.427328    0.311448

source


# Base.zerosFunction.
julia
Base.zeros(x, dims::Dimension...; kw...) => DimArray
+  :c    0.512083    0.427328    0.311448

source


# Base.zerosFunction.
julia
Base.zeros(x, dims::Dimension...; kw...) => DimArray
 Base.zeros(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray

Create a DimArray of zeros.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData
 
 julia> zeros(Bool, X(2), Y(4))
@@ -103,7 +103,7 @@
   100.0  150.0  200.0
   :a    0.0    0.0    0.0
   :b    0.0    0.0    0.0
-  :c    0.0    0.0    0.0

source


# Base.onesFunction.
julia
Base.ones(x, dims::Dimension...; kw...) => DimArray
+  :c    0.0    0.0    0.0

source


# Base.onesFunction.
julia
Base.ones(x, dims::Dimension...; kw...) => DimArray
 Base.ones(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray

Create a DimArray of ones.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData
 
 julia> ones(Bool, X(2), Y(4))
@@ -125,8 +125,8 @@
   100.0  150.0  200.0
   :a    1.0    1.0    1.0
   :b    1.0    1.0    1.0
-  :c    1.0    1.0    1.0

source


Functions for getting information from objects:

# DimensionalData.Dimensions.dimsFunction.
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
-dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
+  :c    1.0    1.0    1.0

source


Functions for getting information from objects:

# DimensionalData.Dimensions.dimsFunction.
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
+dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
 dims(x, query...) => Tuple{Vararg{Dimension}}

Get the dimension(s) matching the type(s) of the query dimension.

Lookup can be an Int or an Dimension, or a tuple containing any combination of either.

Arguments

  • x: any object with a dims method, or a Tuple of Dimension.

  • query: Tuple or a single Dimension or Dimension Type.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(2, 3, 2), (X, Y, Z))
@@ -140,13 +140,13 @@
  1.0  1.0  1.0
 
 julia> dims(A, (X, Y))
- X,  Y

source


# DimensionalData.Dimensions.refdimsFunction.
julia
refdims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
-refdims(x, dim) => Dimension

Reference dimensions for an array that is a slice or view of another array with more dimensions.

slicedims(a, dims) returns a tuple containing the current new dimensions and the new reference dimensions. Refdims can be stored in a field or discarded, as it is mostly to give context to plots. Ignoring refdims will simply leave some captions empty.

The default is to return an empty Tuple ().

source


# DimensionalData.Dimensions.Lookups.metadataFunction.
julia
metadata(x) => (object metadata)
+ X,  Y

source


# DimensionalData.Dimensions.refdimsFunction.
julia
refdims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
+refdims(x, dim) => Dimension

Reference dimensions for an array that is a slice or view of another array with more dimensions.

slicedims(a, dims) returns a tuple containing the current new dimensions and the new reference dimensions. Refdims can be stored in a field or discarded, as it is mostly to give context to plots. Ignoring refdims will simply leave some captions empty.

The default is to return an empty Tuple ().

source


# DimensionalData.Dimensions.Lookups.metadataFunction.
julia
metadata(x) => (object metadata)
 metadata(x, dims::Tuple)  => Tuple (Dimension metadata)
-metadata(xs::Tuple) => Tuple

Returns the metadata for an object or for the specified dimension(s)

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.nameFunction.
julia
name(x) => Symbol
+metadata(xs::Tuple) => Tuple

Returns the metadata for an object or for the specified dimension(s)

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.nameFunction.
julia
name(x) => Symbol
 name(xs:Tuple) => NTuple{N,Symbol}
 name(x, dims::Tuple) => NTuple{N,Symbol}
-name(x, dim) => Symbol

Get the name of an array or Dimension, or a tuple of of either as a Symbol.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.otherdimsFunction.
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
+name(x, dim) => Symbol

Get the name of an array or Dimension, or a tuple of of either as a Symbol.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.otherdimsFunction.
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
 
@@ -154,7 +154,7 @@
  Y,  Z
 
 julia> otherdims(A, (Y, Z))
- X

source


# DimensionalData.Dimensions.dimnumFunction.
julia
dimnum(x, query::Tuple) => NTuple{Int}
+ X

source


# DimensionalData.Dimensions.dimnumFunction.
julia
dimnum(x, query::Tuple) => NTuple{Int}
 dimnum(x, query) => Int

Get the number(s) of Dimension(s) as ordered in the dimensions of an object.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple, Array or single Dimension or dimension Type.

The return type will be a Tuple of Int or a single Int, depending on whether query is a Tuple or single Dimension.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
@@ -163,7 +163,7 @@
 (3, 1, 2)
 
 julia> dimnum(A, Y)
-2

source


# DimensionalData.Dimensions.hasdimFunction.
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
+2

source


# DimensionalData.Dimensions.hasdimFunction.
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
 hasdim([f], x, query...) => NTuple{Bool}
 hasdim([f], x, query) => Bool

Check if an object x has dimensions that match or inherit from the query dimensions.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

Check if an object or tuple contains an Dimension, or a tuple of dimensions.

Example

julia
julia> using DimensionalData
 
@@ -176,7 +176,7 @@
 (true, true, true)
 
 julia> hasdim(A, Ti)
-false

source


Multi-array datasets

# DimensionalData.AbstractDimStackType.
julia
AbstractDimStack

Abstract supertype for dimensional stacks.

These have multiple layers of data, but share dimensions.

Notably, their behaviour lies somewhere between a DimArray and a NamedTuple:

  • indexing with a Symbol as in dimstack[:symbol] returns a DimArray layer.

  • iteration and map apply over array layers, as indexed with a Symbol.

  • getindex and many base methods are applied as for DimArray - to avoid the need to always use map.

This design gives very succinct code when working with many-layered, mixed-dimension objects. But it may be jarring initially - the most surprising outcome is that dimstack[1] will return a NamedTuple of values for the first index in all layers, while first(dimstack) will return the first value of the iterator - the DimArray for the first layer.

See DimStack for the concrete implementation. Most methods are defined on the abstract type.

To extend AbstractDimStack, implement argument and keyword version of rebuild and also rebuild_from_arrays.

The constructor of an AbstractDimStack must accept a NamedTuple.

source


# DimensionalData.DimStackType.
julia
DimStack <: AbstractDimStack
+false

source


Multi-array datasets

# DimensionalData.AbstractDimStackType.
julia
AbstractDimStack

Abstract supertype for dimensional stacks.

These have multiple layers of data, but share dimensions.

Notably, their behaviour lies somewhere between a DimArray and a NamedTuple:

  • indexing with a Symbol as in dimstack[:symbol] returns a DimArray layer.

  • iteration and map apply over array layers, as indexed with a Symbol.

  • getindex and many base methods are applied as for DimArray - to avoid the need to always use map.

This design gives very succinct code when working with many-layered, mixed-dimension objects. But it may be jarring initially - the most surprising outcome is that dimstack[1] will return a NamedTuple of values for the first index in all layers, while first(dimstack) will return the first value of the iterator - the DimArray for the first layer.

See DimStack for the concrete implementation. Most methods are defined on the abstract type.

To extend AbstractDimStack, implement argument and keyword version of rebuild and also rebuild_from_arrays.

The constructor of an AbstractDimStack must accept a NamedTuple.

source


# DimensionalData.DimStackType.
julia
DimStack <: AbstractDimStack
 
 DimStack(data::AbstractDimArray...; kw...)
 DimStack(data::Tuple{Vararg{AbstractDimArray}}; kw...)
@@ -203,7 +203,7 @@
 (one = 4.0, two = 8.0, three = 12.0)
 
 julia> s[X(At(:a))] isa DimStack
-true

source


Dimension generators

# DimensionalData.DimIndicesType.
julia
DimIndices <: AbstractArray
+true

source


Dimension generators

# DimensionalData.DimIndicesType.
julia
DimIndices <: AbstractArray
 
 DimIndices(x)
 DimIndices(dims::Tuple)
@@ -240,7 +240,7 @@
 └─────────────────────────────────────────────────────────────────┘
    'a'       'c'
  0.0  0.9063    0.0991336
- 0.6  0.745673  0.692209

source


# DimensionalData.DimSelectorsType.
julia
DimSelectors <: AbstractArray
+ 0.6  0.745673  0.692209

source


# DimensionalData.DimSelectorsType.
julia
DimSelectors <: AbstractArray
 
 DimSelectors(x; selectors, atol...)
 DimSelectors(dims::Tuple; selectors, atol...)
@@ -258,11 +258,11 @@
   1.0        11.0       21.0
   1.0  0.691162    0.218579   0.539076
  10.0  0.0303789   0.420756   0.485687
- 22.0  0.0967863   0.864856   0.870485

Using At would make sure we only use exact interpolation, while Contains with sampling of Intervals would make sure that each values is taken only from an Interval that is present in the lookups.

source


# DimensionalData.DimPointsType.
julia
DimPoints <: AbstractArray
+ 22.0  0.0967863   0.864856   0.870485

Using At would make sure we only use exact interpolation, while Contains with sampling of Intervals would make sure that each values is taken only from an Interval that is present in the lookups.

source


# DimensionalData.DimPointsType.
julia
DimPoints <: AbstractArray
 
 DimPoints(x; order)
 DimPoints(dims::Tuple; order)
-DimPoints(dims::Dimension; order)

Like CartesianIndices, but for the point values of the dimension index. Behaves as an Array of Tuple lookup values (whatever they are) for all combinations of the lookup values of dims.

Either a Dimension, a Tuple of Dimension or an object x that defines a dims method can be passed in.

Keywords

  • order: determines the order of the points, the same as the order of dims by default.

source


Tables.jl/TableTraits.jl interface

# DimensionalData.AbstractDimTableType.
julia
AbstractDimTable <: Tables.AbstractColumns

Abstract supertype for dim tables

source


# DimensionalData.DimTableType.
julia
DimTable <: AbstractDimTable
+DimPoints(dims::Dimension; order)

Like CartesianIndices, but for the point values of the dimension index. Behaves as an Array of Tuple lookup values (whatever they are) for all combinations of the lookup values of dims.

Either a Dimension, a Tuple of Dimension or an object x that defines a dims method can be passed in.

Keywords

  • order: determines the order of the points, the same as the order of dims by default.

source


Tables.jl/TableTraits.jl interface

# DimensionalData.AbstractDimTableType.
julia
AbstractDimTable <: Tables.AbstractColumns

Abstract supertype for dim tables

source


# DimensionalData.DimTableType.
julia
DimTable <: AbstractDimTable
 
 DimTable(s::AbstractDimStack; mergedims=nothing)
 DimTable(x::AbstractDimArray; layersfrom=nothing, mergedims=nothing)
@@ -292,7 +292,7 @@
  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0     1.0  1.0  1.0  1.0  1.0  1.0  1.0
  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0
 
-julia>

source


Group by methods

For transforming DimensionalData objects:

# DataAPI.groupbyFunction.
julia
groupby(A::Union{AbstractDimArray,AbstractDimStack}, dims::Pair...)
+julia>

source


Group by methods

For transforming DimensionalData objects:

# DataAPI.groupbyFunction.
julia
groupby(A::Union{AbstractDimArray,AbstractDimStack}, dims::Pair...)
 groupby(A::Union{AbstractDimArray,AbstractDimStack}, dims::Dimension{<:Callable}...)

Group A by grouping functions or Bins over multiple dimensions.

Arguments

  • A: any AbstractDimArray or AbstractDimStack.

  • dims: Pairs such as groups = groupby(A, :dimname => groupingfunction) or wrapped Dimensions like groups = groupby(A, DimType(groupingfunction)). Instead of a grouping function Bins can be used to specify group bins.

Return value

A DimGroupByArray is returned, which is basically a regular AbstractDimArray but holding the grouped AbstractDimArray or AbstractDimStack. Its dims hold the sorted values returned by the grouping function/s.

Base julia and package methods work on DimGroupByArray as for any other AbstractArray of AbstractArray.

It is common to broadcast or map a reducing function over groups, such as mean or sum, like mean.(groups) or map(mean, groups). This will return a regular DimArray, or DimGroupByArray if dims keyword is used in the reducing function or it otherwise returns an AbstractDimArray or AbstractDimStack.

Example

Group some data along the time dimension:

julia
julia> using DimensionalData, Dates
 
 julia> A = rand(X(1:0.1:20), Y(1:20), Ti(DateTime(2000):Day(3):DateTime(2003)));
@@ -345,8 +345,8 @@
 
  10        0.501105     0.500644
  11        0.498606     0.498801
- 12        0.501643     0.499298

source


# DimensionalData.DimGroupByArrayType.
julia
DimGroupByArray <: AbstractDimArray

DimGroupByArray is essentially a DimArray but holding the results of a groupby operation.

Its dimensions are the sorted results of the grouping functions used in groupby.

This wrapper allows for specialisations on later broadcast or reducing operations, e.g. for chunk reading with DiskArrays.jl, because we know the data originates from a single array.

source


# DimensionalData.BinsType.
julia
Bins(f, bins; labels, pad)
-Bins(bins; labels, pad)

Specify bins to reduce groups after applying function f.

  • f: a grouping function of the lookup values, by default identity.

  • bins:

    • an Integer will divide the group values into equally spaced sections.

    • an AbstractArray of values will be treated as exact matches for the return value of f. For example, 1:3 will create 3 bins - 1, 2, 3.

    • an AbstractArray of IntervalSets.Interval can be used to explicitly define the intervals. Overlapping intervals have undefined behaviour.

Keywords

  • pad: fraction of the total interval to pad at each end when Bins contains an

<<<<<<< HEAD Integer. This avoids losing the edge values. Note this is a messy solution - it will often be preferable to manually specify a Vector of chosen Intervals rather than relying on passing an Integer and pad. ======= Integer. This avoids losing the edge values. Note this is a messy solution - it will often be prefereble to manually specify a Vector of chosen Intervals rather than relying on passing an Integer and pad.

parent of c54bc6c (Fix whitespace)

  • labels: a list of descriptive labels for the bins. The labels need to have the same length as bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source


# DimensionalData.rangesFunction.
julia
ranges(A::AbstractRange{<:Integer})

Generate a Vector of UnitRange with length step(A)

source


# DimensionalData.intervalsFunction.
julia
intervals(A::AbstractRange)

Generate a Vector of UnitRange with length step(A)

source


# DimensionalData.CyclicBinsType.
julia
CyclicBins(f; cycle, start, step, labels)

Cyclic bins to reduce groups after applying function f. Groups can wrap around the cycle. This is used for grouping in seasons, months and hours but can also be used for custom cycles.

  • f: a grouping function of the lookup values, by default identity.

Keywords

  • cycle: the length of the cycle, in return values of f.

  • start: the start of the cycle: a return value of f.

  • step the number of sequential values to group.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source


# DimensionalData.seasonsFunction.
julia
seasons(; [start=Dates.December, labels])

Generates CyclicBins for three month periods.

Keywords

  • start: By default seasons start in December, but any integer 1:12 can be used.

  • labels: either a vector of four labels, or a function that generates labels

<<<<<<< HEAD from Vector{Int} of the selected quarters. ======= from Vector{Int} of the selected quartals.

parent of c54bc6c (Fix whitespace)

source


# DimensionalData.monthsFunction.
julia
months(step; [start=Dates.January, labels])

Generates CyclicBins for grouping to arbitrary month periods. These can wrap around the end of a year.

  • step the number of months to group.

Keywords

  • start: By default months start in January, but any integer 1:12 can be used.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected months.

source


# DimensionalData.hoursFunction.
julia
hours(step; [start=0, labels])

Generates CyclicBins for grouping to arbitrary hour periods. These can wrap around the end of the day.

  • steps the number of hours to group.

Keywords

  • start: By default seasons start at 0, but any integer 1:24 can be used.

  • labels: either a vector of four labels, or a function that generates labels from Vector{Int} of the selected hours of the day.

source


Utility methods

For transforming DimensionalData objects:

# DimensionalData.Dimensions.Lookups.setFunction.
julia
set(x, val)
+ 12        0.501643     0.499298

source


# DimensionalData.DimGroupByArrayType.
julia
DimGroupByArray <: AbstractDimArray

DimGroupByArray is essentially a DimArray but holding the results of a groupby operation.

Its dimensions are the sorted results of the grouping functions used in groupby.

This wrapper allows for specialisations on later broadcast or reducing operations, e.g. for chunk reading with DiskArrays.jl, because we know the data originates from a single array.

source


# DimensionalData.BinsType.
julia
Bins(f, bins; labels, pad)
+Bins(bins; labels, pad)

Specify bins to reduce groups after applying function f.

  • f: a grouping function of the lookup values, by default identity.

  • bins:

    • an Integer will divide the group values into equally spaced sections.

    • an AbstractArray of values will be treated as exact matches for the return value of f. For example, 1:3 will create 3 bins - 1, 2, 3.

    • an AbstractArray of IntervalSets.Interval can be used to explicitly define the intervals. Overlapping intervals have undefined behaviour.

Keywords

  • pad: fraction of the total interval to pad at each end when Bins contains an

<<<<<<< HEAD Integer. This avoids losing the edge values. Note this is a messy solution - it will often be preferable to manually specify a Vector of chosen Intervals rather than relying on passing an Integer and pad. ======= Integer. This avoids losing the edge values. Note this is a messy solution - it will often be prefereble to manually specify a Vector of chosen Intervals rather than relying on passing an Integer and pad.

parent of c54bc6c (Fix whitespace)

  • labels: a list of descriptive labels for the bins. The labels need to have the same length as bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source


# DimensionalData.rangesFunction.
julia
ranges(A::AbstractRange{<:Integer})

Generate a Vector of UnitRange with length step(A)

source


# DimensionalData.intervalsFunction.
julia
intervals(A::AbstractRange)

Generate a Vector of UnitRange with length step(A)

source


# DimensionalData.CyclicBinsType.
julia
CyclicBins(f; cycle, start, step, labels)

Cyclic bins to reduce groups after applying function f. Groups can wrap around the cycle. This is used for grouping in seasons, months and hours but can also be used for custom cycles.

  • f: a grouping function of the lookup values, by default identity.

Keywords

  • cycle: the length of the cycle, in return values of f.

  • start: the start of the cycle: a return value of f.

  • step the number of sequential values to group.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source


# DimensionalData.seasonsFunction.
julia
seasons(; [start=Dates.December, labels])

Generates CyclicBins for three month periods.

Keywords

  • start: By default seasons start in December, but any integer 1:12 can be used.

  • labels: either a vector of four labels, or a function that generates labels

<<<<<<< HEAD from Vector{Int} of the selected quarters. ======= from Vector{Int} of the selected quartals.

parent of c54bc6c (Fix whitespace)

source


# DimensionalData.monthsFunction.
julia
months(step; [start=Dates.January, labels])

Generates CyclicBins for grouping to arbitrary month periods. These can wrap around the end of a year.

  • step the number of months to group.

Keywords

  • start: By default months start in January, but any integer 1:12 can be used.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected months.

source


# DimensionalData.hoursFunction.
julia
hours(step; [start=0, labels])

Generates CyclicBins for grouping to arbitrary hour periods. These can wrap around the end of the day.

  • steps the number of hours to group.

Keywords

  • start: By default seasons start at 0, but any integer 1:24 can be used.

  • labels: either a vector of four labels, or a function that generates labels from Vector{Int} of the selected hours of the day.

source


Utility methods

For transforming DimensionalData objects:

# DimensionalData.Dimensions.Lookups.setFunction.
julia
set(x, val)
 set(x, args::Pairs...) => x with updated field/s
 set(x, args...; kw...) => x with updated field/s
 set(x, args::Tuple{Vararg{Dimension}}; kw...) => x with updated field/s
@@ -407,11 +407,11 @@
   -20.0  -10.0  0.0  10.0
  10.0    0.0    0.0  0.0   0.0
  20.0    0.0    0.0  0.0   0.0
- 30.0    0.0    0.0  0.0   0.0

source


# DimensionalData.Dimensions.Lookups.rebuildFunction.
julia
rebuild(x; kw...)

Rebuild an object struct with updated field values.

x can be a AbstractDimArray, a Dimension, Lookup or other custom types.

This is an abstraction that allows inbuilt and custom types to be rebuilt to update their fields, as most objects in DimensionalData.jl are immutable.

Rebuild is mostly automated using ConstructionBase.setproperties. It should only be defined if your object has fields with with different names to DimensionalData objects. Try not to do that!

The arguments required are defined for the abstract type that has a rebuild method.

AbstractBasicDimArray:

  • dims: a Tuple of Dimension

AbstractDimArray:

  • data: the parent object - an AbstractArray

  • dims: a Tuple of Dimension

  • refdims: a Tuple of Dimension

  • name: A Symbol, or NoName and Name on GPU.

  • metadata: A Dict-like object

AbstractDimStack:

  • data: the parent object, often a NamedTuple

  • dims, refdims, metadata

Dimension:

  • val: anything.

Lookup:

  • data: the parent object, an AbstractArray

  • Note: argument rebuild is deprecated on AbstractDimArray and

AbstractDimStack in favour of always using the keyword version. In future the argument version will only be used on Dimension, which only have one argument.

source


# DimensionalData.modifyFunction.
julia
modify(f, A::AbstractDimArray) => AbstractDimArray
+ 30.0    0.0    0.0  0.0   0.0

source


# DimensionalData.Dimensions.Lookups.rebuildFunction.
julia
rebuild(x; kw...)

Rebuild an object struct with updated field values.

x can be a AbstractDimArray, a Dimension, Lookup or other custom types.

This is an abstraction that allows inbuilt and custom types to be rebuilt to update their fields, as most objects in DimensionalData.jl are immutable.

Rebuild is mostly automated using ConstructionBase.setproperties. It should only be defined if your object has fields with with different names to DimensionalData objects. Try not to do that!

The arguments required are defined for the abstract type that has a rebuild method.

AbstractBasicDimArray:

  • dims: a Tuple of Dimension

AbstractDimArray:

  • data: the parent object - an AbstractArray

  • dims: a Tuple of Dimension

  • refdims: a Tuple of Dimension

  • name: A Symbol, or NoName and Name on GPU.

  • metadata: A Dict-like object

AbstractDimStack:

  • data: the parent object, often a NamedTuple

  • dims, refdims, metadata

Dimension:

  • val: anything.

Lookup:

  • data: the parent object, an AbstractArray

  • Note: argument rebuild is deprecated on AbstractDimArray and

AbstractDimStack in favour of always using the keyword version. In future the argument version will only be used on Dimension, which only have one argument.

source


# DimensionalData.modifyFunction.
julia
modify(f, A::AbstractDimArray) => AbstractDimArray
 modify(f, s::AbstractDimStack) => AbstractDimStack
 modify(f, dim::Dimension) => Dimension
 modify(f, x, lookupdim::Dimension) => typeof(x)

Modify the parent data, rebuilding the object wrapper without change. f must return a AbstractArray of the same size as the original.

This method is mostly useful as a way of swapping the parent array type of an object.

Example

If we have a previously-defined DimArray, we can copy it to an Nvidia GPU with:

julia
A = DimArray(rand(100, 100), (X, Y))
-modify(CuArray, A)

This also works for all the data layers in a DimStack.

source


# DimensionalData.broadcast_dimsFunction.
julia
broadcast_dims(f, sources::AbstractDimArray...) => AbstractDimArray

Broadcast function f over the AbstractDimArrays in sources, permuting and reshaping dimensions to match where required. The result will contain all the dimensions in all passed in arrays in the order in which they are found.

Arguments

  • sources: AbstractDimArrays to broadcast over with f.

This is like broadcasting over every slice of A if it is sliced by the dimensions of B.

source


# DimensionalData.broadcast_dims!Function.
julia
broadcast_dims!(f, dest::AbstractDimArray, sources::AbstractDimArray...) => dest

Broadcast function f over the AbstractDimArrays in sources, writing to dest. sources are permuting and reshaping dimensions to match where required.

The result will contain all the dimensions in all passed in arrays, in the order in which they are found.

Arguments

  • dest: AbstractDimArray to update.

  • sources: AbstractDimArrays to broadcast over with f.

source


# DimensionalData.mergedimsFunction.
julia
mergedims(old_dims => new_dim) => Dimension

Return a dimension new_dim whose indices are a MergedLookup of the indices of old_dims.

source

julia
mergedims(dims, old_dims => new_dim, others::Pair...) => dims_new

If dimensions old_dims, new_dim, etc. are found in dims, then return new dims_new where all dims in old_dims have been combined into a single dim new_dim. The returned dimension will keep only the name of new_dim. Its coords will be a MergedLookup of the coords of the dims in old_dims. New dimensions are always placed at the end of dims_new. others contains other dimension pairs to be merged.

Example

julia
julia> using DimensionalData
+modify(CuArray, A)

This also works for all the data layers in a DimStack.

source


# DimensionalData.broadcast_dimsFunction.
julia
broadcast_dims(f, sources::AbstractDimArray...) => AbstractDimArray

Broadcast function f over the AbstractDimArrays in sources, permuting and reshaping dimensions to match where required. The result will contain all the dimensions in all passed in arrays in the order in which they are found.

Arguments

  • sources: AbstractDimArrays to broadcast over with f.

This is like broadcasting over every slice of A if it is sliced by the dimensions of B.

source


# DimensionalData.broadcast_dims!Function.
julia
broadcast_dims!(f, dest::AbstractDimArray, sources::AbstractDimArray...) => dest

Broadcast function f over the AbstractDimArrays in sources, writing to dest. sources are permuting and reshaping dimensions to match where required.

The result will contain all the dimensions in all passed in arrays, in the order in which they are found.

Arguments

  • dest: AbstractDimArray to update.

  • sources: AbstractDimArrays to broadcast over with f.

source


# DimensionalData.mergedimsFunction.
julia
mergedims(old_dims => new_dim) => Dimension

Return a dimension new_dim whose indices are a MergedLookup of the indices of old_dims.

source

julia
mergedims(dims, old_dims => new_dim, others::Pair...) => dims_new

If dimensions old_dims, new_dim, etc. are found in dims, then return new dims_new where all dims in old_dims have been combined into a single dim new_dim. The returned dimension will keep only the name of new_dim. Its coords will be a MergedLookup of the coords of the dims in old_dims. New dimensions are always placed at the end of dims_new. others contains other dimension pairs to be merged.

Example

julia
julia> using DimensionalData
 
 julia> ds = (X(0:0.1:0.4), Y(10:10:100), Ti([0, 3, 4]))
  X  0.0:0.1:0.4,
@@ -420,9 +420,9 @@
 
 julia> mergedims(ds, (X, Y) => :space)
  Ti    [0, 3, 4],
- space MergedLookup{Tuple{Float64, Int64}} [(0.0, 10), (0.1, 10), , (0.3, 100), (0.4, 100)]  X,  Y

source

julia
mergedims(A::AbstractDimArray, dim_pairs::Pair...) => AbstractDimArray
-mergedims(A::AbstractDimStack, dim_pairs::Pair...) => AbstractDimStack

Return a new array or stack whose dimensions are the result of mergedims(dims(A), dim_pairs).

source


# DimensionalData.unmergedimsFunction.
julia
unmergedims(merged_dims::Tuple{Vararg{Dimension}}) => Tuple{Vararg{Dimension}}

Return the unmerged dimensions from a tuple of merged dimensions. However, the order of the original dimensions are not necessarily preserved.

source

julia
unmergedims(A::AbstractDimArray, original_dims) => AbstractDimArray
-unmergedims(A::AbstractDimStack, original_dims) => AbstractDimStack

Return a new array or stack whose dimensions are restored to their original prior to calling mergedims(A, dim_pairs).

source


# DimensionalData.reorderFunction.
julia
reorder(A::Union{AbstractDimArray,AbstractDimStack}, order::Pair...)
+ space MergedLookup{Tuple{Float64, Int64}} [(0.0, 10), (0.1, 10), , (0.3, 100), (0.4, 100)]  X,  Y

source

julia
mergedims(A::AbstractDimArray, dim_pairs::Pair...) => AbstractDimArray
+mergedims(A::AbstractDimStack, dim_pairs::Pair...) => AbstractDimStack

Return a new array or stack whose dimensions are the result of mergedims(dims(A), dim_pairs).

source


# DimensionalData.unmergedimsFunction.
julia
unmergedims(merged_dims::Tuple{Vararg{Dimension}}) => Tuple{Vararg{Dimension}}

Return the unmerged dimensions from a tuple of merged dimensions. However, the order of the original dimensions are not necessarily preserved.

source

julia
unmergedims(A::AbstractDimArray, original_dims) => AbstractDimArray
+unmergedims(A::AbstractDimStack, original_dims) => AbstractDimStack

Return a new array or stack whose dimensions are restored to their original prior to calling mergedims(A, dim_pairs).

source


# DimensionalData.reorderFunction.
julia
reorder(A::Union{AbstractDimArray,AbstractDimStack}, order::Pair...)
 reorder(A::Union{AbstractDimArray,AbstractDimStack}, order)
 reorder(A::Dimension, order::Order)

Reorder every dims index/array to order, or reorder index for the given dimension(s) in order.

order can be an Order, Dimension => Order pairs. A Tuple of Dimensions or any object that defines dims can be used in which case the dimensions of this object are used for reordering.

If no axis reversal is required the same objects will be returned, without allocation.

Example

julia
using DimensionalData
 
@@ -436,7 +436,7 @@
 reorder(rev, da) == da
 
 # output
-true

source


Base methods

# Base.catFunction.
julia
Base.cat(stacks::AbstractDimStack...; [keys=keys(stacks[1])], dims)

Concatenate all or a subset of layers for all passed in stacks.

Keywords

  • keys: Tuple of Symbol for the stack keys to concatenate.

  • dims: Dimension of child array to concatenate on.

Example

Concatenate the :sea_surface_temp and :humidity layers in the time dimension:

julia
cat(stacks...; keys=(:sea_surface_temp, :humidity), dims=Ti)

source


# Base.copy!Function.
julia
Base.copy!(dst::AbstractArray, src::AbstractDimStack, key::Key)

Copy the stack layer key to dst, which can be any AbstractArray.

Example

Copy the :humidity layer from stack to array.

julia
copy!(array, stack, :humidity)

source

julia
Base.copy!(dst::AbstractDimStack, src::AbstractDimStack, [keys=keys(dst)])

Copy all or a subset of layers from one stack to another.

Example

Copy just the :sea_surface_temp and :humidity layers from src to dst.

julia
copy!(dst::AbstractDimStack, src::AbstractDimStack, keys=(:sea_surface_temp, :humidity))

source


# Base.eachsliceFunction.
julia
Base.eachslice(A::AbstractDimArray; dims,drop=true)

Create a generator that iterates over dimensions dims of A, returning arrays that select all the data from the other dimensions in A using views.

The generator has size and axes equivalent to those of the provided dims if drop=true. Otherwise it will have the same dimensionality as the underlying array with inner dimensions having size 1.

source

julia
Base.eachslice(stack::AbstractDimStack; dims, drop=true)

Create a generator that iterates over dimensions dims of stack, returning stacks that select all the data from the other dimensions in stack using views.

The generator has size and axes equivalent to those of the provided dims.

Examples

julia
julia> ds = DimStack((
+true

source


Base methods

# Base.catFunction.
julia
Base.cat(stacks::AbstractDimStack...; [keys=keys(stacks[1])], dims)

Concatenate all or a subset of layers for all passed in stacks.

Keywords

  • keys: Tuple of Symbol for the stack keys to concatenate.

  • dims: Dimension of child array to concatenate on.

Example

Concatenate the :sea_surface_temp and :humidity layers in the time dimension:

julia
cat(stacks...; keys=(:sea_surface_temp, :humidity), dims=Ti)

source


# Base.copy!Function.
julia
Base.copy!(dst::AbstractArray, src::AbstractDimStack, key::Key)

Copy the stack layer key to dst, which can be any AbstractArray.

Example

Copy the :humidity layer from stack to array.

julia
copy!(array, stack, :humidity)

source

julia
Base.copy!(dst::AbstractDimStack, src::AbstractDimStack, [keys=keys(dst)])

Copy all or a subset of layers from one stack to another.

Example

Copy just the :sea_surface_temp and :humidity layers from src to dst.

julia
copy!(dst::AbstractDimStack, src::AbstractDimStack, keys=(:sea_surface_temp, :humidity))

source


# Base.eachsliceFunction.
julia
Base.eachslice(A::AbstractDimArray; dims,drop=true)

Create a generator that iterates over dimensions dims of A, returning arrays that select all the data from the other dimensions in A using views.

The generator has size and axes equivalent to those of the provided dims if drop=true. Otherwise it will have the same dimensionality as the underlying array with inner dimensions having size 1.

source

julia
Base.eachslice(stack::AbstractDimStack; dims, drop=true)

Create a generator that iterates over dimensions dims of stack, returning stacks that select all the data from the other dimensions in stack using views.

The generator has size and axes equivalent to those of the provided dims.

Examples

julia
julia> ds = DimStack((
            x=DimArray(randn(2, 3, 4), (X([:x1, :x2]), Y(1:3), Z)),
            y=DimArray(randn(2, 3, 5), (X([:x1, :x2]), Y(1:3), Ti))
        ));
@@ -459,17 +459,17 @@
 ├──────────────────────────────────────────────── layers ┤
   :x eltype: Float64 dims: Y size: 3
   :y eltype: Float64 dims: Y, Ti size: 3×5
-└────────────────────────────────────────────────────────┘

source


Most base methods work as expected, using Dimension wherever a dims keyword is used. They are not all specifically documented here.

Name

# DimensionalData.AbstractNameType.
julia
AbstractName

Abstract supertype for name wrappers.

source


# DimensionalData.NameType.
julia
Name <: AbstractName
+└────────────────────────────────────────────────────────┘

source


Most base methods work as expected, using Dimension wherever a dims keyword is used. They are not all specifically documented here.

Name

# DimensionalData.AbstractNameType.
julia
AbstractName

Abstract supertype for name wrappers.

source


# DimensionalData.NameType.
julia
Name <: AbstractName
 
 Name(name::Union{Symbol,Name) => Name
-Name(name::NoName) => NoName

Name wrapper. This lets arrays keep symbol names when the array wrapper needs to be isbits, like for use on GPUs. It makes the name a property of the type. It's not necessary to use in normal use, a symbol is probably easier.

source


# DimensionalData.NoNameType.
julia
NoName <: AbstractName
+Name(name::NoName) => NoName

Name wrapper. This lets arrays keep symbol names when the array wrapper needs to be isbits, like for use on GPUs. It makes the name a property of the type. It's not necessary to use in normal use, a symbol is probably easier.

source


# DimensionalData.NoNameType.
julia
NoName <: AbstractName
 
-NoName()

NoName specifies an array is not named, and is the default name value for all AbstractDimArrays.

source


Internal interface

# DimensionalData.DimArrayInterfaceType.
julia
    DimArrayInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_parent_kw, :rebuild_dims_kw, :rebuild) and optional components (:refdims, :name, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches dimensions of array

  • size: length of dims matches dimensions of array

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • name:

    • rebuild updates name in arg rebuild

    • rebuild updates name in kw rebuild

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source


# DimensionalData.DimStackInterfaceType.
julia
    DimStackInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_layerdims, :rebuild_dims_kw, :rebuild_parent_kw, :rebuild_layerdims_kw, :rebuild) and optional components (:refdims, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches ndims of stack

  • size: length of dims matches size of stack

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_layerdims: rebuild paaarnet and dims from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_layerdims_kw: rebuild parent from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source


# DimensionalData.rebuild_from_arraysFunction.
julia
rebuild_from_arrays(s::AbstractDimStack, das::NamedTuple{<:Any,<:Tuple{Vararg{AbstractDimArray}}}; kw...)

Rebuild an AbstractDimStack from a Tuple or NamedTuple of AbstractDimArray and an existing stack.

Keywords

Keywords are simply the fields of the stack object:

  • data

  • dims

  • refdims

  • metadata

  • layerdims

  • layermetadata

source


# DimensionalData.show_mainFunction.
julia
show_main(io::IO, mime, A::AbstractDimArray)
-show_main(io::IO, mime, A::AbstractDimStack)

Interface methods for adding the main part of show

At the least, you likely want to call:

julia
print_top(io, mime, A)

But read the DimensionalData.jl show.jl code for details.

source


# DimensionalData.show_afterFunction.
julia
show_after(io::IO, mime, A::AbstractDimArray)
-show_after(io::IO, mime, A::AbstractDimStack)

Interface methods for adding additional show text for AbstractDimArray/AbstractDimStack subtypes.

Always include kw to avoid future breaking changes

Additional keywords may be added at any time.

blockwidth is passed in context

julia
blockwidth = get(io, :blockwidth, 10000)

Note - a ANSI box is left unclosed. This method needs to close it, or add more. blockwidth is the maximum length of the inner text.

Most likely you always want to at least close the show blocks with:

julia
print_block_close(io, blockwidth)

But read the DimensionalData.jl show.jl code for details.

source


# DimensionalData.refdims_titleFunction.
julia
refdims_title(A::AbstractDimArray)
+NoName()

NoName specifies an array is not named, and is the default name value for all AbstractDimArrays.

source


Internal interface

# DimensionalData.DimArrayInterfaceType.
julia
    DimArrayInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_parent_kw, :rebuild_dims_kw, :rebuild) and optional components (:refdims, :name, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches dimensions of array

  • size: length of dims matches dimensions of array

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • name:

    • rebuild updates name in arg rebuild

    • rebuild updates name in kw rebuild

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source


# DimensionalData.DimStackInterfaceType.
julia
    DimStackInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_layerdims, :rebuild_dims_kw, :rebuild_parent_kw, :rebuild_layerdims_kw, :rebuild) and optional components (:refdims, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches ndims of stack

  • size: length of dims matches size of stack

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_layerdims: rebuild paaarnet and dims from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_layerdims_kw: rebuild parent from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source


# DimensionalData.rebuild_from_arraysFunction.
julia
rebuild_from_arrays(s::AbstractDimStack, das::NamedTuple{<:Any,<:Tuple{Vararg{AbstractDimArray}}}; kw...)

Rebuild an AbstractDimStack from a Tuple or NamedTuple of AbstractDimArray and an existing stack.

Keywords

Keywords are simply the fields of the stack object:

  • data

  • dims

  • refdims

  • metadata

  • layerdims

  • layermetadata

source


# DimensionalData.show_mainFunction.
julia
show_main(io::IO, mime, A::AbstractDimArray)
+show_main(io::IO, mime, A::AbstractDimStack)

Interface methods for adding the main part of show

At the least, you likely want to call:

julia
print_top(io, mime, A)

But read the DimensionalData.jl show.jl code for details.

source


# DimensionalData.show_afterFunction.
julia
show_after(io::IO, mime, A::AbstractDimArray)
+show_after(io::IO, mime, A::AbstractDimStack)

Interface methods for adding additional show text for AbstractDimArray/AbstractDimStack subtypes.

Always include kw to avoid future breaking changes

Additional keywords may be added at any time.

blockwidth is passed in context

julia
blockwidth = get(io, :blockwidth, 10000)

Note - a ANSI box is left unclosed. This method needs to close it, or add more. blockwidth is the maximum length of the inner text.

Most likely you always want to at least close the show blocks with:

julia
print_block_close(io, blockwidth)

But read the DimensionalData.jl show.jl code for details.

source


# DimensionalData.refdims_titleFunction.
julia
refdims_title(A::AbstractDimArray)
 refdims_title(refdims::Tuple)
-refdims_title(refdim::Dimension)

Generate a title string based on reference dimension values.

source


- +refdims_title(refdim::Dimension)

Generate a title string based on reference dimension values.

source


+ \ No newline at end of file diff --git a/dev/assets/api_dimensions.md.CWa5S4Xm.js b/dev/assets/api_dimensions.md.jRwTt5yN.js similarity index 97% rename from dev/assets/api_dimensions.md.CWa5S4Xm.js rename to dev/assets/api_dimensions.md.jRwTt5yN.js index 3cf9b2ce0..3f633b8c1 100644 --- a/dev/assets/api_dimensions.md.CWa5S4Xm.js +++ b/dev/assets/api_dimensions.md.jRwTt5yN.js @@ -1,5 +1,5 @@ import{_ as i,c as s,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const c=JSON.parse('{"title":"Dimensions","description":"","frontmatter":{},"headers":[],"relativePath":"api/dimensions.md","filePath":"api/dimensions.md","lastUpdated":null}'),e={name:"api/dimensions.md"},t=n(`

Dimensions

Dimensions are kept in the sub-module Dimensions.

# DimensionalData.DimensionsModule.
julia
Dimensions

Sub-module for Dimensions wrappers, and operations on them used in DimensionalData.jl.

To load Dimensions types and methods into scope:

julia
using DimensionalData
-using DimensionalData.Dimensions

source


Dimensions have a type-hierarchy that organises plotting and dimension matching.

# DimensionalData.Dimensions.DimensionType.
julia
Dimension

Abstract supertype of all dimension types.

Example concrete implementations are X, Y, Z, Ti (Time), and the custom Dim dimension.

Dimensions label the axes of an AbstractDimArray, or other dimensional objects, and are used to index into an array.

They may also wrap lookup values for each array axis. This may be any AbstractVector matching the array axis length, but will usually be converted to a Lookup when use in a constructed object.

A Lookup gives more details about the dimension, such as that it is Categorical or Sampled as Points or Intervals along some transect. DimensionalData will attempt to guess the lookup from the passed-in index value.

Example:

julia
using DimensionalData, Dates
+using DimensionalData.Dimensions

source


Dimensions have a type-hierarchy that organises plotting and dimension matching.

# DimensionalData.Dimensions.DimensionType.
julia
Dimension

Abstract supertype of all dimension types.

Example concrete implementations are X, Y, Z, Ti (Time), and the custom Dim dimension.

Dimensions label the axes of an AbstractDimArray, or other dimensional objects, and are used to index into an array.

They may also wrap lookup values for each array axis. This may be any AbstractVector matching the array axis length, but will usually be converted to a Lookup when use in a constructed object.

A Lookup gives more details about the dimension, such as that it is Categorical or Sampled as Points or Intervals along some transect. DimensionalData will attempt to guess the lookup from the passed-in index value.

Example:

julia
using DimensionalData, Dates
 
 x = X(2:2:10)
 y = Y(['a', 'b', 'c'])
@@ -51,21 +51,21 @@ import{_ as i,c as s,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const c
  Ti Sampled{Dates.DateTime} Dates.DateTime("2021-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2021-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
    2021-01-01T00:00:00   2021-02-01T00:00:00   2021-12-01T00:00:00
- 4    0.0                   0.0                      0.0

source


# DimensionalData.Dimensions.DependentDimType.
julia
DependentDim <: Dimension

Abstract supertype for dependent dimensions. These will plot on the Y axis.

source


# DimensionalData.Dimensions.IndependentDimType.
julia
IndependentDim <: Dimension

Abstract supertype for independent dimensions. These will plot on the X axis.

source


# DimensionalData.Dimensions.XDimType.
julia
XDim <: IndependentDim

Abstract supertype for all X dimensions.

source


# DimensionalData.Dimensions.YDimType.
julia
YDim <: DependentDim

Abstract supertype for all Y dimensions.

source


# DimensionalData.Dimensions.ZDimType.
julia
ZDim <: DependentDim

Abstract supertype for all Z dimensions.

source


# DimensionalData.Dimensions.TimeDimType.
julia
TimeDim <: IndependentDim

Abstract supertype for all time dimensions.

In a TimeDime with Interval sampling the locus will automatically be set to Start(). Dates and times generally refer to the start of a month, hour, second etc., not the central point as is more common with spatial data. \`

source


# DimensionalData.Dimensions.XType.
julia
X <: XDim
+ 4    0.0                   0.0                      0.0

source


# DimensionalData.Dimensions.DependentDimType.
julia
DependentDim <: Dimension

Abstract supertype for dependent dimensions. These will plot on the Y axis.

source


# DimensionalData.Dimensions.IndependentDimType.
julia
IndependentDim <: Dimension

Abstract supertype for independent dimensions. These will plot on the X axis.

source


# DimensionalData.Dimensions.XDimType.
julia
XDim <: IndependentDim

Abstract supertype for all X dimensions.

source


# DimensionalData.Dimensions.YDimType.
julia
YDim <: DependentDim

Abstract supertype for all Y dimensions.

source


# DimensionalData.Dimensions.ZDimType.
julia
ZDim <: DependentDim

Abstract supertype for all Z dimensions.

source


# DimensionalData.Dimensions.TimeDimType.
julia
TimeDim <: IndependentDim

Abstract supertype for all time dimensions.

In a TimeDime with Interval sampling the locus will automatically be set to Start(). Dates and times generally refer to the start of a month, hour, second etc., not the central point as is more common with spatial data. \`

source


# DimensionalData.Dimensions.XType.
julia
X <: XDim
 
-X(val=:)

X Dimension. X <: XDim <: IndependentDim

Examples

julia
xdim = X(2:2:10)
julia
val = A[X(1)]
julia
mean(A; dims=X)

source


# DimensionalData.Dimensions.YType.
julia
Y <: YDim
+X(val=:)

X Dimension. X <: XDim <: IndependentDim

Examples

julia
xdim = X(2:2:10)
julia
val = A[X(1)]
julia
mean(A; dims=X)

source


# DimensionalData.Dimensions.YType.
julia
Y <: YDim
 
-Y(val=:)

Y Dimension. Y <: YDim <: DependentDim

Examples

julia
ydim = Y(['a', 'b', 'c'])
julia
val = A[Y(1)]
julia
mean(A; dims=Y)

source


# DimensionalData.Dimensions.ZType.
julia
Z <: ZDim
+Y(val=:)

Y Dimension. Y <: YDim <: DependentDim

Examples

julia
ydim = Y(['a', 'b', 'c'])
julia
val = A[Y(1)]
julia
mean(A; dims=Y)

source


# DimensionalData.Dimensions.ZType.
julia
Z <: ZDim
 
-Z(val=:)

Z Dimension. Z <: ZDim <: Dimension

Example:

julia
zdim = Z(10:10:100)
julia
val = A[Z(1)]
julia
mean(A; dims=Z)

source


# DimensionalData.Dimensions.TiType.

m Ti <: TimeDim

Ti(val=:)

Time Dimension. Ti <: TimeDim <: IndependentDim

Time is already used by Dates, and T is a common type parameter, We use Ti to avoid clashes.

Example:

julia
timedim = Ti(DateTime(2021, 1):Month(1):DateTime(2021, 12))
julia
val = A[Ti(1)]
julia
mean(A; dims=Ti)

source


# DimensionalData.Dimensions.DimType.
julia
Dim{S}(val=:)

A generic dimension. For use when custom dims are required when loading data from a file. Can be used as keyword arguments for indexing.

Dimension types take precedence over same named Dim types when indexing with symbols, or e.g. creating Tables.jl keys.

julia
julia> dim = Dim{:custom}(['a', 'b', 'c'])
-custom ['a', 'b', 'c']

source


# DimensionalData.Dimensions.AnonDimType.
julia
AnonDim <: Dimension
+Z(val=:)

Z Dimension. Z <: ZDim <: Dimension

Example:

julia
zdim = Z(10:10:100)
julia
val = A[Z(1)]
julia
mean(A; dims=Z)

source


# DimensionalData.Dimensions.TiType.

m Ti <: TimeDim

Ti(val=:)

Time Dimension. Ti <: TimeDim <: IndependentDim

Time is already used by Dates, and T is a common type parameter, We use Ti to avoid clashes.

Example:

julia
timedim = Ti(DateTime(2021, 1):Month(1):DateTime(2021, 12))
julia
val = A[Ti(1)]
julia
mean(A; dims=Ti)

source


# DimensionalData.Dimensions.DimType.
julia
Dim{S}(val=:)

A generic dimension. For use when custom dims are required when loading data from a file. Can be used as keyword arguments for indexing.

Dimension types take precedence over same named Dim types when indexing with symbols, or e.g. creating Tables.jl keys.

julia
julia> dim = Dim{:custom}(['a', 'b', 'c'])
+custom ['a', 'b', 'c']

source


# DimensionalData.Dimensions.AnonDimType.
julia
AnonDim <: Dimension
 
-AnonDim()

Anonymous dimension. Used when extra dimensions are created, such as during transpose of a vector.

source


# DimensionalData.Dimensions.@dimMacro.
julia
@dim typ [supertype=Dimension] [label::String=string(typ)]

Macro to easily define new dimensions.

The supertype will be inserted into the type of the dim. The default is simply YourDim <: Dimension.

Making a Dimension inherit from XDim, YDim, ZDim or TimeDim will affect automatic plot layout and other methods that dispatch on these types. <: YDim are plotted on the Y axis, <: XDim on the X axis, etc.

label is used in plots and similar, if the dimension is short for a longer word.

Example:

julia
using DimensionalData
+AnonDim()

Anonymous dimension. Used when extra dimensions are created, such as during transpose of a vector.

source


# DimensionalData.Dimensions.@dimMacro.
julia
@dim typ [supertype=Dimension] [label::String=string(typ)]

Macro to easily define new dimensions.

The supertype will be inserted into the type of the dim. The default is simply YourDim <: Dimension.

Making a Dimension inherit from XDim, YDim, ZDim or TimeDim will affect automatic plot layout and other methods that dispatch on these types. <: YDim are plotted on the Y axis, <: XDim on the X axis, etc.

label is used in plots and similar, if the dimension is short for a longer word.

Example:

julia
using DimensionalData
 using DimensionalData: @dim, YDim, XDim
 @dim Lat YDim "Latitude"
 @dim Lon XDim "Longitude"
-# output

source


Exported methods

These are widely useful methods for working with dimensions.

# DimensionalData.Dimensions.dimsFunction.
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
-dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
+# output

source


Exported methods

These are widely useful methods for working with dimensions.

# DimensionalData.Dimensions.dimsFunction.
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
+dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
 dims(x, query...) => Tuple{Vararg{Dimension}}

Get the dimension(s) matching the type(s) of the query dimension.

Lookup can be an Int or an Dimension, or a tuple containing any combination of either.

Arguments

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(2, 3, 2), (X, Y, Z))
@@ -79,7 +79,7 @@ import{_ as i,c as s,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const c
  1.0  1.0  1.0
 
 julia> dims(A, (X, Y))
- X,  Y

source


# DimensionalData.Dimensions.otherdimsFunction.
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
+ X,  Y

source


# DimensionalData.Dimensions.otherdimsFunction.
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
 
@@ -87,7 +87,7 @@ import{_ as i,c as s,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const c
  Y,  Z
 
 julia> otherdims(A, (Y, Z))
- X

source


# DimensionalData.Dimensions.dimnumFunction.
julia
dimnum(x, query::Tuple) => NTuple{Int}
+ X

source


# DimensionalData.Dimensions.dimnumFunction.
julia
dimnum(x, query::Tuple) => NTuple{Int}
 dimnum(x, query) => Int

Get the number(s) of Dimension(s) as ordered in the dimensions of an object.

Arguments

The return type will be a Tuple of Int or a single Int, depending on whether query is a Tuple or single Dimension.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
@@ -96,7 +96,7 @@ import{_ as i,c as s,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const c
 (3, 1, 2)
 
 julia> dimnum(A, Y)
-2

source


# DimensionalData.Dimensions.hasdimFunction.
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
+2

source


# DimensionalData.Dimensions.hasdimFunction.
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
 hasdim([f], x, query...) => NTuple{Bool}
 hasdim([f], x, query) => Bool

Check if an object x has dimensions that match or inherit from the query dimensions.

Arguments

Check if an object or tuple contains an Dimension, or a tuple of dimensions.

Example

julia
julia> using DimensionalData
 
@@ -109,13 +109,13 @@ import{_ as i,c as s,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const c
 (true, true, true)
 
 julia> hasdim(A, Ti)
-false

source


Non-exported methods

# DimensionalData.Dimensions.lookupFunction.
julia
lookup(x::Dimension) => Lookup
+false

source


Non-exported methods

# DimensionalData.Dimensions.lookupFunction.
julia
lookup(x::Dimension) => Lookup
 lookup(x, [dims::Tuple]) => Tuple{Vararg{Lookup}}
 lookup(x::Tuple) => Tuple{Vararg{Lookup}}
-lookup(x, dim) => Lookup

Returns the Lookup of a dimension. This dictates properties of the dimension such as array axis and lookup order, and sampling properties.

dims can be a Dimension, a dimension type, or a tuple of either.

This is separate from val in that it will only work when dimensions actually contain an AbstractArray lookup, and can be used on a DimArray or DimStack to retrieve all lookups, as there is no ambiguity of meaning as there is with val.

source


# DimensionalData.Dimensions.labelFunction.
julia
label(x) => String
+lookup(x, dim) => Lookup

Returns the Lookup of a dimension. This dictates properties of the dimension such as array axis and lookup order, and sampling properties.

dims can be a Dimension, a dimension type, or a tuple of either.

This is separate from val in that it will only work when dimensions actually contain an AbstractArray lookup, and can be used on a DimArray or DimStack to retrieve all lookups, as there is no ambiguity of meaning as there is with val.

source


# DimensionalData.Dimensions.labelFunction.
julia
label(x) => String
 label(x, dims::Tuple) => NTuple{N,String}
 label(x, dim) => String
-label(xs::Tuple) => NTuple{N,String}

Get a plot label for data or a dimension. This will include the name and units if they exist, and anything else that should be shown on a plot.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.formatFunction.
julia
format(dims, x) => Tuple{Vararg{Dimension,N}}

Format the passed-in dimension(s) dims to match the object x.

Errors are thrown if dims don't match the array dims or size, and any fields holding Auto- objects are filled with guessed objects.

If a Lookup hasn't been specified, a lookup is chosen based on the type and element type of the values.

source


# DimensionalData.Dimensions.dims2indicesFunction.
julia
dims2indices(dim::Dimension, I) => NTuple{Union{Colon,AbstractArray,Int}}

Convert a Dimension or Selector I to indices of Int, AbstractArray or Colon.

source


# DimensionalData.Dimensions.Lookups.selectindicesFunction.
julia
selectindices(lookups, selectors)

Converts Selector to regular indices.

source


Primitive methods

These low-level methods are really for internal use, but can be useful for writing dimensional algorithms.

They are not guaranteed to keep their interface, but usually will.

# DimensionalData.Dimensions.commondimsFunction.
julia
commondims([f], x, query) => Tuple{Vararg{Dimension}}

This is basically dims(x, query) where the order of the original is kept, unlike dims where the query tuple determines the order

Also unlike dims,commondims always returns a Tuple, no matter the input. No errors are thrown if dims are absent from either x or query.

f is <: by default, but can be >: to sort abstract types by concrete types.

julia
julia> using DimensionalData, .Dimensions
+label(xs::Tuple) => NTuple{N,String}

Get a plot label for data or a dimension. This will include the name and units if they exist, and anything else that should be shown on a plot.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.formatFunction.
julia
format(dims, x) => Tuple{Vararg{Dimension,N}}

Format the passed-in dimension(s) dims to match the object x.

Errors are thrown if dims don't match the array dims or size, and any fields holding Auto- objects are filled with guessed objects.

If a Lookup hasn't been specified, a lookup is chosen based on the type and element type of the values.

source


# DimensionalData.Dimensions.dims2indicesFunction.
julia
dims2indices(dim::Dimension, I) => NTuple{Union{Colon,AbstractArray,Int}}

Convert a Dimension or Selector I to indices of Int, AbstractArray or Colon.

source


# DimensionalData.Dimensions.Lookups.selectindicesFunction.
julia
selectindices(lookups, selectors)

Converts Selector to regular indices.

source


Primitive methods

These low-level methods are really for internal use, but can be useful for writing dimensional algorithms.

They are not guaranteed to keep their interface, but usually will.

# DimensionalData.Dimensions.commondimsFunction.
julia
commondims([f], x, query) => Tuple{Vararg{Dimension}}

This is basically dims(x, query) where the order of the original is kept, unlike dims where the query tuple determines the order

Also unlike dims,commondims always returns a Tuple, no matter the input. No errors are thrown if dims are absent from either x or query.

f is <: by default, but can be >: to sort abstract types by concrete types.

julia
julia> using DimensionalData, .Dimensions
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
 
@@ -126,9 +126,9 @@ import{_ as i,c as s,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const c
  X,  Z
 
 julia> commondims(A, Ti)
-()

source


# DimensionalData.Dimensions.name2dimFunction.
julia
name2dim(s::Symbol) => Dimension
+()

source


# DimensionalData.Dimensions.name2dimFunction.
julia
name2dim(s::Symbol) => Dimension
 name2dim(dims...) => Tuple{Dimension,Vararg}
-name2dim(dims::Tuple) => Tuple{Dimension,Vararg}

Convert a symbol to a dimension object. :X, :Y, :Ti etc will be converted to X(), Y(), Ti(), as with any other dims generated with the @dim macro.

All other Symbols S will generate Dim{S}() dimensions.

source


# DimensionalData.Dimensions.reducedimsFunction.
julia
reducedims(x, dimstoreduce) => Tuple{Vararg{Dimension}}

Replace the specified dimensions with an index of length 1. This is usually to match a new array size where an axis has been reduced with a method like mean or reduce to a length of 1, but the number of dimensions has not changed.

Lookup traits are also updated to correspond to the change in cell step, sampling type and order.

source


# DimensionalData.Dimensions.swapdimsFunction.
julia
swapdims(x::T, newdims) => T
+name2dim(dims::Tuple) => Tuple{Dimension,Vararg}

Convert a symbol to a dimension object. :X, :Y, :Ti etc will be converted to X(), Y(), Ti(), as with any other dims generated with the @dim macro.

All other Symbols S will generate Dim{S}() dimensions.

source


# DimensionalData.Dimensions.reducedimsFunction.
julia
reducedims(x, dimstoreduce) => Tuple{Vararg{Dimension}}

Replace the specified dimensions with an index of length 1. This is usually to match a new array size where an axis has been reduced with a method like mean or reduce to a length of 1, but the number of dimensions has not changed.

Lookup traits are also updated to correspond to the change in cell step, sampling type and order.

source


# DimensionalData.Dimensions.swapdimsFunction.
julia
swapdims(x::T, newdims) => T
 swapdims(dims::Tuple, newdims) => Tuple{Vararg{Dimension}}

Swap dimensions for the passed in dimensions, in the order passed.

Passing in the Dimension types rewraps the dimension index, keeping the index values and metadata, while constructed Dimension objects replace the original dimension. nothing leaves the original dimension as-is.

Arguments

Example

julia
using DimensionalData
 A = ones(X(2), Y(4), Z(2))
 Dimensions.swapdims(A, (Dim{:a}, Dim{:b}, Dim{:c}))
@@ -141,17 +141,17 @@ import{_ as i,c as s,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const c
 └───────────────────────────┘
 [:, :, 1]
  1.0  1.0  1.0  1.0
- 1.0  1.0  1.0  1.0

source


# DimensionalData.Dimensions.slicedimsFunction.
julia
slicedims(x, I) => Tuple{Tuple,Tuple}
-slicedims(f, x, I) => Tuple{Tuple,Tuple}

Slice the dimensions to match the axis values of the new array.

All methods return a tuple containing two tuples: the new dimensions, and the reference dimensions. The ref dimensions are no longer used in the new struct but are useful to give context to plots.

Called at the array level the returned tuple will also include the previous reference dims attached to the array.

Arguments

source


# DimensionalData.Dimensions.comparedimsFunction.
julia
comparedims(A::AbstractDimArray...; kw...)
+ 1.0  1.0  1.0  1.0

source


# DimensionalData.Dimensions.slicedimsFunction.
julia
slicedims(x, I) => Tuple{Tuple,Tuple}
+slicedims(f, x, I) => Tuple{Tuple,Tuple}

Slice the dimensions to match the axis values of the new array.

All methods return a tuple containing two tuples: the new dimensions, and the reference dimensions. The ref dimensions are no longer used in the new struct but are useful to give context to plots.

Called at the array level the returned tuple will also include the previous reference dims attached to the array.

Arguments

source


# DimensionalData.Dimensions.comparedimsFunction.
julia
comparedims(A::AbstractDimArray...; kw...)
 comparedims(A::Tuple...; kw...)
 comparedims(A::Dimension...; kw...)
-comparedims(::Type{Bool}, args...; kw...)

Check that dimensions or tuples of dimensions passed as each argument are the same, and return the first valid dimension. If AbstractDimArrays are passed as arguments their dimensions are compared.

Empty tuples and nothing dimension values are ignored, returning the Dimension value if it exists.

Passing Bool as the first argument means true/false will be returned, rather than throwing an error.

Keywords

These are all Bool flags:

source


# DimensionalData.Dimensions.combinedimsFunction.
julia
combinedims(xs; check=true)

Combine the dimensions of each object in xs, in the order they are found.

source


# DimensionalData.Dimensions.sortdimsFunction.
julia
sortdims([f], tosort, order) => Tuple

Sort dimensions tosort by order. Dimensions in order but missing from tosort are replaced with nothing.

tosort and order can be Tuples or Vectors or Dimension or dimension type. Abstract supertypes like TimeDim can be used in order.

f is <: by default, but can be >: to sort abstract types by concrete types.

source


# DimensionalData.Dimensions.Lookups.basetypeofFunction.
julia
basetypeof(x) => Type

Get the "base" type of an object - the minimum required to define the object without it's fields. By default this is the full UnionAll for the type. But custom basetypeof methods can be defined for types with free type parameters.

In DimensionalData this is primarily used for comparing Dimensions, where Dim{:x} is different from Dim{:y}.

source


# DimensionalData.Dimensions.basedimsFunction.
julia
basedims(ds::Tuple)
-basedims(d::Union{Dimension,Symbol,Type})

Returns basetypeof(d)() or a Tuple of called on a Tuple.

See basetypeof

source


# DimensionalData.Dimensions.setdimsFunction.
julia
setdims(X, newdims) => AbstractArray
+comparedims(::Type{Bool}, args...; kw...)

Check that dimensions or tuples of dimensions passed as each argument are the same, and return the first valid dimension. If AbstractDimArrays are passed as arguments their dimensions are compared.

Empty tuples and nothing dimension values are ignored, returning the Dimension value if it exists.

Passing Bool as the first argument means true/false will be returned, rather than throwing an error.

Keywords

These are all Bool flags:

source


# DimensionalData.Dimensions.combinedimsFunction.
julia
combinedims(xs; check=true)

Combine the dimensions of each object in xs, in the order they are found.

source


# DimensionalData.Dimensions.sortdimsFunction.
julia
sortdims([f], tosort, order) => Tuple

Sort dimensions tosort by order. Dimensions in order but missing from tosort are replaced with nothing.

tosort and order can be Tuples or Vectors or Dimension or dimension type. Abstract supertypes like TimeDim can be used in order.

f is <: by default, but can be >: to sort abstract types by concrete types.

source


# DimensionalData.Dimensions.Lookups.basetypeofFunction.
julia
basetypeof(x) => Type

Get the "base" type of an object - the minimum required to define the object without it's fields. By default this is the full UnionAll for the type. But custom basetypeof methods can be defined for types with free type parameters.

In DimensionalData this is primarily used for comparing Dimensions, where Dim{:x} is different from Dim{:y}.

source


# DimensionalData.Dimensions.basedimsFunction.
julia
basedims(ds::Tuple)
+basedims(d::Union{Dimension,Symbol,Type})

Returns basetypeof(d)() or a Tuple of called on a Tuple.

See basetypeof

source


# DimensionalData.Dimensions.setdimsFunction.
julia
setdims(X, newdims) => AbstractArray
 setdims(::Tuple, newdims) => Tuple{Vararg{Dimension,N}}

Replaces the first dim matching <: basetypeof(newdim) with newdim, and returns a new object or tuple with the dimension updated.

Arguments

Example

julia
using DimensionalData, DimensionalData.Dimensions, DimensionalData.Lookups
 A = ones(X(10), Y(10:10:100))
 B = setdims(A, Y(Categorical('a':'j'; order=ForwardOrdered())))
 lookup(B, Y)
 # output
 Categorical{Char} ForwardOrdered
-wrapping: 'a':1:'j'

source


# DimensionalData.Dimensions.dimsmatchFunction.
julia
dimsmatch([f], dim, query) => Bool
-dimsmatch([f], dims::Tuple, query::Tuple) => Bool

Compare 2 dimensions or Tuple of Dimension are of the same base type, or are at least rotations/transformations of the same type.

f is <: by default, but can be >: to match abstract types to concrete types.

source


`,81),l=[t];function h(p,k,d,r,o,g){return a(),s("div",null,l)}const y=i(e,[["render",h]]);export{c as __pageData,y as default}; +wrapping: 'a':1:'j'

source


# DimensionalData.Dimensions.dimsmatchFunction.
julia
dimsmatch([f], dim, query) => Bool
+dimsmatch([f], dims::Tuple, query::Tuple) => Bool

Compare 2 dimensions or Tuple of Dimension are of the same base type, or are at least rotations/transformations of the same type.

f is <: by default, but can be >: to match abstract types to concrete types.

source


`,81),l=[t];function h(p,k,d,r,o,g){return a(),s("div",null,l)}const y=i(e,[["render",h]]);export{c as __pageData,y as default}; diff --git a/dev/assets/api_dimensions.md.CWa5S4Xm.lean.js b/dev/assets/api_dimensions.md.jRwTt5yN.lean.js similarity index 100% rename from dev/assets/api_dimensions.md.CWa5S4Xm.lean.js rename to dev/assets/api_dimensions.md.jRwTt5yN.lean.js diff --git a/dev/assets/api_lookuparrays.md.-eetl6Yo.js b/dev/assets/api_lookuparrays.md.BZS7Y1ch.js similarity index 96% rename from dev/assets/api_lookuparrays.md.-eetl6Yo.js rename to dev/assets/api_lookuparrays.md.BZS7Y1ch.js index 8c4fc0b77..87952dbf1 100644 --- a/dev/assets/api_lookuparrays.md.-eetl6Yo.js +++ b/dev/assets/api_lookuparrays.md.BZS7Y1ch.js @@ -1,5 +1,5 @@ import{_ as s,c as i,o as a,a6 as e}from"./chunks/framework.CNWpduVv.js";const u=JSON.parse('{"title":"Lookups","description":"","frontmatter":{},"headers":[],"relativePath":"api/lookuparrays.md","filePath":"api/lookuparrays.md","lastUpdated":null}'),n={name:"api/lookuparrays.md"},t=e(`

Lookups

# DimensionalData.Dimensions.LookupsModule.
julia
Lookups

Module for Lookups and Selectors used in DimensionalData.jl

Lookup defines traits and AbstractArray wrappers that give specific behaviours for a lookup index when indexed with Selector.

For example, these allow tracking over array order so fast indexing works even when the array is reversed.

To load Lookup types and methods into scope:

julia
using DimensionalData
-using DimensionalData.Lookups

source


# DimensionalData.Dimensions.Lookups.LookupType.
julia
Lookup

Types defining the behaviour of a lookup index, how it is plotted and how Selectors like Between work.

A Lookup may be NoLookup indicating that there are no lookup values, Categorical for ordered or unordered categories, or a Sampled index for Points or Intervals.

source


# DimensionalData.Dimensions.Lookups.AlignedType.
julia
Aligned <: Lookup

Abstract supertype for Lookups where the lookup is aligned with the array axes.

This is by far the most common supertype for Lookup.

source


# DimensionalData.Dimensions.Lookups.AbstractSampledType.
julia
AbstractSampled <: Aligned

Abstract supertype for Lookups where the lookup is aligned with the array, and is independent of other dimensions. Sampled is provided by this package.

AbstractSampled must have order, span and sampling fields, or a rebuild method that accepts them as keyword arguments.

source


# DimensionalData.Dimensions.Lookups.SampledType.
julia
Sampled <: AbstractSampled
+using DimensionalData.Lookups

source


# DimensionalData.Dimensions.Lookups.LookupType.
julia
Lookup

Types defining the behaviour of a lookup index, how it is plotted and how Selectors like Between work.

A Lookup may be NoLookup indicating that there are no lookup values, Categorical for ordered or unordered categories, or a Sampled index for Points or Intervals.

source


# DimensionalData.Dimensions.Lookups.AlignedType.
julia
Aligned <: Lookup

Abstract supertype for Lookups where the lookup is aligned with the array axes.

This is by far the most common supertype for Lookup.

source


# DimensionalData.Dimensions.Lookups.AbstractSampledType.
julia
AbstractSampled <: Aligned

Abstract supertype for Lookups where the lookup is aligned with the array, and is independent of other dimensions. Sampled is provided by this package.

AbstractSampled must have order, span and sampling fields, or a rebuild method that accepts them as keyword arguments.

source


# DimensionalData.Dimensions.Lookups.SampledType.
julia
Sampled <: AbstractSampled
 
 Sampled(data::AbstractVector, order::Order, span::Span, sampling::Sampling, metadata)
 Sampled(data=AutoValues(); order=AutoOrder(), span=AutoSpan(), sampling=Points(), metadata=NoMetadata())

A concrete implementation of the Lookup AbstractSampled. It can be used to represent Points or Intervals.

Sampled is capable of representing gridded data from a wide range of sources, allowing correct bounds and Selectors for points or intervals of regular, irregular, forward and reverse lookups.

On AbstractDimArray construction, Sampled lookup is assigned for all lookups of AbstractRange not assigned to Categorical.

Arguments

Example

Create an array with Interval sampling, and Regular span for a vector with known spacing.

We set the locus of the Intervals to Start specifying that the lookup values are for the locus at the start of each interval.

julia
using DimensionalData, DimensionalData.Lookups
@@ -20,9 +20,9 @@ import{_ as s,c as i,o as a,a6 as e}from"./chunks/framework.CNWpduVv.js";const u
   80    1.0  1.0  1.0   1.0
   60    1.0  1.0  1.0   1.0
   40    1.0  1.0  1.0   1.0
-  20    1.0  1.0  1.0   1.0

source


# DimensionalData.Dimensions.Lookups.AbstractCyclicType.
julia
AbstractCyclic <: AbstractSampled

An abstract supertype for cyclic lookups.

These are AbstractSampled lookups that are cyclic for Selectors.

source


# DimensionalData.Dimensions.Lookups.CyclicType.
julia
Cyclic <: AbstractCyclic
+  20    1.0  1.0  1.0   1.0

source


# DimensionalData.Dimensions.Lookups.AbstractCyclicType.
julia
AbstractCyclic <: AbstractSampled

An abstract supertype for cyclic lookups.

These are AbstractSampled lookups that are cyclic for Selectors.

source


# DimensionalData.Dimensions.Lookups.CyclicType.
julia
Cyclic <: AbstractCyclic
 
-Cyclic(data; order=AutoOrder(), span=AutoSpan(), sampling=Points(), metadata=NoMetadata(), cycle)

A Cyclic lookup is similar to Sampled but out of range Selectors At, Near, Contains will cycle the values to typemin or typemax over the length of cycle. Where and .. work as for Sampled.

This is useful when we are using mean annual datasets over a real time-span, or for wrapping longitudes so that -360 and 360 are the same.

Arguments

Notes

  1. If you use dates and e.g. cycle over a Year, every year will have the number and spacing of Weeks and Days as the cycle year. Using At may not be reliable in terms of exact dates, as it will be applied to the specified date plus or minus n years.

  2. Indexing into a Cycled with any AbstractArray or AbstractRange will return a Sampled as the full cycle is likely no longer available.

  3. .. or Between selectors do not work in a cycled way: they work as for Sampled. This may change in future to return cycled values, but there are problems with this, such as leap years breaking correct date cycling of a single year. If you actually need this behaviour, please make a GitHub issue.

source


# DimensionalData.Dimensions.Lookups.AbstractCategoricalType.
julia
AbstractCategorical <: Aligned

Lookups where the values are categories.

Categorical is the provided concrete implementation. But this can easily be extended, all methods are defined for AbstractCategorical.

All AbstractCategorical must provide a rebuild method with data, order and metadata keyword arguments.

source


# DimensionalData.Dimensions.Lookups.CategoricalType.
julia
Categorical <: AbstractCategorical
+Cyclic(data; order=AutoOrder(), span=AutoSpan(), sampling=Points(), metadata=NoMetadata(), cycle)

A Cyclic lookup is similar to Sampled but out of range Selectors At, Near, Contains will cycle the values to typemin or typemax over the length of cycle. Where and .. work as for Sampled.

This is useful when we are using mean annual datasets over a real time-span, or for wrapping longitudes so that -360 and 360 are the same.

Arguments

Notes

  1. If you use dates and e.g. cycle over a Year, every year will have the number and spacing of Weeks and Days as the cycle year. Using At may not be reliable in terms of exact dates, as it will be applied to the specified date plus or minus n years.

  2. Indexing into a Cycled with any AbstractArray or AbstractRange will return a Sampled as the full cycle is likely no longer available.

  3. .. or Between selectors do not work in a cycled way: they work as for Sampled. This may change in future to return cycled values, but there are problems with this, such as leap years breaking correct date cycling of a single year. If you actually need this behaviour, please make a GitHub issue.

source


# DimensionalData.Dimensions.Lookups.AbstractCategoricalType.
julia
AbstractCategorical <: Aligned

Lookups where the values are categories.

Categorical is the provided concrete implementation. But this can easily be extended, all methods are defined for AbstractCategorical.

All AbstractCategorical must provide a rebuild method with data, order and metadata keyword arguments.

source


# DimensionalData.Dimensions.Lookups.CategoricalType.
julia
Categorical <: AbstractCategorical
 
 Categorical(o::Order)
 Categorical(; order=Unordered())

A Lookup where the values are categories.

This will be automatically assigned if the lookup contains AbstractString, Symbol or Char. Otherwise it can be assigned manually.

Order will be determined automatically where possible.

Arguments

Example

Create an array with [Interval] sampling.

julia
using DimensionalData
@@ -34,7 +34,7 @@ import{_ as s,c as i,o as a,a6 as e}from"./chunks/framework.CNWpduVv.js";const u
 # output
 
 Categorical{String} ["one", "two", "three"] Unordered,
-Categorical{Symbol} [:a, :b, :c, :d] ForwardOrdered

source


# DimensionalData.Dimensions.Lookups.UnalignedType.
julia
Unaligned <: Lookup

Abstract supertype for Lookup where the lookup is not aligned to the grid.

Indexing an Unaligned with Selectors must provide all other Unaligned dimensions.

source


# DimensionalData.Dimensions.Lookups.TransformedType.
julia
Transformed <: Unaligned
+Categorical{Symbol} [:a, :b, :c, :d] ForwardOrdered

source


# DimensionalData.Dimensions.Lookups.UnalignedType.
julia
Unaligned <: Lookup

Abstract supertype for Lookup where the lookup is not aligned to the grid.

Indexing an Unaligned with Selectors must provide all other Unaligned dimensions.

source


# DimensionalData.Dimensions.Lookups.TransformedType.
julia
Transformed <: Unaligned
 
 Transformed(f, dim::Dimension; metadata=NoMetadata())

Lookup that uses an affine transformation to convert dimensions from dims(lookup) to dims(array). This can be useful when the dimensions are e.g. rotated from a more commonly used axis.

Any function can be used to do the transformation, but transformations from CoordinateTransformations.jl may be useful.

Arguments

Keyword Arguments

Example

julia
using DimensionalData, DimensionalData.Lookups, CoordinateTransformations
 
@@ -47,9 +47,9 @@ import{_ as s,c as i,o as a,a6 as e}from"./chunks/framework.CNWpduVv.js";const u
 da[X(At(6.0)), Y(At(2.0))]
 
 # output
-9

source


# DimensionalData.Dimensions.MergedLookupType.
julia
MergedLookup <: Lookup
+9

source


# DimensionalData.Dimensions.MergedLookupType.
julia
MergedLookup <: Lookup
 
-MergedLookup(data, dims; [metadata])

A Lookup that holds multiple combined dimensions.

MergedLookup can be indexed with Selectors like At, Between, and Where although Near has undefined meaning.

Arguments

Keywords

source


# DimensionalData.Dimensions.Lookups.NoLookupType.
julia
NoLookup <: Lookup
+MergedLookup(data, dims; [metadata])

A Lookup that holds multiple combined dimensions.

MergedLookup can be indexed with Selectors like At, Between, and Where although Near has undefined meaning.

Arguments

Keywords

source


# DimensionalData.Dimensions.Lookups.NoLookupType.
julia
NoLookup <: Lookup
 
 NoLookup()

A Lookup that is identical to the array axis. Selectors can't be used on this lookup.

Example

Defining a DimArray without passing lookup values to the dimensions, it will be assigned NoLookup:

julia
using DimensionalData
 
@@ -64,26 +64,26 @@ import{_ as s,c as i,o as a,a6 as e}from"./chunks/framework.CNWpduVv.js";const u
 
 # output
 
-NoLookup, NoLookup

source


# DimensionalData.Dimensions.Lookups.AutoLookupType.
julia
AutoLookup <: Lookup
+NoLookup, NoLookup

source


# DimensionalData.Dimensions.Lookups.AutoLookupType.
julia
AutoLookup <: Lookup
 
 AutoLookup()
-AutoLookup(values=AutoValues(); kw...)

Automatic Lookup, the default lookup. It will be converted automatically to another Lookup when it is possible to detect it from the lookup values.

Keywords will be used in the detected Lookup constructor.

source


# DimensionalData.Dimensions.Lookups.AutoValuesType.
julia
AutoValues

Detect Lookup values from the context. This is used in NoLookup to simply use the array axis as the index when the array is constructed, and in set to change the Lookup type without changing the index values.

source


The generic value getter val

# DimensionalData.Dimensions.Lookups.valFunction.
julia
val(x)
-val(dims::Tuple) => Tuple

Return the contained value of a wrapper object.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

Objects that don't define a val method are returned unaltered.

source


Lookup methods:

# DimensionalData.Dimensions.Lookups.boundsFunction.
julia
bounds(xs, [dims::Tuple]) => Tuple{Vararg{Tuple{T,T}}}
+AutoLookup(values=AutoValues(); kw...)

Automatic Lookup, the default lookup. It will be converted automatically to another Lookup when it is possible to detect it from the lookup values.

Keywords will be used in the detected Lookup constructor.

source


# DimensionalData.Dimensions.Lookups.AutoValuesType.
julia
AutoValues

Detect Lookup values from the context. This is used in NoLookup to simply use the array axis as the index when the array is constructed, and in set to change the Lookup type without changing the index values.

source


The generic value getter val

# DimensionalData.Dimensions.Lookups.valFunction.
julia
val(x)
+val(dims::Tuple) => Tuple

Return the contained value of a wrapper object.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

Objects that don't define a val method are returned unaltered.

source


Lookup methods:

# DimensionalData.Dimensions.Lookups.boundsFunction.
julia
bounds(xs, [dims::Tuple]) => Tuple{Vararg{Tuple{T,T}}}
 bounds(xs::Tuple) => Tuple{Vararg{Tuple{T,T}}}
 bounds(x, dim) => Tuple{T,T}
-bounds(dim::Union{Dimension,Lookup}) => Tuple{T,T}

Return the bounds of all dimensions of an object, of a specific dimension, or of a tuple of dimensions.

If bounds are not known, one or both values may be nothing.

dims can be a Dimension, a dimension type, or a tuple of either.

source


# DimensionalData.Dimensions.Lookups.hasselectionFunction.
julia
hasselection(x, selector) => Bool
-hasselection(x, selectors::Tuple) => Bool

Check if indexing into x with selectors can be performed, where x is some object with a dims method, and selectors is a Selector or Dimension or a tuple of either.

source


# DimensionalData.Dimensions.Lookups.samplingFunction.
julia
sampling(x, [dims::Tuple]) => Tuple
+bounds(dim::Union{Dimension,Lookup}) => Tuple{T,T}

Return the bounds of all dimensions of an object, of a specific dimension, or of a tuple of dimensions.

If bounds are not known, one or both values may be nothing.

dims can be a Dimension, a dimension type, or a tuple of either.

source


# DimensionalData.Dimensions.Lookups.hasselectionFunction.
julia
hasselection(x, selector) => Bool
+hasselection(x, selectors::Tuple) => Bool

Check if indexing into x with selectors can be performed, where x is some object with a dims method, and selectors is a Selector or Dimension or a tuple of either.

source


# DimensionalData.Dimensions.Lookups.samplingFunction.
julia
sampling(x, [dims::Tuple]) => Tuple
 sampling(x, dim) => Sampling
 sampling(xs::Tuple) => Tuple{Vararg{Sampling}}
-sampling(x:Union{Dimension,Lookup}) => Sampling

Return the Sampling for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.Lookups.spanFunction.
julia
span(x, [dims::Tuple]) => Tuple
+sampling(x:Union{Dimension,Lookup}) => Sampling

Return the Sampling for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.Lookups.spanFunction.
julia
span(x, [dims::Tuple]) => Tuple
 span(x, dim) => Span
 span(xs::Tuple) => Tuple{Vararg{Span,N}}
-span(x::Union{Dimension,Lookup}) => Span

Return the Span for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.Lookups.orderFunction.
julia
order(x, [dims::Tuple]) => Tuple
+span(x::Union{Dimension,Lookup}) => Span

Return the Span for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.Lookups.orderFunction.
julia
order(x, [dims::Tuple]) => Tuple
 order(xs::Tuple) => Tuple
-order(x::Union{Dimension,Lookup}) => Order

Return the Ordering of the dimension lookup for each dimension: ForwardOrdered, ReverseOrdered, or Unordered

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.Lookups.locusFunction.
julia
locus(x, [dims::Tuple]) => Tuple
+order(x::Union{Dimension,Lookup}) => Order

Return the Ordering of the dimension lookup for each dimension: ForwardOrdered, ReverseOrdered, or Unordered

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.Lookups.locusFunction.
julia
locus(x, [dims::Tuple]) => Tuple
 locus(x, dim) => Locus
 locus(xs::Tuple) => Tuple{Vararg{Locus,N}}
-locus(x::Union{Dimension,Lookup}) => Locus

Return the Position of lookup values for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.Lookups.shiftlocusFunction.
julia
shiftlocus(locus::Locus, x)

Shift the values of x from the current locus to the new locus.

We only shift Sampled, Regular or Explicit, Intervals.

source


Selectors

# DimensionalData.Dimensions.Lookups.SelectorType.
julia
Selector

Abstract supertype for all selectors.

Selectors are wrappers that indicate that passed values are not the array indices, but values to be selected from the dimension index, such as DateTime objects for a Ti dimension.

Selectors provided in DimensionalData are:

Note: Selectors can be modified using:

And IntervalSets.jl Interval can be used instead of Between

source


# DimensionalData.Dimensions.Lookups.IntSelectorType.
julia
IntSelector <: Selector

Abstract supertype for Selectors that return a single Int index.

IntSelectors provided by DimensionalData are:

source


# DimensionalData.Dimensions.Lookups.ArraySelectorType.
julia
ArraySelector <: Selector

Abstract supertype for Selectors that return an AbstractArray.

ArraySelectors provided by DimensionalData are:

source


# DimensionalData.Dimensions.Lookups.AtType.
julia
At <: IntSelector
+locus(x::Union{Dimension,Lookup}) => Locus

Return the Position of lookup values for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.Lookups.shiftlocusFunction.
julia
shiftlocus(locus::Locus, x)

Shift the values of x from the current locus to the new locus.

We only shift Sampled, Regular or Explicit, Intervals.

source


Selectors

# DimensionalData.Dimensions.Lookups.SelectorType.
julia
Selector

Abstract supertype for all selectors.

Selectors are wrappers that indicate that passed values are not the array indices, but values to be selected from the dimension index, such as DateTime objects for a Ti dimension.

Selectors provided in DimensionalData are:

Note: Selectors can be modified using:

And IntervalSets.jl Interval can be used instead of Between

source


# DimensionalData.Dimensions.Lookups.IntSelectorType.
julia
IntSelector <: Selector

Abstract supertype for Selectors that return a single Int index.

IntSelectors provided by DimensionalData are:

source


# DimensionalData.Dimensions.Lookups.ArraySelectorType.
julia
ArraySelector <: Selector

Abstract supertype for Selectors that return an AbstractArray.

ArraySelectors provided by DimensionalData are:

source


# DimensionalData.Dimensions.Lookups.AtType.
julia
At <: IntSelector
 
 At(x, atol, rtol)
 At(x; atol=nothing, rtol=nothing)

Selector that exactly matches the value on the passed-in dimensions, or throws an error. For ranges and arrays, every intermediate value must match an existing value - not just the end points.

x can be any value or Vector of values.

atol and rtol are passed to isapprox. For Number rtol will be set to Base.rtoldefault, otherwise nothing, and wont be used.

Example

julia
using DimensionalData
@@ -93,7 +93,7 @@ import{_ as s,c as i,o as a,a6 as e}from"./chunks/framework.CNWpduVv.js";const u
 
 # output
 
-5

source


# DimensionalData.Dimensions.Lookups.NearType.
julia
Near <: IntSelector
+5

source


# DimensionalData.Dimensions.Lookups.NearType.
julia
Near <: IntSelector
 
 Near(x)

Selector that selects the nearest index to x.

With Points this is simply the index values nearest to the x, however with Intervals it is the interval center nearest to x. This will be offset from the index value for Start and End locus.

Example

julia
using DimensionalData
 
@@ -101,7 +101,7 @@ import{_ as s,c as i,o as a,a6 as e}from"./chunks/framework.CNWpduVv.js";const u
 A[X(Near(23)), Y(Near(5.1))]
 
 # output
-4

source


# DimensionalData.Dimensions.Lookups.BetweenType.
julia
Between <: ArraySelector
+4

source


# DimensionalData.Dimensions.Lookups.BetweenType.
julia
Between <: ArraySelector
 
 Between(a, b)

Depreciated: use a..b instead of Between(a, b). Other Interval objects from IntervalSets.jl, like \`OpenInterval(a, b) will also work, giving the correct open/closed boundaries.

Between will e removed in future to avoid clashes with DataFrames.Between.

Selector that retrieve all indices located between 2 values, evaluated with >= for the lower value, and < for the upper value. This means the same value will not be counted twice in 2 adjacent Between selections.

For Intervals the whole interval must be lie between the values. For Points the points must fall between the values. Different Sampling types may give different results with the same input - this is the intended behaviour.

Between for Irregular intervals is a little complicated. The interval is the distance between a value and the next (for Start locus) or previous (for End locus) value.

For Center, we take the mid point between two index values as the start and end of each interval. This may or may not make sense for the values in your index, so use Between with Irregular Intervals(Center()) with caution.

Example

julia
using DimensionalData
 
@@ -117,7 +117,7 @@ import{_ as s,c as i,o as a,a6 as e}from"./chunks/framework.CNWpduVv.js";const u
  Y Sampled{Int64} 5:6 ForwardOrdered Regular Points
 └────────────────────────────────────────────────────────────┘
   5  6
- 20    4  5

source


# DimensionalData.Dimensions.Lookups.TouchesType.
julia
Touches <: ArraySelector
+ 20    4  5

source


# DimensionalData.Dimensions.Lookups.TouchesType.
julia
Touches <: ArraySelector
 
 Touches(a, b)

Selector that retrieves all indices touching the closed interval 2 values, for the maximum possible area that could interact with the supplied range.

This can be better than .. when e.g. subsetting an area to rasterize, as you may wish to include pixels that just touch the area, rather than those that fall within it.

Touches is different to using closed intervals when the lookups also contain intervals - if any of the intervals touch, they are included. With .. they are discarded unless the whole cell interval falls inside the selector interval.

Example

julia
using DimensionalData
 
@@ -132,7 +132,7 @@ import{_ as s,c as i,o as a,a6 as e}from"./chunks/framework.CNWpduVv.js";const u
  Y Sampled{Int64} 5:6 ForwardOrdered Regular Points
 └────────────────────────────────────────────────────────────┘
   5  6
- 20    4  5

source


# DimensionalData.Dimensions.Lookups.ContainsType.
julia
Contains <: IntSelector
+ 20    4  5

source


# DimensionalData.Dimensions.Lookups.ContainsType.
julia
Contains <: IntSelector
 
 Contains(x)

Selector that selects the interval the value is contained by. If the interval is not present in the index, an error will be thrown.

Can only be used for Intervals or Categorical. For Categorical it falls back to using At. Contains should not be confused with Base.contains - use Where(contains(x)) to check for if values are contain in categorical values like strings.

Example

julia
using DimensionalData; const DD = DimensionalData
 dims_ = X(10:10:20; sampling=DD.Intervals(DD.Center())),
@@ -141,7 +141,7 @@ import{_ as s,c as i,o as a,a6 as e}from"./chunks/framework.CNWpduVv.js";const u
 A[X(Contains(8)), Y(Contains(6.8))]
 
 # output
-3

source


# DimensionalData.Dimensions.Lookups.WhereType.
julia
Where <: ArraySelector
+3

source


# DimensionalData.Dimensions.Lookups.WhereType.
julia
Where <: ArraySelector
 
 Where(f::Function)

Selector that filters a dimension lookup by any function that accepts a single value and returns a Bool.

Example

julia
using DimensionalData
 
@@ -157,7 +157,7 @@ import{_ as s,c as i,o as a,a6 as e}from"./chunks/framework.CNWpduVv.js";const u
  Y Sampled{Int64} [19, 21] ForwardOrdered Irregular Points
 └─────────────────────────────────────────────────────────────┘
   19  21
- 20     4   6

source


# DimensionalData.Dimensions.Lookups.AllType.
julia
All <: Selector
+ 20     4   6

source


# DimensionalData.Dimensions.Lookups.AllType.
julia
All <: Selector
 
 All(selectors::Selector...)

Selector that combines the results of other selectors. The indices used will be the union of all result sorted in ascending order.

Example

julia
using DimensionalData, Unitful
 
@@ -175,42 +175,42 @@ import{_ as s,c as i,o as a,a6 as e}from"./chunks/framework.CNWpduVv.js";const u
 └──────────────────────────────────────────────────────────────────────────────┘
   1 s  6 s  91 s  96 s
  10.0    1    2    19    20
- 50.0    3    6    57    60

source


Lookup traits

# DimensionalData.Dimensions.Lookups.LookupTraitType.
julia
LookupTrait

Abstract supertype of all traits of a Lookup.

These modify the behaviour of the lookup index.

The term "Trait" is used loosely - these may be fields of an object of traits hard-coded to specific types.

source


Order

# DimensionalData.Dimensions.Lookups.OrderType.
julia
Order <: LookupTrait

Traits for the order of a Lookup. These determine how searchsorted finds values in the index, and how objects are plotted.

source


# DimensionalData.Dimensions.Lookups.OrderedType.
julia
Ordered <: Order

Supertype for the order of an ordered Lookup, including ForwardOrdered and ReverseOrdered.

source


# DimensionalData.Dimensions.Lookups.ForwardOrderedType.
julia
ForwardOrdered <: Ordered
+ 50.0    3    6    57    60

source


Lookup traits

# DimensionalData.Dimensions.Lookups.LookupTraitType.
julia
LookupTrait

Abstract supertype of all traits of a Lookup.

These modify the behaviour of the lookup index.

The term "Trait" is used loosely - these may be fields of an object of traits hard-coded to specific types.

source


Order

# DimensionalData.Dimensions.Lookups.OrderType.
julia
Order <: LookupTrait

Traits for the order of a Lookup. These determine how searchsorted finds values in the index, and how objects are plotted.

source


# DimensionalData.Dimensions.Lookups.OrderedType.
julia
Ordered <: Order

Supertype for the order of an ordered Lookup, including ForwardOrdered and ReverseOrdered.

source


# DimensionalData.Dimensions.Lookups.ForwardOrderedType.
julia
ForwardOrdered <: Ordered
 
-ForwardOrdered()

Indicates that the Lookup index is in the normal forward order.

source


# DimensionalData.Dimensions.Lookups.ReverseOrderedType.
julia
ReverseOrdered <: Ordered
+ForwardOrdered()

Indicates that the Lookup index is in the normal forward order.

source


# DimensionalData.Dimensions.Lookups.ReverseOrderedType.
julia
ReverseOrdered <: Ordered
 
-ReverseOrdered()

Indicates that the Lookup index is in the reverse order.

source


# DimensionalData.Dimensions.Lookups.UnorderedType.
julia
Unordered <: Order
+ReverseOrdered()

Indicates that the Lookup index is in the reverse order.

source


# DimensionalData.Dimensions.Lookups.UnorderedType.
julia
Unordered <: Order
 
-Unordered()

Indicates that Lookup is unordered.

This means the index cannot be searched with searchsortedfirst or similar optimised methods - instead it will use findfirst.

source


# DimensionalData.Dimensions.Lookups.AutoOrderType.
julia
AutoOrder <: Order
+Unordered()

Indicates that Lookup is unordered.

This means the index cannot be searched with searchsortedfirst or similar optimised methods - instead it will use findfirst.

source


# DimensionalData.Dimensions.Lookups.AutoOrderType.
julia
AutoOrder <: Order
 
-AutoOrder()

Specifies that the Order of a Lookup will be found automatically where possible.

source


Span

# DimensionalData.Dimensions.Lookups.SpanType.
julia
Span <: LookupTrait

Defines the type of span used in a Sampling index. These are Regular or Irregular.

source


# DimensionalData.Dimensions.Lookups.RegularType.
julia
Regular <: Span
+AutoOrder()

Specifies that the Order of a Lookup will be found automatically where possible.

source


Span

# DimensionalData.Dimensions.Lookups.SpanType.
julia
Span <: LookupTrait

Defines the type of span used in a Sampling index. These are Regular or Irregular.

source


# DimensionalData.Dimensions.Lookups.RegularType.
julia
Regular <: Span
 
-Regular(step=AutoStep())

Points or Intervals that have a fixed, regular step.

source


# DimensionalData.Dimensions.Lookups.IrregularType.
julia
Irregular <: Span
+Regular(step=AutoStep())

Points or Intervals that have a fixed, regular step.

source


# DimensionalData.Dimensions.Lookups.IrregularType.
julia
Irregular <: Span
 
 Irregular(bounds::Tuple)
-Irregular(lowerbound, upperbound)

Points or Intervals that have an Irregular step size. To enable bounds tracking and accurate selectors, the starting bounds are provided as a 2 tuple, or 2 arguments. (nothing, nothing) is acceptable input, the bounds will be guessed from the index, but may be inaccurate.

source


# DimensionalData.Dimensions.Lookups.ExplicitType.
julia
Explicit(bounds::AbstractMatrix)

Intervals where the span is explicitly listed for every interval.

This uses a matrix where with length 2 columns for each index value, holding the lower and upper bounds for that specific index.

source


# DimensionalData.Dimensions.Lookups.AutoSpanType.
julia
AutoSpan <: Span
+Irregular(lowerbound, upperbound)

Points or Intervals that have an Irregular step size. To enable bounds tracking and accurate selectors, the starting bounds are provided as a 2 tuple, or 2 arguments. (nothing, nothing) is acceptable input, the bounds will be guessed from the index, but may be inaccurate.

source


# DimensionalData.Dimensions.Lookups.ExplicitType.
julia
Explicit(bounds::AbstractMatrix)

Intervals where the span is explicitly listed for every interval.

This uses a matrix where with length 2 columns for each index value, holding the lower and upper bounds for that specific index.

source


# DimensionalData.Dimensions.Lookups.AutoSpanType.
julia
AutoSpan <: Span
 
-AutoSpan()

The span will be guessed and replaced in format or set.

source


Sampling

# DimensionalData.Dimensions.Lookups.SamplingType.
julia
Sampling <: LookupTrait

Indicates the sampling method used by the index: Points or Intervals.

source


# DimensionalData.Dimensions.Lookups.PointsType.
julia
Points <: Sampling
+AutoSpan()

The span will be guessed and replaced in format or set.

source


Sampling

# DimensionalData.Dimensions.Lookups.SamplingType.
julia
Sampling <: LookupTrait

Indicates the sampling method used by the index: Points or Intervals.

source


# DimensionalData.Dimensions.Lookups.PointsType.
julia
Points <: Sampling
 
-Points()

Sampling lookup where single samples at exact points.

These are always plotted at the center of array cells.

source


# DimensionalData.Dimensions.Lookups.IntervalsType.
julia
Intervals <: Sampling
+Points()

Sampling lookup where single samples at exact points.

These are always plotted at the center of array cells.

source


# DimensionalData.Dimensions.Lookups.IntervalsType.
julia
Intervals <: Sampling
 
-Intervals(locus::Position)

Sampling specifying that sampled values are the mean (or similar) value over an interval, rather than at one specific point.

Intervals require a locus of Start, Center or End to define the location in the interval that the index values refer to.

source


Positions

# DimensionalData.Dimensions.Lookups.PositionType.
julia
Position <: LookupTrait

Abstract supertype of types that indicate the locus of index values where they represent Intervals.

These allow for values array cells to align with the Start, Center, or End of values in the lookup index.

This means they can be plotted with correct axis markers, and allows automatic conversions to between formats with different standards (such as NetCDF and GeoTiff).

source


# DimensionalData.Dimensions.Lookups.CenterType.
julia
Center <: Position
+Intervals(locus::Position)

Sampling specifying that sampled values are the mean (or similar) value over an interval, rather than at one specific point.

Intervals require a locus of Start, Center or End to define the location in the interval that the index values refer to.

source


Positions

# DimensionalData.Dimensions.Lookups.PositionType.
julia
Position <: LookupTrait

Abstract supertype of types that indicate the locus of index values where they represent Intervals.

These allow for values array cells to align with the Start, Center, or End of values in the lookup index.

This means they can be plotted with correct axis markers, and allows automatic conversions to between formats with different standards (such as NetCDF and GeoTiff).

source


# DimensionalData.Dimensions.Lookups.CenterType.
julia
Center <: Position
 
-Center()

Used to specify lookup values correspond to the center locus in an interval.

source


# DimensionalData.Dimensions.Lookups.StartType.
julia
Start <: Position
+Center()

Used to specify lookup values correspond to the center locus in an interval.

source


# DimensionalData.Dimensions.Lookups.StartType.
julia
Start <: Position
 
-Start()

Used to specify lookup values correspond to the start locus of an interval.

source


# DimensionalData.Dimensions.Lookups.BeginType.
julia
Begin <: Position
+Start()

Used to specify lookup values correspond to the start locus of an interval.

source


# DimensionalData.Dimensions.Lookups.BeginType.
julia
Begin <: Position
 
-Begin()

Used to specify the begin index of a Dimension axis, as regular begin will not work with named dimensions.

Can be used with : to create a BeginEndRange or BeginEndStepRange.

source


# DimensionalData.Dimensions.Lookups.EndType.
julia
End <: Position
+Begin()

Used to specify the begin index of a Dimension axis, as regular begin will not work with named dimensions.

Can be used with : to create a BeginEndRange or BeginEndStepRange.

source


# DimensionalData.Dimensions.Lookups.EndType.
julia
End <: Position
 
-End()

Used to specify the end index of a Dimension axis, as regular end will not work with named dimensions. Can be used with : to create a BeginEndRange or BeginEndStepRange.

Also used to specify lookup values correspond to the end locus of an interval.

source


# DimensionalData.Dimensions.Lookups.AutoPositionType.
julia
AutoPosition <: Position
+End()

Used to specify the end index of a Dimension axis, as regular end will not work with named dimensions. Can be used with : to create a BeginEndRange or BeginEndStepRange.

Also used to specify lookup values correspond to the end locus of an interval.

source


# DimensionalData.Dimensions.Lookups.AutoPositionType.
julia
AutoPosition <: Position
 
-AutoPosition()

Indicates a interval where the index locus is not yet known. This will be filled with a default value on object construction.

source


Metadata

# DimensionalData.Dimensions.Lookups.AbstractMetadataType.
julia
AbstractMetadata{X,T}

Abstract supertype for all metadata wrappers.

Metadata wrappers allow tracking the contents and origin of metadata. This can facilitate conversion between metadata types (for saving a file to a different format) or simply saving data back to the same file type with identical metadata.

Using a wrapper instead of Dict or NamedTuple also lets us pass metadata objects to set without ambiguity about where to put them.

source


# DimensionalData.Dimensions.Lookups.MetadataType.
julia
Metadata <: AbstractMetadata
+AutoPosition()

Indicates a interval where the index locus is not yet known. This will be filled with a default value on object construction.

source


Metadata

# DimensionalData.Dimensions.Lookups.AbstractMetadataType.
julia
AbstractMetadata{X,T}

Abstract supertype for all metadata wrappers.

Metadata wrappers allow tracking the contents and origin of metadata. This can facilitate conversion between metadata types (for saving a file to a different format) or simply saving data back to the same file type with identical metadata.

Using a wrapper instead of Dict or NamedTuple also lets us pass metadata objects to set without ambiguity about where to put them.

source


# DimensionalData.Dimensions.Lookups.MetadataType.
julia
Metadata <: AbstractMetadata
 
 Metadata{X}(val::Union{Dict,NamedTuple})
 Metadata{X}(pairs::Pair...) => Metadata{Dict}
-Metadata{X}(; kw...) => Metadata{NamedTuple}

General Metadata object. The X type parameter categorises the metadata for method dispatch, if required.

source


# DimensionalData.Dimensions.Lookups.NoMetadataType.
julia
NoMetadata <: AbstractMetadata
+Metadata{X}(; kw...) => Metadata{NamedTuple}

General Metadata object. The X type parameter categorises the metadata for method dispatch, if required.

source


# DimensionalData.Dimensions.Lookups.NoMetadataType.
julia
NoMetadata <: AbstractMetadata
 
-NoMetadata()

Indicates an object has no metadata. But unlike using nothing, get, keys and haskey will still work on it, get always returning the fallback argument. keys returns () while haskey always returns false.

source


# DimensionalData.Dimensions.Lookups.unitsFunction.
julia
units(x) => Union{Nothing,Any}
+NoMetadata()

Indicates an object has no metadata. But unlike using nothing, get, keys and haskey will still work on it, get always returning the fallback argument. keys returns () while haskey always returns false.

source


# DimensionalData.Dimensions.Lookups.unitsFunction.
julia
units(x) => Union{Nothing,Any}
 units(xs:Tuple) => Tuple
 unit(A::AbstractDimArray, dims::Tuple) => Tuple
-unit(A::AbstractDimArray, dim) => Union{Nothing,Any}

Get the units of an array or Dimension, or a tuple of of either.

Units do not have a set field, and may or may not be included in metadata. This method is to facilitate use in labels and plots when units are available, not a guarantee that they will be. If not available, nothing is returned.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


`,126),l=[t];function p(o,h,k,r,d,c){return a(),i("div",null,l)}const E=s(n,[["render",p]]);export{u as __pageData,E as default}; +unit(A::AbstractDimArray, dim) => Union{Nothing,Any}

Get the units of an array or Dimension, or a tuple of of either.

Units do not have a set field, and may or may not be included in metadata. This method is to facilitate use in labels and plots when units are available, not a guarantee that they will be. If not available, nothing is returned.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


`,126),l=[t];function p(o,h,k,r,d,c){return a(),i("div",null,l)}const E=s(n,[["render",p]]);export{u as __pageData,E as default}; diff --git a/dev/assets/api_lookuparrays.md.-eetl6Yo.lean.js b/dev/assets/api_lookuparrays.md.BZS7Y1ch.lean.js similarity index 100% rename from dev/assets/api_lookuparrays.md.-eetl6Yo.lean.js rename to dev/assets/api_lookuparrays.md.BZS7Y1ch.lean.js diff --git a/dev/assets/api_reference.md.D1Kc48gy.js b/dev/assets/api_reference.md.BmNx3sDP.js similarity index 98% rename from dev/assets/api_reference.md.D1Kc48gy.js rename to dev/assets/api_reference.md.BmNx3sDP.js index c82a62b64..d86e880dd 100644 --- a/dev/assets/api_reference.md.D1Kc48gy.js +++ b/dev/assets/api_reference.md.BmNx3sDP.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y=JSON.parse('{"title":"API Reference","description":"","frontmatter":{},"headers":[],"relativePath":"api/reference.md","filePath":"api/reference.md","lastUpdated":null}'),h={name:"api/reference.md"},e=n(`

API Reference

Arrays

# DimensionalData.AbstractBasicDimArrayType.
julia
AbstractBasicDimArray <: AbstractArray

The abstract supertype for all arrays with a dims method that returns a Tuple of Dimension

Only keyword rebuild is guaranteed to work with AbstractBasicDimArray.

source


# DimensionalData.AbstractDimArrayType.
julia
AbstractDimArray <: AbstractBasicArray

Abstract supertype for all "dim" arrays.

These arrays return a Tuple of Dimension from a dims method, and can be rebuilt using rebuild.

parent must return the source array.

They should have metadata, name and refdims methods, although these are optional.

A rebuild method for AbstractDimArray must accept data, dims, refdims, name, metadata arguments.

Indexing AbstractDimArray with non-range AbstractArray has undefined effects on the Dimension index. Use forward-ordered arrays only"

source


# DimensionalData.DimArrayType.
julia
DimArray <: AbstractDimArray
+import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y=JSON.parse('{"title":"API Reference","description":"","frontmatter":{},"headers":[],"relativePath":"api/reference.md","filePath":"api/reference.md","lastUpdated":null}'),h={name:"api/reference.md"},e=n(`

API Reference

Arrays

# DimensionalData.AbstractBasicDimArrayType.
julia
AbstractBasicDimArray <: AbstractArray

The abstract supertype for all arrays with a dims method that returns a Tuple of Dimension

Only keyword rebuild is guaranteed to work with AbstractBasicDimArray.

source


# DimensionalData.AbstractDimArrayType.
julia
AbstractDimArray <: AbstractBasicArray

Abstract supertype for all "dim" arrays.

These arrays return a Tuple of Dimension from a dims method, and can be rebuilt using rebuild.

parent must return the source array.

They should have metadata, name and refdims methods, although these are optional.

A rebuild method for AbstractDimArray must accept data, dims, refdims, name, metadata arguments.

Indexing AbstractDimArray with non-range AbstractArray has undefined effects on the Dimension index. Use forward-ordered arrays only"

source


# DimensionalData.DimArrayType.
julia
DimArray <: AbstractDimArray
 
 DimArray(data, dims, refdims, name, metadata)
 DimArray(data, dims::Tuple; refdims=(), name=NoName(), metadata=NoMetadata())

The main concrete subtype of AbstractDimArray.

DimArray maintains and updates its Dimensions through transformations and moves dimensions to reference dimension refdims after reducing operations (like e.g. mean).

Arguments

  • data: An AbstractArray.

  • dims: A Tuple of Dimension

  • name: A string name for the array. Shows in plots and tables.

  • refdims: refence dimensions. Usually set programmatically to track past slices and reductions of dimension for labelling and reconstruction.

  • metadata: Dict or Metadata object, or NoMetadata()

Indexing can be done with all regular indices, or with Dimensions and/or Selectors.

Indexing AbstractDimArray with non-range AbstractArray has undefined effects on the Dimension index. Use forward-ordered arrays only"

Example:

julia
julia> using Dates, DimensionalData
@@ -27,7 +27,7 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
  20  0.774092
  30  0.823656
  40  0.637077
- 50  0.692235

source


Shorthand AbstractDimArray constructors:

# Base.fillFunction.
julia
Base.fill(x, dims::Dimension...; kw...) => DimArray
+ 50  0.692235

source


Shorthand AbstractDimArray constructors:

# Base.fillFunction.
julia
Base.fill(x, dims::Dimension...; kw...) => DimArray
 Base.fill(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray

Create a DimArray with a fill value of x.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData, Random; Random.seed!(123);
 
 julia> rand(Bool, X(2), Y(4))
@@ -37,7 +37,7 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
  X,  Y
 └──────────────────────┘
  0  0  0  0
- 1  0  0  1

source


# Base.randFunction.
julia
Base.rand(x, dims::Dimension...; kw...) => DimArray
+ 1  0  0  1

source


# Base.randFunction.
julia
Base.rand(x, dims::Dimension...; kw...) => DimArray
 Base.rand(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray
 Base.rand(r::AbstractRNG, x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray
 Base.rand(r::AbstractRNG, x, dims::Dimension...; kw...) => DimArray

Create a DimArray of random values.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData
@@ -61,7 +61,7 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
   100.0       150.0       200.0
   :a    0.443494    0.253849    0.867547
   :b    0.745673    0.334152    0.0802658
-  :c    0.512083    0.427328    0.311448

source


# Base.zerosFunction.
julia
Base.zeros(x, dims::Dimension...; kw...) => DimArray
+  :c    0.512083    0.427328    0.311448

source


# Base.zerosFunction.
julia
Base.zeros(x, dims::Dimension...; kw...) => DimArray
 Base.zeros(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray

Create a DimArray of zeros.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData
 
 julia> zeros(Bool, X(2), Y(4))
@@ -83,7 +83,7 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
   100.0  150.0  200.0
   :a    0.0    0.0    0.0
   :b    0.0    0.0    0.0
-  :c    0.0    0.0    0.0

source


# Base.onesFunction.
julia
Base.ones(x, dims::Dimension...; kw...) => DimArray
+  :c    0.0    0.0    0.0

source


# Base.onesFunction.
julia
Base.ones(x, dims::Dimension...; kw...) => DimArray
 Base.ones(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray

Create a DimArray of ones.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData
 
 julia> ones(Bool, X(2), Y(4))
@@ -105,8 +105,8 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
   100.0  150.0  200.0
   :a    1.0    1.0    1.0
   :b    1.0    1.0    1.0
-  :c    1.0    1.0    1.0

source


Functions for getting information from objects:

# DimensionalData.Dimensions.dimsFunction.
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
-dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
+  :c    1.0    1.0    1.0

source


Functions for getting information from objects:

# DimensionalData.Dimensions.dimsFunction.
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
+dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
 dims(x, query...) => Tuple{Vararg{Dimension}}

Get the dimension(s) matching the type(s) of the query dimension.

Lookup can be an Int or an Dimension, or a tuple containing any combination of either.

Arguments

  • x: any object with a dims method, or a Tuple of Dimension.

  • query: Tuple or a single Dimension or Dimension Type.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(2, 3, 2), (X, Y, Z))
@@ -120,13 +120,13 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
  1.0  1.0  1.0
 
 julia> dims(A, (X, Y))
- X,  Y

source


# DimensionalData.Dimensions.refdimsFunction.
julia
refdims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
-refdims(x, dim) => Dimension

Reference dimensions for an array that is a slice or view of another array with more dimensions.

slicedims(a, dims) returns a tuple containing the current new dimensions and the new reference dimensions. Refdims can be stored in a field or discarded, as it is mostly to give context to plots. Ignoring refdims will simply leave some captions empty.

The default is to return an empty Tuple ().

source


# DimensionalData.Dimensions.Lookups.metadataFunction.
julia
metadata(x) => (object metadata)
+ X,  Y

source


# DimensionalData.Dimensions.refdimsFunction.
julia
refdims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
+refdims(x, dim) => Dimension

Reference dimensions for an array that is a slice or view of another array with more dimensions.

slicedims(a, dims) returns a tuple containing the current new dimensions and the new reference dimensions. Refdims can be stored in a field or discarded, as it is mostly to give context to plots. Ignoring refdims will simply leave some captions empty.

The default is to return an empty Tuple ().

source


# DimensionalData.Dimensions.Lookups.metadataFunction.
julia
metadata(x) => (object metadata)
 metadata(x, dims::Tuple)  => Tuple (Dimension metadata)
-metadata(xs::Tuple) => Tuple

Returns the metadata for an object or for the specified dimension(s)

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.nameFunction.
julia
name(x) => Symbol
+metadata(xs::Tuple) => Tuple

Returns the metadata for an object or for the specified dimension(s)

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.nameFunction.
julia
name(x) => Symbol
 name(xs:Tuple) => NTuple{N,Symbol}
 name(x, dims::Tuple) => NTuple{N,Symbol}
-name(x, dim) => Symbol

Get the name of an array or Dimension, or a tuple of of either as a Symbol.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.otherdimsFunction.
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
+name(x, dim) => Symbol

Get the name of an array or Dimension, or a tuple of of either as a Symbol.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source


# DimensionalData.Dimensions.otherdimsFunction.
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
 
@@ -134,7 +134,7 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
  Y,  Z
 
 julia> otherdims(A, (Y, Z))
- X

source


# DimensionalData.Dimensions.dimnumFunction.
julia
dimnum(x, query::Tuple) => NTuple{Int}
+ X

source


# DimensionalData.Dimensions.dimnumFunction.
julia
dimnum(x, query::Tuple) => NTuple{Int}
 dimnum(x, query) => Int

Get the number(s) of Dimension(s) as ordered in the dimensions of an object.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple, Array or single Dimension or dimension Type.

The return type will be a Tuple of Int or a single Int, depending on whether query is a Tuple or single Dimension.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
@@ -143,7 +143,7 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
 (3, 1, 2)
 
 julia> dimnum(A, Y)
-2

source


# DimensionalData.Dimensions.hasdimFunction.
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
+2

source


# DimensionalData.Dimensions.hasdimFunction.
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
 hasdim([f], x, query...) => NTuple{Bool}
 hasdim([f], x, query) => Bool

Check if an object x has dimensions that match or inherit from the query dimensions.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

Check if an object or tuple contains an Dimension, or a tuple of dimensions.

Example

julia
julia> using DimensionalData
 
@@ -156,7 +156,7 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
 (true, true, true)
 
 julia> hasdim(A, Ti)
-false

source


Multi-array datasets

# DimensionalData.AbstractDimStackType.
julia
AbstractDimStack

Abstract supertype for dimensional stacks.

These have multiple layers of data, but share dimensions.

Notably, their behaviour lies somewhere between a DimArray and a NamedTuple:

  • indexing with a Symbol as in dimstack[:symbol] returns a DimArray layer.

  • iteration and map apply over array layers, as indexed with a Symbol.

  • getindex and many base methods are applied as for DimArray - to avoid the need to always use map.

This design gives very succinct code when working with many-layered, mixed-dimension objects. But it may be jarring initially - the most surprising outcome is that dimstack[1] will return a NamedTuple of values for the first index in all layers, while first(dimstack) will return the first value of the iterator - the DimArray for the first layer.

See DimStack for the concrete implementation. Most methods are defined on the abstract type.

To extend AbstractDimStack, implement argument and keyword version of rebuild and also rebuild_from_arrays.

The constructor of an AbstractDimStack must accept a NamedTuple.

source


# DimensionalData.DimStackType.
julia
DimStack <: AbstractDimStack
+false

source


Multi-array datasets

# DimensionalData.AbstractDimStackType.
julia
AbstractDimStack

Abstract supertype for dimensional stacks.

These have multiple layers of data, but share dimensions.

Notably, their behaviour lies somewhere between a DimArray and a NamedTuple:

  • indexing with a Symbol as in dimstack[:symbol] returns a DimArray layer.

  • iteration and map apply over array layers, as indexed with a Symbol.

  • getindex and many base methods are applied as for DimArray - to avoid the need to always use map.

This design gives very succinct code when working with many-layered, mixed-dimension objects. But it may be jarring initially - the most surprising outcome is that dimstack[1] will return a NamedTuple of values for the first index in all layers, while first(dimstack) will return the first value of the iterator - the DimArray for the first layer.

See DimStack for the concrete implementation. Most methods are defined on the abstract type.

To extend AbstractDimStack, implement argument and keyword version of rebuild and also rebuild_from_arrays.

The constructor of an AbstractDimStack must accept a NamedTuple.

source


# DimensionalData.DimStackType.
julia
DimStack <: AbstractDimStack
 
 DimStack(data::AbstractDimArray...; kw...)
 DimStack(data::Tuple{Vararg{AbstractDimArray}}; kw...)
@@ -183,7 +183,7 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
 (one = 4.0, two = 8.0, three = 12.0)
 
 julia> s[X(At(:a))] isa DimStack
-true

source


Dimension generators

# DimensionalData.DimIndicesType.
julia
DimIndices <: AbstractArray
+true

source


Dimension generators

# DimensionalData.DimIndicesType.
julia
DimIndices <: AbstractArray
 
 DimIndices(x)
 DimIndices(dims::Tuple)
@@ -220,7 +220,7 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
 └─────────────────────────────────────────────────────────────────┘
    'a'       'c'
  0.0  0.9063    0.0991336
- 0.6  0.745673  0.692209

source


# DimensionalData.DimSelectorsType.
julia
DimSelectors <: AbstractArray
+ 0.6  0.745673  0.692209

source


# DimensionalData.DimSelectorsType.
julia
DimSelectors <: AbstractArray
 
 DimSelectors(x; selectors, atol...)
 DimSelectors(dims::Tuple; selectors, atol...)
@@ -238,11 +238,11 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
   1.0        11.0       21.0
   1.0  0.691162    0.218579   0.539076
  10.0  0.0303789   0.420756   0.485687
- 22.0  0.0967863   0.864856   0.870485

Using At would make sure we only use exact interpolation, while Contains with sampling of Intervals would make sure that each values is taken only from an Interval that is present in the lookups.

source


# DimensionalData.DimPointsType.
julia
DimPoints <: AbstractArray
+ 22.0  0.0967863   0.864856   0.870485

Using At would make sure we only use exact interpolation, while Contains with sampling of Intervals would make sure that each values is taken only from an Interval that is present in the lookups.

source


# DimensionalData.DimPointsType.
julia
DimPoints <: AbstractArray
 
 DimPoints(x; order)
 DimPoints(dims::Tuple; order)
-DimPoints(dims::Dimension; order)

Like CartesianIndices, but for the point values of the dimension index. Behaves as an Array of Tuple lookup values (whatever they are) for all combinations of the lookup values of dims.

Either a Dimension, a Tuple of Dimension or an object x that defines a dims method can be passed in.

Keywords

  • order: determines the order of the points, the same as the order of dims by default.

source


Tables.jl/TableTraits.jl interface

# DimensionalData.AbstractDimTableType.
julia
AbstractDimTable <: Tables.AbstractColumns

Abstract supertype for dim tables

source


# DimensionalData.DimTableType.
julia
DimTable <: AbstractDimTable
+DimPoints(dims::Dimension; order)

Like CartesianIndices, but for the point values of the dimension index. Behaves as an Array of Tuple lookup values (whatever they are) for all combinations of the lookup values of dims.

Either a Dimension, a Tuple of Dimension or an object x that defines a dims method can be passed in.

Keywords

  • order: determines the order of the points, the same as the order of dims by default.

source


Tables.jl/TableTraits.jl interface

# DimensionalData.AbstractDimTableType.
julia
AbstractDimTable <: Tables.AbstractColumns

Abstract supertype for dim tables

source


# DimensionalData.DimTableType.
julia
DimTable <: AbstractDimTable
 
 DimTable(s::AbstractDimStack; mergedims=nothing)
 DimTable(x::AbstractDimArray; layersfrom=nothing, mergedims=nothing)
@@ -272,7 +272,7 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0     1.0  1.0  1.0  1.0  1.0  1.0  1.0
  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0
 
-julia>

source


Group by methods

For transforming DimensionalData objects:

# DataAPI.groupbyFunction.
julia
groupby(A::Union{AbstractDimArray,AbstractDimStack}, dims::Pair...)
+julia>

source


Group by methods

For transforming DimensionalData objects:

# DataAPI.groupbyFunction.
julia
groupby(A::Union{AbstractDimArray,AbstractDimStack}, dims::Pair...)
 groupby(A::Union{AbstractDimArray,AbstractDimStack}, dims::Dimension{<:Callable}...)

Group A by grouping functions or Bins over multiple dimensions.

Arguments

  • A: any AbstractDimArray or AbstractDimStack.

  • dims: Pairs such as groups = groupby(A, :dimname => groupingfunction) or wrapped Dimensions like groups = groupby(A, DimType(groupingfunction)). Instead of a grouping function Bins can be used to specify group bins.

Return value

A DimGroupByArray is returned, which is basically a regular AbstractDimArray but holding the grouped AbstractDimArray or AbstractDimStack. Its dims hold the sorted values returned by the grouping function/s.

Base julia and package methods work on DimGroupByArray as for any other AbstractArray of AbstractArray.

It is common to broadcast or map a reducing function over groups, such as mean or sum, like mean.(groups) or map(mean, groups). This will return a regular DimArray, or DimGroupByArray if dims keyword is used in the reducing function or it otherwise returns an AbstractDimArray or AbstractDimStack.

Example

Group some data along the time dimension:

julia
julia> using DimensionalData, Dates
 
 julia> A = rand(X(1:0.1:20), Y(1:20), Ti(DateTime(2000):Day(3):DateTime(2003)));
@@ -325,8 +325,8 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
 
  10        0.501105     0.500644
  11        0.498606     0.498801
- 12        0.501643     0.499298

source


# DimensionalData.DimGroupByArrayType.
julia
DimGroupByArray <: AbstractDimArray

DimGroupByArray is essentially a DimArray but holding the results of a groupby operation.

Its dimensions are the sorted results of the grouping functions used in groupby.

This wrapper allows for specialisations on later broadcast or reducing operations, e.g. for chunk reading with DiskArrays.jl, because we know the data originates from a single array.

source


# DimensionalData.BinsType.
julia
Bins(f, bins; labels, pad)
-Bins(bins; labels, pad)

Specify bins to reduce groups after applying function f.

  • f: a grouping function of the lookup values, by default identity.

  • bins:

    • an Integer will divide the group values into equally spaced sections.

    • an AbstractArray of values will be treated as exact matches for the return value of f. For example, 1:3 will create 3 bins - 1, 2, 3.

    • an AbstractArray of IntervalSets.Interval can be used to explicitly define the intervals. Overlapping intervals have undefined behaviour.

Keywords

  • pad: fraction of the total interval to pad at each end when Bins contains an

<<<<<<< HEAD Integer. This avoids losing the edge values. Note this is a messy solution - it will often be preferable to manually specify a Vector of chosen Intervals rather than relying on passing an Integer and pad. ======= Integer. This avoids losing the edge values. Note this is a messy solution - it will often be prefereble to manually specify a Vector of chosen Intervals rather than relying on passing an Integer and pad.

parent of c54bc6c (Fix whitespace)

  • labels: a list of descriptive labels for the bins. The labels need to have the same length as bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source


# DimensionalData.rangesFunction.
julia
ranges(A::AbstractRange{<:Integer})

Generate a Vector of UnitRange with length step(A)

source


# DimensionalData.intervalsFunction.
julia
intervals(A::AbstractRange)

Generate a Vector of UnitRange with length step(A)

source


# DimensionalData.CyclicBinsType.
julia
CyclicBins(f; cycle, start, step, labels)

Cyclic bins to reduce groups after applying function f. Groups can wrap around the cycle. This is used for grouping in seasons, months and hours but can also be used for custom cycles.

  • f: a grouping function of the lookup values, by default identity.

Keywords

  • cycle: the length of the cycle, in return values of f.

  • start: the start of the cycle: a return value of f.

  • step the number of sequential values to group.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source


# DimensionalData.seasonsFunction.
julia
seasons(; [start=Dates.December, labels])

Generates CyclicBins for three month periods.

Keywords

  • start: By default seasons start in December, but any integer 1:12 can be used.

  • labels: either a vector of four labels, or a function that generates labels

<<<<<<< HEAD from Vector{Int} of the selected quarters. ======= from Vector{Int} of the selected quartals.

parent of c54bc6c (Fix whitespace)

source


# DimensionalData.monthsFunction.
julia
months(step; [start=Dates.January, labels])

Generates CyclicBins for grouping to arbitrary month periods. These can wrap around the end of a year.

  • step the number of months to group.

Keywords

  • start: By default months start in January, but any integer 1:12 can be used.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected months.

source


# DimensionalData.hoursFunction.
julia
hours(step; [start=0, labels])

Generates CyclicBins for grouping to arbitrary hour periods. These can wrap around the end of the day.

  • steps the number of hours to group.

Keywords

  • start: By default seasons start at 0, but any integer 1:24 can be used.

  • labels: either a vector of four labels, or a function that generates labels from Vector{Int} of the selected hours of the day.

source


Utility methods

For transforming DimensionalData objects:

# DimensionalData.Dimensions.Lookups.setFunction.
julia
set(x, val)
+ 12        0.501643     0.499298

source


# DimensionalData.DimGroupByArrayType.
julia
DimGroupByArray <: AbstractDimArray

DimGroupByArray is essentially a DimArray but holding the results of a groupby operation.

Its dimensions are the sorted results of the grouping functions used in groupby.

This wrapper allows for specialisations on later broadcast or reducing operations, e.g. for chunk reading with DiskArrays.jl, because we know the data originates from a single array.

source


# DimensionalData.BinsType.
julia
Bins(f, bins; labels, pad)
+Bins(bins; labels, pad)

Specify bins to reduce groups after applying function f.

  • f: a grouping function of the lookup values, by default identity.

  • bins:

    • an Integer will divide the group values into equally spaced sections.

    • an AbstractArray of values will be treated as exact matches for the return value of f. For example, 1:3 will create 3 bins - 1, 2, 3.

    • an AbstractArray of IntervalSets.Interval can be used to explicitly define the intervals. Overlapping intervals have undefined behaviour.

Keywords

  • pad: fraction of the total interval to pad at each end when Bins contains an

<<<<<<< HEAD Integer. This avoids losing the edge values. Note this is a messy solution - it will often be preferable to manually specify a Vector of chosen Intervals rather than relying on passing an Integer and pad. ======= Integer. This avoids losing the edge values. Note this is a messy solution - it will often be prefereble to manually specify a Vector of chosen Intervals rather than relying on passing an Integer and pad.

parent of c54bc6c (Fix whitespace)

  • labels: a list of descriptive labels for the bins. The labels need to have the same length as bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source


# DimensionalData.rangesFunction.
julia
ranges(A::AbstractRange{<:Integer})

Generate a Vector of UnitRange with length step(A)

source


# DimensionalData.intervalsFunction.
julia
intervals(A::AbstractRange)

Generate a Vector of UnitRange with length step(A)

source


# DimensionalData.CyclicBinsType.
julia
CyclicBins(f; cycle, start, step, labels)

Cyclic bins to reduce groups after applying function f. Groups can wrap around the cycle. This is used for grouping in seasons, months and hours but can also be used for custom cycles.

  • f: a grouping function of the lookup values, by default identity.

Keywords

  • cycle: the length of the cycle, in return values of f.

  • start: the start of the cycle: a return value of f.

  • step the number of sequential values to group.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source


# DimensionalData.seasonsFunction.
julia
seasons(; [start=Dates.December, labels])

Generates CyclicBins for three month periods.

Keywords

  • start: By default seasons start in December, but any integer 1:12 can be used.

  • labels: either a vector of four labels, or a function that generates labels

<<<<<<< HEAD from Vector{Int} of the selected quarters. ======= from Vector{Int} of the selected quartals.

parent of c54bc6c (Fix whitespace)

source


# DimensionalData.monthsFunction.
julia
months(step; [start=Dates.January, labels])

Generates CyclicBins for grouping to arbitrary month periods. These can wrap around the end of a year.

  • step the number of months to group.

Keywords

  • start: By default months start in January, but any integer 1:12 can be used.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected months.

source


# DimensionalData.hoursFunction.
julia
hours(step; [start=0, labels])

Generates CyclicBins for grouping to arbitrary hour periods. These can wrap around the end of the day.

  • steps the number of hours to group.

Keywords

  • start: By default seasons start at 0, but any integer 1:24 can be used.

  • labels: either a vector of four labels, or a function that generates labels from Vector{Int} of the selected hours of the day.

source


Utility methods

For transforming DimensionalData objects:

# DimensionalData.Dimensions.Lookups.setFunction.
julia
set(x, val)
 set(x, args::Pairs...) => x with updated field/s
 set(x, args...; kw...) => x with updated field/s
 set(x, args::Tuple{Vararg{Dimension}}; kw...) => x with updated field/s
@@ -387,11 +387,11 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
   -20.0  -10.0  0.0  10.0
  10.0    0.0    0.0  0.0   0.0
  20.0    0.0    0.0  0.0   0.0
- 30.0    0.0    0.0  0.0   0.0

source


# DimensionalData.Dimensions.Lookups.rebuildFunction.
julia
rebuild(x; kw...)

Rebuild an object struct with updated field values.

x can be a AbstractDimArray, a Dimension, Lookup or other custom types.

This is an abstraction that allows inbuilt and custom types to be rebuilt to update their fields, as most objects in DimensionalData.jl are immutable.

Rebuild is mostly automated using ConstructionBase.setproperties. It should only be defined if your object has fields with with different names to DimensionalData objects. Try not to do that!

The arguments required are defined for the abstract type that has a rebuild method.

AbstractBasicDimArray:

  • dims: a Tuple of Dimension

AbstractDimArray:

  • data: the parent object - an AbstractArray

  • dims: a Tuple of Dimension

  • refdims: a Tuple of Dimension

  • name: A Symbol, or NoName and Name on GPU.

  • metadata: A Dict-like object

AbstractDimStack:

  • data: the parent object, often a NamedTuple

  • dims, refdims, metadata

Dimension:

  • val: anything.

Lookup:

  • data: the parent object, an AbstractArray

  • Note: argument rebuild is deprecated on AbstractDimArray and

AbstractDimStack in favour of always using the keyword version. In future the argument version will only be used on Dimension, which only have one argument.

source


# DimensionalData.modifyFunction.
julia
modify(f, A::AbstractDimArray) => AbstractDimArray
+ 30.0    0.0    0.0  0.0   0.0

source


# DimensionalData.Dimensions.Lookups.rebuildFunction.
julia
rebuild(x; kw...)

Rebuild an object struct with updated field values.

x can be a AbstractDimArray, a Dimension, Lookup or other custom types.

This is an abstraction that allows inbuilt and custom types to be rebuilt to update their fields, as most objects in DimensionalData.jl are immutable.

Rebuild is mostly automated using ConstructionBase.setproperties. It should only be defined if your object has fields with with different names to DimensionalData objects. Try not to do that!

The arguments required are defined for the abstract type that has a rebuild method.

AbstractBasicDimArray:

  • dims: a Tuple of Dimension

AbstractDimArray:

  • data: the parent object - an AbstractArray

  • dims: a Tuple of Dimension

  • refdims: a Tuple of Dimension

  • name: A Symbol, or NoName and Name on GPU.

  • metadata: A Dict-like object

AbstractDimStack:

  • data: the parent object, often a NamedTuple

  • dims, refdims, metadata

Dimension:

  • val: anything.

Lookup:

  • data: the parent object, an AbstractArray

  • Note: argument rebuild is deprecated on AbstractDimArray and

AbstractDimStack in favour of always using the keyword version. In future the argument version will only be used on Dimension, which only have one argument.

source


# DimensionalData.modifyFunction.
julia
modify(f, A::AbstractDimArray) => AbstractDimArray
 modify(f, s::AbstractDimStack) => AbstractDimStack
 modify(f, dim::Dimension) => Dimension
 modify(f, x, lookupdim::Dimension) => typeof(x)

Modify the parent data, rebuilding the object wrapper without change. f must return a AbstractArray of the same size as the original.

This method is mostly useful as a way of swapping the parent array type of an object.

Example

If we have a previously-defined DimArray, we can copy it to an Nvidia GPU with:

julia
A = DimArray(rand(100, 100), (X, Y))
-modify(CuArray, A)

This also works for all the data layers in a DimStack.

source


# DimensionalData.broadcast_dimsFunction.
julia
broadcast_dims(f, sources::AbstractDimArray...) => AbstractDimArray

Broadcast function f over the AbstractDimArrays in sources, permuting and reshaping dimensions to match where required. The result will contain all the dimensions in all passed in arrays in the order in which they are found.

Arguments

  • sources: AbstractDimArrays to broadcast over with f.

This is like broadcasting over every slice of A if it is sliced by the dimensions of B.

source


# DimensionalData.broadcast_dims!Function.
julia
broadcast_dims!(f, dest::AbstractDimArray, sources::AbstractDimArray...) => dest

Broadcast function f over the AbstractDimArrays in sources, writing to dest. sources are permuting and reshaping dimensions to match where required.

The result will contain all the dimensions in all passed in arrays, in the order in which they are found.

Arguments

  • dest: AbstractDimArray to update.

  • sources: AbstractDimArrays to broadcast over with f.

source


# DimensionalData.mergedimsFunction.
julia
mergedims(old_dims => new_dim) => Dimension

Return a dimension new_dim whose indices are a MergedLookup of the indices of old_dims.

source

julia
mergedims(dims, old_dims => new_dim, others::Pair...) => dims_new

If dimensions old_dims, new_dim, etc. are found in dims, then return new dims_new where all dims in old_dims have been combined into a single dim new_dim. The returned dimension will keep only the name of new_dim. Its coords will be a MergedLookup of the coords of the dims in old_dims. New dimensions are always placed at the end of dims_new. others contains other dimension pairs to be merged.

Example

julia
julia> using DimensionalData
+modify(CuArray, A)

This also works for all the data layers in a DimStack.

source


# DimensionalData.broadcast_dimsFunction.
julia
broadcast_dims(f, sources::AbstractDimArray...) => AbstractDimArray

Broadcast function f over the AbstractDimArrays in sources, permuting and reshaping dimensions to match where required. The result will contain all the dimensions in all passed in arrays in the order in which they are found.

Arguments

  • sources: AbstractDimArrays to broadcast over with f.

This is like broadcasting over every slice of A if it is sliced by the dimensions of B.

source


# DimensionalData.broadcast_dims!Function.
julia
broadcast_dims!(f, dest::AbstractDimArray, sources::AbstractDimArray...) => dest

Broadcast function f over the AbstractDimArrays in sources, writing to dest. sources are permuting and reshaping dimensions to match where required.

The result will contain all the dimensions in all passed in arrays, in the order in which they are found.

Arguments

  • dest: AbstractDimArray to update.

  • sources: AbstractDimArrays to broadcast over with f.

source


# DimensionalData.mergedimsFunction.
julia
mergedims(old_dims => new_dim) => Dimension

Return a dimension new_dim whose indices are a MergedLookup of the indices of old_dims.

source

julia
mergedims(dims, old_dims => new_dim, others::Pair...) => dims_new

If dimensions old_dims, new_dim, etc. are found in dims, then return new dims_new where all dims in old_dims have been combined into a single dim new_dim. The returned dimension will keep only the name of new_dim. Its coords will be a MergedLookup of the coords of the dims in old_dims. New dimensions are always placed at the end of dims_new. others contains other dimension pairs to be merged.

Example

julia
julia> using DimensionalData
 
 julia> ds = (X(0:0.1:0.4), Y(10:10:100), Ti([0, 3, 4]))
  X  0.0:0.1:0.4,
@@ -400,9 +400,9 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
 
 julia> mergedims(ds, (X, Y) => :space)
  Ti    [0, 3, 4],
- space MergedLookup{Tuple{Float64, Int64}} [(0.0, 10), (0.1, 10), , (0.3, 100), (0.4, 100)]  X,  Y

source

julia
mergedims(A::AbstractDimArray, dim_pairs::Pair...) => AbstractDimArray
-mergedims(A::AbstractDimStack, dim_pairs::Pair...) => AbstractDimStack

Return a new array or stack whose dimensions are the result of mergedims(dims(A), dim_pairs).

source


# DimensionalData.unmergedimsFunction.
julia
unmergedims(merged_dims::Tuple{Vararg{Dimension}}) => Tuple{Vararg{Dimension}}

Return the unmerged dimensions from a tuple of merged dimensions. However, the order of the original dimensions are not necessarily preserved.

source

julia
unmergedims(A::AbstractDimArray, original_dims) => AbstractDimArray
-unmergedims(A::AbstractDimStack, original_dims) => AbstractDimStack

Return a new array or stack whose dimensions are restored to their original prior to calling mergedims(A, dim_pairs).

source


# DimensionalData.reorderFunction.
julia
reorder(A::Union{AbstractDimArray,AbstractDimStack}, order::Pair...)
+ space MergedLookup{Tuple{Float64, Int64}} [(0.0, 10), (0.1, 10), , (0.3, 100), (0.4, 100)]  X,  Y

source

julia
mergedims(A::AbstractDimArray, dim_pairs::Pair...) => AbstractDimArray
+mergedims(A::AbstractDimStack, dim_pairs::Pair...) => AbstractDimStack

Return a new array or stack whose dimensions are the result of mergedims(dims(A), dim_pairs).

source


# DimensionalData.unmergedimsFunction.
julia
unmergedims(merged_dims::Tuple{Vararg{Dimension}}) => Tuple{Vararg{Dimension}}

Return the unmerged dimensions from a tuple of merged dimensions. However, the order of the original dimensions are not necessarily preserved.

source

julia
unmergedims(A::AbstractDimArray, original_dims) => AbstractDimArray
+unmergedims(A::AbstractDimStack, original_dims) => AbstractDimStack

Return a new array or stack whose dimensions are restored to their original prior to calling mergedims(A, dim_pairs).

source


# DimensionalData.reorderFunction.
julia
reorder(A::Union{AbstractDimArray,AbstractDimStack}, order::Pair...)
 reorder(A::Union{AbstractDimArray,AbstractDimStack}, order)
 reorder(A::Dimension, order::Order)

Reorder every dims index/array to order, or reorder index for the given dimension(s) in order.

order can be an Order, Dimension => Order pairs. A Tuple of Dimensions or any object that defines dims can be used in which case the dimensions of this object are used for reordering.

If no axis reversal is required the same objects will be returned, without allocation.

Example

julia
using DimensionalData
 
@@ -416,7 +416,7 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
 reorder(rev, da) == da
 
 # output
-true

source


Base methods

# Base.catFunction.
julia
Base.cat(stacks::AbstractDimStack...; [keys=keys(stacks[1])], dims)

Concatenate all or a subset of layers for all passed in stacks.

Keywords

  • keys: Tuple of Symbol for the stack keys to concatenate.

  • dims: Dimension of child array to concatenate on.

Example

Concatenate the :sea_surface_temp and :humidity layers in the time dimension:

julia
cat(stacks...; keys=(:sea_surface_temp, :humidity), dims=Ti)

source


# Base.copy!Function.
julia
Base.copy!(dst::AbstractArray, src::AbstractDimStack, key::Key)

Copy the stack layer key to dst, which can be any AbstractArray.

Example

Copy the :humidity layer from stack to array.

julia
copy!(array, stack, :humidity)

source

julia
Base.copy!(dst::AbstractDimStack, src::AbstractDimStack, [keys=keys(dst)])

Copy all or a subset of layers from one stack to another.

Example

Copy just the :sea_surface_temp and :humidity layers from src to dst.

julia
copy!(dst::AbstractDimStack, src::AbstractDimStack, keys=(:sea_surface_temp, :humidity))

source


# Base.eachsliceFunction.
julia
Base.eachslice(A::AbstractDimArray; dims,drop=true)

Create a generator that iterates over dimensions dims of A, returning arrays that select all the data from the other dimensions in A using views.

The generator has size and axes equivalent to those of the provided dims if drop=true. Otherwise it will have the same dimensionality as the underlying array with inner dimensions having size 1.

source

julia
Base.eachslice(stack::AbstractDimStack; dims, drop=true)

Create a generator that iterates over dimensions dims of stack, returning stacks that select all the data from the other dimensions in stack using views.

The generator has size and axes equivalent to those of the provided dims.

Examples

julia
julia> ds = DimStack((
+true

source


Base methods

# Base.catFunction.
julia
Base.cat(stacks::AbstractDimStack...; [keys=keys(stacks[1])], dims)

Concatenate all or a subset of layers for all passed in stacks.

Keywords

  • keys: Tuple of Symbol for the stack keys to concatenate.

  • dims: Dimension of child array to concatenate on.

Example

Concatenate the :sea_surface_temp and :humidity layers in the time dimension:

julia
cat(stacks...; keys=(:sea_surface_temp, :humidity), dims=Ti)

source


# Base.copy!Function.
julia
Base.copy!(dst::AbstractArray, src::AbstractDimStack, key::Key)

Copy the stack layer key to dst, which can be any AbstractArray.

Example

Copy the :humidity layer from stack to array.

julia
copy!(array, stack, :humidity)

source

julia
Base.copy!(dst::AbstractDimStack, src::AbstractDimStack, [keys=keys(dst)])

Copy all or a subset of layers from one stack to another.

Example

Copy just the :sea_surface_temp and :humidity layers from src to dst.

julia
copy!(dst::AbstractDimStack, src::AbstractDimStack, keys=(:sea_surface_temp, :humidity))

source


# Base.eachsliceFunction.
julia
Base.eachslice(A::AbstractDimArray; dims,drop=true)

Create a generator that iterates over dimensions dims of A, returning arrays that select all the data from the other dimensions in A using views.

The generator has size and axes equivalent to those of the provided dims if drop=true. Otherwise it will have the same dimensionality as the underlying array with inner dimensions having size 1.

source

julia
Base.eachslice(stack::AbstractDimStack; dims, drop=true)

Create a generator that iterates over dimensions dims of stack, returning stacks that select all the data from the other dimensions in stack using views.

The generator has size and axes equivalent to those of the provided dims.

Examples

julia
julia> ds = DimStack((
            x=DimArray(randn(2, 3, 4), (X([:x1, :x2]), Y(1:3), Z)),
            y=DimArray(randn(2, 3, 5), (X([:x1, :x2]), Y(1:3), Ti))
        ));
@@ -439,13 +439,13 @@ import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y
 ├──────────────────────────────────────────────── layers ┤
   :x eltype: Float64 dims: Y size: 3
   :y eltype: Float64 dims: Y, Ti size: 3×5
-└────────────────────────────────────────────────────────┘

source


Most base methods work as expected, using Dimension wherever a dims keyword is used. They are not all specifically documented here.

Name

# DimensionalData.AbstractNameType.
julia
AbstractName

Abstract supertype for name wrappers.

source


# DimensionalData.NameType.
julia
Name <: AbstractName
+└────────────────────────────────────────────────────────┘

source


Most base methods work as expected, using Dimension wherever a dims keyword is used. They are not all specifically documented here.

Name

# DimensionalData.AbstractNameType.
julia
AbstractName

Abstract supertype for name wrappers.

source


# DimensionalData.NameType.
julia
Name <: AbstractName
 
 Name(name::Union{Symbol,Name) => Name
-Name(name::NoName) => NoName

Name wrapper. This lets arrays keep symbol names when the array wrapper needs to be isbits, like for use on GPUs. It makes the name a property of the type. It's not necessary to use in normal use, a symbol is probably easier.

source


# DimensionalData.NoNameType.
julia
NoName <: AbstractName
+Name(name::NoName) => NoName

Name wrapper. This lets arrays keep symbol names when the array wrapper needs to be isbits, like for use on GPUs. It makes the name a property of the type. It's not necessary to use in normal use, a symbol is probably easier.

source


# DimensionalData.NoNameType.
julia
NoName <: AbstractName
 
-NoName()

NoName specifies an array is not named, and is the default name value for all AbstractDimArrays.

source


Internal interface

# DimensionalData.DimArrayInterfaceType.
julia
    DimArrayInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_parent_kw, :rebuild_dims_kw, :rebuild) and optional components (:refdims, :name, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches dimensions of array

  • size: length of dims matches dimensions of array

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • name:

    • rebuild updates name in arg rebuild

    • rebuild updates name in kw rebuild

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source


# DimensionalData.DimStackInterfaceType.
julia
    DimStackInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_layerdims, :rebuild_dims_kw, :rebuild_parent_kw, :rebuild_layerdims_kw, :rebuild) and optional components (:refdims, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches ndims of stack

  • size: length of dims matches size of stack

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_layerdims: rebuild paaarnet and dims from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_layerdims_kw: rebuild parent from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source


# DimensionalData.rebuild_from_arraysFunction.
julia
rebuild_from_arrays(s::AbstractDimStack, das::NamedTuple{<:Any,<:Tuple{Vararg{AbstractDimArray}}}; kw...)

Rebuild an AbstractDimStack from a Tuple or NamedTuple of AbstractDimArray and an existing stack.

Keywords

Keywords are simply the fields of the stack object:

  • data

  • dims

  • refdims

  • metadata

  • layerdims

  • layermetadata

source


# DimensionalData.show_mainFunction.
julia
show_main(io::IO, mime, A::AbstractDimArray)
-show_main(io::IO, mime, A::AbstractDimStack)

Interface methods for adding the main part of show

At the least, you likely want to call:

julia
print_top(io, mime, A)

But read the DimensionalData.jl show.jl code for details.

source


# DimensionalData.show_afterFunction.
julia
show_after(io::IO, mime, A::AbstractDimArray)
-show_after(io::IO, mime, A::AbstractDimStack)

Interface methods for adding additional show text for AbstractDimArray/AbstractDimStack subtypes.

Always include kw to avoid future breaking changes

Additional keywords may be added at any time.

blockwidth is passed in context

julia
blockwidth = get(io, :blockwidth, 10000)

Note - a ANSI box is left unclosed. This method needs to close it, or add more. blockwidth is the maximum length of the inner text.

Most likely you always want to at least close the show blocks with:

julia
print_block_close(io, blockwidth)

But read the DimensionalData.jl show.jl code for details.

source


# DimensionalData.refdims_titleFunction.
julia
refdims_title(A::AbstractDimArray)
+NoName()

NoName specifies an array is not named, and is the default name value for all AbstractDimArrays.

source


Internal interface

# DimensionalData.DimArrayInterfaceType.
julia
    DimArrayInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_parent_kw, :rebuild_dims_kw, :rebuild) and optional components (:refdims, :name, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches dimensions of array

  • size: length of dims matches dimensions of array

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • name:

    • rebuild updates name in arg rebuild

    • rebuild updates name in kw rebuild

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source


# DimensionalData.DimStackInterfaceType.
julia
    DimStackInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_layerdims, :rebuild_dims_kw, :rebuild_parent_kw, :rebuild_layerdims_kw, :rebuild) and optional components (:refdims, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches ndims of stack

  • size: length of dims matches size of stack

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_layerdims: rebuild paaarnet and dims from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_layerdims_kw: rebuild parent from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source


# DimensionalData.rebuild_from_arraysFunction.
julia
rebuild_from_arrays(s::AbstractDimStack, das::NamedTuple{<:Any,<:Tuple{Vararg{AbstractDimArray}}}; kw...)

Rebuild an AbstractDimStack from a Tuple or NamedTuple of AbstractDimArray and an existing stack.

Keywords

Keywords are simply the fields of the stack object:

  • data

  • dims

  • refdims

  • metadata

  • layerdims

  • layermetadata

source


# DimensionalData.show_mainFunction.
julia
show_main(io::IO, mime, A::AbstractDimArray)
+show_main(io::IO, mime, A::AbstractDimStack)

Interface methods for adding the main part of show

At the least, you likely want to call:

julia
print_top(io, mime, A)

But read the DimensionalData.jl show.jl code for details.

source


# DimensionalData.show_afterFunction.
julia
show_after(io::IO, mime, A::AbstractDimArray)
+show_after(io::IO, mime, A::AbstractDimStack)

Interface methods for adding additional show text for AbstractDimArray/AbstractDimStack subtypes.

Always include kw to avoid future breaking changes

Additional keywords may be added at any time.

blockwidth is passed in context

julia
blockwidth = get(io, :blockwidth, 10000)

Note - a ANSI box is left unclosed. This method needs to close it, or add more. blockwidth is the maximum length of the inner text.

Most likely you always want to at least close the show blocks with:

julia
print_block_close(io, blockwidth)

But read the DimensionalData.jl show.jl code for details.

source


# DimensionalData.refdims_titleFunction.
julia
refdims_title(A::AbstractDimArray)
 refdims_title(refdims::Tuple)
-refdims_title(refdim::Dimension)

Generate a title string based on reference dimension values.

source


`,115),t=[e];function l(k,p,r,d,o,E){return a(),i("div",null,t)}const c=s(h,[["render",l]]);export{y as __pageData,c as default}; +refdims_title(refdim::Dimension)

Generate a title string based on reference dimension values.

source


`,115),t=[e];function l(k,p,d,r,o,E){return a(),i("div",null,t)}const c=s(h,[["render",l]]);export{y as __pageData,c as default}; diff --git a/dev/assets/api_reference.md.D1Kc48gy.lean.js b/dev/assets/api_reference.md.BmNx3sDP.lean.js similarity index 84% rename from dev/assets/api_reference.md.D1Kc48gy.lean.js rename to dev/assets/api_reference.md.BmNx3sDP.lean.js index f34e99742..34104f5e5 100644 --- a/dev/assets/api_reference.md.D1Kc48gy.lean.js +++ b/dev/assets/api_reference.md.BmNx3sDP.lean.js @@ -1 +1 @@ -import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y=JSON.parse('{"title":"API Reference","description":"","frontmatter":{},"headers":[],"relativePath":"api/reference.md","filePath":"api/reference.md","lastUpdated":null}'),h={name:"api/reference.md"},e=n("",115),t=[e];function l(k,p,r,d,o,E){return a(),i("div",null,t)}const c=s(h,[["render",l]]);export{y as __pageData,c as default}; +import{_ as s,c as i,o as a,a6 as n}from"./chunks/framework.CNWpduVv.js";const y=JSON.parse('{"title":"API Reference","description":"","frontmatter":{},"headers":[],"relativePath":"api/reference.md","filePath":"api/reference.md","lastUpdated":null}'),h={name:"api/reference.md"},e=n("",115),t=[e];function l(k,p,d,r,o,E){return a(),i("div",null,t)}const c=s(h,[["render",l]]);export{y as __pageData,c as default}; diff --git a/dev/assets/app.q4kKfx6o.js b/dev/assets/app.Dr4PpeXV.js similarity index 95% rename from dev/assets/app.q4kKfx6o.js rename to dev/assets/app.Dr4PpeXV.js index e6fae4eaf..a889bdf5a 100644 --- a/dev/assets/app.q4kKfx6o.js +++ b/dev/assets/app.Dr4PpeXV.js @@ -1 +1 @@ -import{U as o,a7 as p,a8 as u,a9 as l,aa as c,ab as f,ac as d,ad as m,ae as h,af as g,ag as A,d as P,u as v,y,x as w,ah as C,ai as R,aj as b,ak as E}from"./chunks/framework.CNWpduVv.js";import{R as S}from"./chunks/theme.CzarkSE4.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(S),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),R(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function _(){globalThis.__VITEPRESS__=!0;const e=x(),a=j();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function j(){return h(T)}function x(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&_().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{_ as createApp}; +import{U as o,a7 as p,a8 as u,a9 as l,aa as c,ab as f,ac as d,ad as m,ae as h,af as g,ag as A,d as P,u as v,y,x as w,ah as C,ai as R,aj as b,ak as E}from"./chunks/framework.CNWpduVv.js";import{R as S}from"./chunks/theme.Bh4_NIac.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(S),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),R(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function _(){globalThis.__VITEPRESS__=!0;const e=x(),a=j();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function j(){return h(T)}function x(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&_().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{_ as createApp}; diff --git a/dev/assets/chunks/@localSearchIndexroot.BX5fCE3o.js b/dev/assets/chunks/@localSearchIndexroot.BX5fCE3o.js new file mode 100644 index 000000000..3973de005 --- /dev/null +++ b/dev/assets/chunks/@localSearchIndexroot.BX5fCE3o.js @@ -0,0 +1 @@ +const e='{"documentCount":85,"nextId":85,"documentIds":{"0":"/DimensionalData.jl/dev/api/dimensions#dimensions","1":"/DimensionalData.jl/dev/api/dimensions#Exported-methods","2":"/DimensionalData.jl/dev/api/dimensions#Non-exported-methods","3":"/DimensionalData.jl/dev/api/dimensions#Primitive-methods","4":"/DimensionalData.jl/dev/api/lookuparrays#lookups","5":"/DimensionalData.jl/dev/api/lookuparrays#selectors","6":"/DimensionalData.jl/dev/api/lookuparrays#Lookup-traits","7":"/DimensionalData.jl/dev/api/lookuparrays#order","8":"/DimensionalData.jl/dev/api/lookuparrays#span","9":"/DimensionalData.jl/dev/api/lookuparrays#sampling","10":"/DimensionalData.jl/dev/api/lookuparrays#positions","11":"/DimensionalData.jl/dev/api/lookuparrays#metadata","12":"/DimensionalData.jl/dev/basics#installation","13":"/DimensionalData.jl/dev/basics#basics","14":"/DimensionalData.jl/dev/api/reference#API-Reference","15":"/DimensionalData.jl/dev/api/reference#arrays","16":"/DimensionalData.jl/dev/api/reference#Multi-array-datasets","17":"/DimensionalData.jl/dev/api/reference#Dimension-generators","18":"/DimensionalData.jl/dev/api/reference#Tables.jl/TableTraits.jl-interface","19":"/DimensionalData.jl/dev/api/reference#Group-by-methods","20":"/DimensionalData.jl/dev/api/reference#Utility-methods","21":"/DimensionalData.jl/dev/api/reference#name","22":"/DimensionalData.jl/dev/api/reference#Internal-interface","23":"/DimensionalData.jl/dev/broadcast_dims#broadcast_dims-and-broadcast_dims!","24":"/DimensionalData.jl/dev/broadcast_dims#Example:-scaling-along-the-time-dimension","25":"/DimensionalData.jl/dev/cuda#CUDA-and-GPUs","26":"/DimensionalData.jl/dev/cuda#GPU-Integration-goals","27":"/DimensionalData.jl/dev/dimarrays#dimarrays","28":"/DimensionalData.jl/dev/dimarrays#Constructing-DimArray-with-arbitrary-dimension-names","29":"/DimensionalData.jl/dev/dimarrays#Dimensional-Indexing","30":"/DimensionalData.jl/dev/dimarrays#Begin-End-indexing","31":"/DimensionalData.jl/dev/dimarrays#dims-keywords","32":"/DimensionalData.jl/dev/dimarrays#performance","33":"/DimensionalData.jl/dev/dimensions#dimensions","34":"/DimensionalData.jl/dev/diskarrays#DiskArrays.jl-compatibility","35":"/DimensionalData.jl/dev/extending_dd#Extending-DimensionalData","36":"/DimensionalData.jl/dev/extending_dd#dims","37":"/DimensionalData.jl/dev/extending_dd#Dimension-axes","38":"/DimensionalData.jl/dev/extending_dd#dims-keywords","39":"/DimensionalData.jl/dev/extending_dd#rebuild","40":"/DimensionalData.jl/dev/extending_dd#format","41":"/DimensionalData.jl/dev/extending_dd#Interfaces.jl-interface-testing","42":"/DimensionalData.jl/dev/groupby#Group-By","43":"/DimensionalData.jl/dev/groupby#Grouping-functions","44":"/DimensionalData.jl/dev/groupby#Grouping-and-reducing","45":"/DimensionalData.jl/dev/groupby#binning","46":"/DimensionalData.jl/dev/groupby#Select-by-Dimension","47":"/DimensionalData.jl/dev/get_info#getters","48":"/DimensionalData.jl/dev/get_info#predicates","49":"/DimensionalData.jl/dev/integrations#integrations","50":"/DimensionalData.jl/dev/integrations#rasters-jl","51":"/DimensionalData.jl/dev/integrations#yaxarrays-jl","52":"/DimensionalData.jl/dev/integrations#climatebase-jl","53":"/DimensionalData.jl/dev/integrations#arviz-jl","54":"/DimensionalData.jl/dev/integrations#jump-jl","55":"/DimensionalData.jl/dev/integrations#cryogrid-jl","56":"/DimensionalData.jl/dev/integrations#dynamicgrids-jl","57":"/DimensionalData.jl/dev/integrations#astroimages-jl","58":"/DimensionalData.jl/dev/integrations#timeseriestools-jl","59":"/DimensionalData.jl/dev/plots#plots-jl","60":"/DimensionalData.jl/dev/plots#makie-jl","61":"/DimensionalData.jl/dev/plots#Test-series-plots","62":"/DimensionalData.jl/dev/plots#default-colormap","63":"/DimensionalData.jl/dev/plots#A-different-colormap","64":"/DimensionalData.jl/dev/plots#with-markers","65":"/DimensionalData.jl/dev/object_modification#Modifying-objects","66":"/DimensionalData.jl/dev/object_modification#modify","67":"/DimensionalData.jl/dev/object_modification#reorder","68":"/DimensionalData.jl/dev/object_modification#mergedims","69":"/DimensionalData.jl/dev/object_modification#rebuild","70":"/DimensionalData.jl/dev/object_modification#rebuild-magic","71":"/DimensionalData.jl/dev/object_modification#set","72":"/DimensionalData.jl/dev/selectors#selectors","73":"/DimensionalData.jl/dev/selectors#lookups","74":"/DimensionalData.jl/dev/selectors#Lookup-autodetection","75":"/DimensionalData.jl/dev/selectors#DimSelector","76":"/DimensionalData.jl/dev/tables#Tables-and-DataFrames","77":"/DimensionalData.jl/dev/tables#example","78":"/DimensionalData.jl/dev/tables#Converting-to-DataFrame","79":"/DimensionalData.jl/dev/tables#Converting-to-CSV","80":"/DimensionalData.jl/dev/stacks#dimstacks","81":"/DimensionalData.jl/dev/stacks#NamedTuple-like-indexing","82":"/DimensionalData.jl/dev/stacks#Array-like-indexing","83":"/DimensionalData.jl/dev/stacks#Reducing-functions","84":"/DimensionalData.jl/dev/stacks#performance"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,307],"1":[2,1,133],"2":[3,1,137],"3":[2,1,344],"4":[1,1,490],"5":[1,1,332],"6":[2,1,41],"7":[1,3,73],"8":[1,3,93],"9":[1,3,66],"10":[1,3,100],"11":[1,1,148],"12":[1,1,40],"13":[1,1,164],"14":[2,1,1],"15":[1,2,338],"16":[3,2,226],"17":[2,2,233],"18":[4,2,115],"19":[3,1,359],"20":[2,1,418],"21":[1,2,62],"22":[2,2,183],"23":[4,1,50],"24":[7,4,191],"25":[4,1,176],"26":[3,4,110],"27":[1,1,228],"28":[6,1,75],"29":[2,1,258],"30":[3,1,129],"31":[2,1,118],"32":[1,1,88],"33":[1,1,102],"34":[3,1,77],"35":[2,1,68],"36":[1,2,18],"37":[2,3,55],"38":[2,3,47],"39":[1,2,106],"40":[1,2,54],"41":[4,2,91],"42":[2,1,22],"43":[2,2,114],"44":[3,2,213],"45":[1,2,300],"46":[3,2,141],"47":[1,1,216],"48":[1,1,59],"49":[1,1,1],"50":[2,1,69],"51":[2,1,38],"52":[2,1,12],"53":[2,1,18],"54":[2,1,24],"55":[2,1,18],"56":[2,1,34],"57":[2,1,15],"58":[2,1,9],"59":[2,1,51],"60":[2,1,66],"61":[3,2,1],"62":[2,5,21],"63":[3,5,32],"64":[2,5,19],"65":[2,1,39],"66":[1,2,84],"67":[1,2,82],"68":[1,2,23],"69":[1,2,188],"70":[2,3,51],"71":[1,2,138],"72":[1,1,209],"73":[1,1,215],"74":[2,1,157],"75":[1,1,323],"76":[3,1,71],"77":[1,3,115],"78":[3,3,251],"79":[3,3,85],"80":[1,1,89],"81":[3,1,172],"82":[3,1,127],"83":[2,1,144],"84":[1,1,69]},"averageFieldLength":[1.988235294117647,1.6823529411764706,124.3411764705882],"storedFields":{"0":{"title":"Dimensions","titles":[]},"1":{"title":"Exported methods","titles":["Dimensions"]},"2":{"title":"Non-exported methods","titles":["Dimensions"]},"3":{"title":"Primitive methods","titles":["Dimensions"]},"4":{"title":"Lookups","titles":[]},"5":{"title":"Selectors","titles":["Lookups"]},"6":{"title":"Lookup traits","titles":["Lookups"]},"7":{"title":"Order","titles":["Lookups","Lookup traits"]},"8":{"title":"Span","titles":["Lookups","Lookup traits"]},"9":{"title":"Sampling","titles":["Lookups","Lookup traits"]},"10":{"title":"Positions","titles":["Lookups","Lookup traits"]},"11":{"title":"Metadata","titles":["Lookups"]},"12":{"title":"Installation","titles":[]},"13":{"title":"Basics","titles":[]},"14":{"title":"API Reference","titles":[]},"15":{"title":"Arrays","titles":["API Reference"]},"16":{"title":"Multi-array datasets","titles":["API Reference"]},"17":{"title":"Dimension generators","titles":["API Reference"]},"18":{"title":"Tables.jl/TableTraits.jl interface","titles":["API Reference"]},"19":{"title":"Group by methods","titles":[]},"20":{"title":"Utility methods","titles":[]},"21":{"title":"Name","titles":["Utility methods"]},"22":{"title":"Internal interface","titles":["Utility methods"]},"23":{"title":"broadcast_dims and broadcast_dims!","titles":[]},"24":{"title":"Example: scaling along the time dimension","titles":["broadcast_dims and broadcast_dims!"]},"25":{"title":"CUDA & GPUs","titles":[]},"26":{"title":"GPU Integration goals","titles":["CUDA & GPUs"]},"27":{"title":"DimArrays","titles":[]},"28":{"title":"Constructing DimArray with arbitrary dimension names","titles":["DimArrays"]},"29":{"title":"Dimensional Indexing","titles":["DimArrays"]},"30":{"title":"Begin End indexing","titles":["DimArrays"]},"31":{"title":"dims keywords","titles":["DimArrays"]},"32":{"title":"Performance","titles":["DimArrays"]},"33":{"title":"Dimensions","titles":[]},"34":{"title":"DiskArrays.jl compatibility","titles":[]},"35":{"title":"Extending DimensionalData","titles":[]},"36":{"title":"dims","titles":["Extending DimensionalData"]},"37":{"title":"Dimension axes","titles":["Extending DimensionalData","dims"]},"38":{"title":"dims keywords","titles":["Extending DimensionalData","dims"]},"39":{"title":"rebuild","titles":["Extending DimensionalData"]},"40":{"title":"format","titles":["Extending DimensionalData"]},"41":{"title":"Interfaces.jl interface testing","titles":["Extending DimensionalData"]},"42":{"title":"Group By","titles":[]},"43":{"title":"Grouping functions","titles":["Group By"]},"44":{"title":"Grouping and reducing","titles":["Group By"]},"45":{"title":"Binning","titles":["Group By"]},"46":{"title":"Select by Dimension","titles":["Group By"]},"47":{"title":"Getters","titles":[]},"48":{"title":"Predicates","titles":["Getters"]},"49":{"title":"Integrations","titles":[]},"50":{"title":"Rasters.jl","titles":["Integrations"]},"51":{"title":"YAXArrays.jl","titles":["Integrations"]},"52":{"title":"ClimateBase.jl","titles":["Integrations"]},"53":{"title":"ArviZ.jl","titles":["Integrations"]},"54":{"title":"JuMP.jl","titles":["Integrations"]},"55":{"title":"CryoGrid.jl","titles":["Integrations"]},"56":{"title":"DynamicGrids.jl","titles":["Integrations"]},"57":{"title":"AstroImages.jl","titles":["Integrations"]},"58":{"title":"TimeseriesTools.jl","titles":["Integrations"]},"59":{"title":"Plots.jl","titles":[]},"60":{"title":"Makie.jl","titles":[]},"61":{"title":"Test series plots","titles":["Makie.jl"]},"62":{"title":"default colormap","titles":["Makie.jl","Test series plots"]},"63":{"title":"A different colormap","titles":["Makie.jl","Test series plots"]},"64":{"title":"with markers","titles":["Makie.jl","Test series plots"]},"65":{"title":"Modifying objects","titles":[]},"66":{"title":"modify","titles":["Modifying objects"]},"67":{"title":"reorder","titles":["Modifying objects"]},"68":{"title":"mergedims","titles":["Modifying objects"]},"69":{"title":"rebuild","titles":["Modifying objects"]},"70":{"title":"rebuild magic","titles":["Modifying objects","rebuild"]},"71":{"title":"set","titles":["Modifying objects"]},"72":{"title":"Selectors","titles":[]},"73":{"title":"Lookups","titles":["Selectors"]},"74":{"title":"Lookup autodetection","titles":["Selectors"]},"75":{"title":"DimSelector","titles":["Selectors"]},"76":{"title":"Tables and DataFrames","titles":[]},"77":{"title":"Example","titles":["Tables and DataFrames"]},"78":{"title":"Converting to DataFrame","titles":["Tables and DataFrames"]},"79":{"title":"Converting to CSV","titles":["Tables and DataFrames"]},"80":{"title":"DimStacks","titles":[]},"81":{"title":"NamedTuple-like indexing","titles":["DimStacks"]},"82":{"title":"Array-like indexing","titles":["DimStacks"]},"83":{"title":"Reducing functions","titles":["DimStacks"]},"84":{"title":"Performance","titles":["DimStacks"]}},"dirtCount":0,"index":[["$st",{"2":{"84":2}}],["$da4",{"2":{"32":2}}],["+",{"2":{"83":2}}],["q",{"2":{"78":1}}],["quite",{"2":{"69":1}}],["quick",{"2":{"45":1}}],["quartals",{"2":{"19":1}}],["quarters",{"2":{"19":1}}],["quantity",{"2":{"5":1}}],["quot",{"2":{"3":2,"6":2,"15":4,"33":2}}],["query",{"2":{"1":16,"3":6,"15":16,"47":1}}],["─────┼──────────────────────────────────────────────────────────────────────────",{"2":{"78":1}}],["──────┼───────────────────────────────────────────",{"2":{"78":1}}],["──────┼───────────────────────────────────────────────",{"2":{"78":1}}],["──────┼──────────────────────────────────",{"2":{"78":1}}],["⋯",{"2":{"78":6}}],["├────────",{"2":{"66":1}}],["├───────────────┴─────────────────────────────────────────────",{"2":{"83":4}}],["├───────────────┴────────────────────────────────────────────",{"2":{"80":1,"81":6,"83":20}}],["├────────────────┴─────────────────────────────────",{"2":{"78":1}}],["├───────────────────┴─────────────────────────────────────",{"2":{"77":1}}],["├───────────────────",{"2":{"27":1,"28":1,"30":2,"32":1}}],["├────────────────────┴──────────────────────────────────────",{"2":{"82":1}}],["├────────────────────",{"2":{"27":5,"29":1,"71":1}}],["├─────────────────────┴─────────────────────────────────────",{"2":{"83":1}}],["├──────────────────────",{"2":{"27":1,"29":1}}],["├───────────────────────",{"2":{"18":1,"27":1}}],["├───────────────────────┴────────────────────────────────────────────────",{"2":{"5":1}}],["├───────────────────────┴───────────────────────────────",{"2":{"5":1}}],["├───────────────────────┴──────────────────────────────",{"2":{"5":2}}],["├─────────────────────────",{"2":{"27":3,"28":1,"29":1}}],["├─────────────────────────┴─────────────────────────────",{"2":{"74":1}}],["├─────────────────────────┴──────────────────────────────────",{"2":{"72":2}}],["├─────────────────────────┴───────────────────────────────────────",{"2":{"72":2}}],["├─────────────────────────┴─────────────────────────────────────────",{"2":{"17":1,"20":3}}],["├─────────────────────────┴──────────────────────────────────────────────",{"2":{"72":1,"75":2}}],["├─────────────────────────┴────────────────────────────────────────────",{"2":{"72":1}}],["├─────────────────────────┴───────────────────────────────────────────",{"2":{"20":1,"72":3}}],["├─────────────────────────┴──────────────────────────────────────────",{"2":{"4":1,"29":1}}],["├─────────────────────────┴─────────────────────────────────────",{"2":{"15":3,"20":1}}],["├─────────────────────────┴─────────────────────────────────",{"2":{"17":2,"72":4,"75":1}}],["├─────────────────────────┴───────────────────────────────",{"2":{"13":1}}],["├─────────────────────────┴───────────────────────",{"2":{"13":1}}],["├──────────────────────────┴────────────────────────────────",{"2":{"69":1,"71":4}}],["├──────────────────────────┴─────────────────────────────────",{"2":{"67":2}}],["├──────────────────────────┴───────────────────────────────────────────",{"2":{"71":1}}],["├──────────────────────────┴─────────────────────────────────────────────",{"2":{"0":1}}],["├──────────────────────────┴───────────────────────────────────────",{"2":{"19":1}}],["├───────────────────────────┴────────────────────────────────",{"2":{"75":1}}],["├───────────────────────────┴───────────────────────────────────",{"2":{"47":1}}],["├────────────────────────────┴───────────────────────────────",{"2":{"81":1}}],["├────────────────────────────┴──────────────────────────────────",{"2":{"75":1}}],["├────────────────────────────┴───────────────────────────────────────────",{"2":{"0":1,"46":2}}],["├─────────────────────────────",{"2":{"27":1}}],["├───────────────────────────────┴───────────────",{"2":{"72":2}}],["├───────────────────────────────┴─────────────────────────",{"2":{"45":1}}],["├───────────────────────────────┴──────────────────────────────",{"2":{"25":1}}],["├───────────────────────────────┴────────────────────────────────────────",{"2":{"24":2,"44":1,"45":1}}],["├───────────────────────────────┴─────────────────",{"2":{"45":1}}],["├─────────────────────────────────┴─────────────────────────",{"2":{"81":1}}],["├─────────────────────────────────┴──────────────────────────────────────",{"2":{"44":2}}],["├─────────────────────────────────┴─────────────────────────────────",{"2":{"44":1}}],["├───────────────────────────────────┴─────────────────────",{"2":{"77":1}}],["├───────────────────────────────────┴───────────────────────",{"2":{"69":1}}],["├────────────────────────────────────────────┴───────────────────────────",{"2":{"73":1}}],["├─────────────────────────────────────────────",{"2":{"45":1}}],["├──────────────────────────────────────────────────┴",{"2":{"45":1}}],["├──────────────────────────────────────────────────┴───────────────────",{"2":{"45":1}}],["├──────────────────────────────────────────────────┴─────────────────────",{"2":{"45":5}}],["├──────────────────────────────────────────────────────┴─────────────────",{"2":{"46":1}}],["├───────────────────────────────────────────────────────",{"2":{"45":1,"69":1,"77":1}}],["├─────────────────────────────────────────────────────────",{"2":{"82":1,"83":1}}],["├──────────────────────────────────────────────────────────",{"2":{"80":1,"81":6,"83":20}}],["├───────────────────────────────────────────────────────────",{"2":{"19":1,"44":1,"83":4}}],["├────────────────────────────────────────────────────────────────",{"2":{"45":1}}],["├──────────────────────────────────────────────────────────────────",{"2":{"45":7,"46":1}}],["├────────────────────────────────────────────────────────────────────",{"2":{"44":3,"45":7,"46":2}}],["├───────────────────────────────────────────────────────────────",{"2":{"44":1}}],["├──────────────────────────────────────────────────────────────",{"2":{"19":1}}],["├─────────────────────────────────────────────────────────────",{"2":{"19":2,"44":3}}],["├────────────────────────────────────────────────────────┴",{"2":{"45":1}}],["├─────────────────────────────────────────────────────",{"2":{"45":1}}],["├───────────────────────────────────────────────────┴────────────────────",{"2":{"45":1}}],["├───────────────────────────────────────────────────┴─────────────",{"2":{"19":1,"44":1}}],["├────────────────────────────────────────────────",{"2":{"20":1,"78":1}}],["├────────────────────────────────────────┴───────────────────────────────",{"2":{"24":1}}],["├───────────────────────────────────────",{"2":{"17":1}}],["├───────────────────────────────────────┴─────────────",{"2":{"15":1}}],["├───────────────────────────────────────┴───────────────",{"2":{"15":1}}],["├────────────────────────────────┴────────────────────────────────",{"2":{"19":1,"44":2}}],["├────────────────────────────────┴───────────────────────────────────────",{"2":{"0":1,"24":2,"44":1}}],["├─────────────────────────────┴────────────────",{"2":{"13":1}}],["├──────────────────────────",{"2":{"27":1}}],["├─────────────────────",{"2":{"1":1,"3":1,"15":1,"27":2,"31":2}}],["├──────────────────",{"2":{"27":1}}],["├────────────────",{"2":{"15":4,"66":2}}],["├──────────────┴────────────────",{"2":{"66":1}}],["├──────────────┴───────────────────────────────────",{"2":{"20":1}}],["▆█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▆▁█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▂",{"2":{"32":1}}],["▆",{"2":{"32":1}}],["▄█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▆▁█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▁▂▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▂",{"2":{"32":1}}],["█",{"2":{"32":2}}],["▂",{"2":{"32":3}}],["σ",{"2":{"32":4}}],["±",{"2":{"32":8}}],["┊",{"2":{"32":6}}],["~",{"2":{"30":2}}],["└",{"2":{"30":2}}],["└─────────────────────────┘",{"2":{"28":1,"30":2,"32":1}}],["└──────────────────────────┘",{"2":{"27":5,"29":1,"71":1}}],["└────────────────────────────┘",{"2":{"29":1}}],["└───────────────────────────────┘",{"2":{"27":2,"28":1,"29":1}}],["└────────────────────────────────┘",{"2":{"27":1}}],["└───────────────────────────────────────┘",{"2":{"66":1}}],["└─────────────────────────────────────────────┘",{"2":{"17":1}}],["└─────────────────────────────────────────────────────┘",{"2":{"72":2}}],["└────────────────────────────────────────────────────────┘",{"2":{"20":1,"78":1}}],["└───────────────────────────────────────────────────────────┘",{"2":{"15":1}}],["└──────────────────────────────────────────────────────────────────┘",{"2":{"67":2,"72":2,"75":1,"80":1,"81":7,"83":20}}],["└───────────────────────────────────────────────────────────────────┘",{"2":{"45":1,"83":4}}],["└────────────────────────────────────────────────────────────────────┘",{"2":{"25":1}}],["└────────────────────────────────────────────────────────────────────────┘",{"2":{"19":1}}],["└─────────────────────────────────────────────────────────────────────────┘",{"2":{"17":1,"20":3,"44":1}}],["└────────────────────────────────────────────────────────────────────────────┘",{"2":{"45":1,"71":1,"72":1}}],["└──────────────────────────────────────────────────────────────────────────────┘",{"2":{"0":3,"5":1,"24":5,"44":4,"45":7,"46":3,"72":1,"73":1,"75":2}}],["└───────────────────────────────────────────────────────────────────────────┘",{"2":{"20":1,"72":3}}],["└──────────────────────────────────────────────────────────────────────────┘",{"2":{"4":1,"29":1}}],["└───────────────────────────────────────────────────────────────────────┘",{"2":{"19":2,"44":3,"72":2}}],["└─────────────────────────────────────────────────────────────────────┘",{"2":{"15":3,"20":1,"47":1,"75":1}}],["└─────────────────────────────────────────────────────────────────┘",{"2":{"17":2,"69":2,"71":4,"72":4,"75":1,"81":1,"82":1,"83":1}}],["└───────────────────────────────────────────────────────────────┘",{"2":{"13":1,"45":1,"77":2}}],["└─────────────────────────────────────────────────────────────┘",{"2":{"5":1,"15":1,"74":1}}],["└────────────────────────────────────────────────────────────┘",{"2":{"5":2}}],["└───────────────────────────────────────────────────────┘",{"2":{"13":1,"45":1}}],["└────────────────────────────────────────────────────┘",{"2":{"13":1}}],["└───────────────────────────────────┘",{"2":{"27":1}}],["└─────────────────────────────┘",{"2":{"18":1,"27":1}}],["└───────────────────────────┘",{"2":{"1":1,"3":1,"15":1,"31":2}}],["└────────────────────────┘",{"2":{"27":1}}],["└──────────────────────┘",{"2":{"15":4,"66":2}}],["┌",{"2":{"30":2}}],["⋱",{"2":{"24":2,"25":1,"44":1,"46":2,"75":2,"77":1,"78":1}}],["╭───────────────╮",{"2":{"80":1,"81":6,"83":24}}],["╭────────────────╮",{"2":{"78":1}}],["╭─────────────────────╮",{"2":{"83":1}}],["╭──────────────────────╮",{"2":{"15":4,"66":2}}],["╭────────────────────────╮",{"2":{"27":1}}],["╭─────────────────────────╮",{"2":{"4":1,"13":2,"15":3,"17":3,"20":5,"28":1,"29":1,"30":2,"32":1,"72":13,"74":1,"75":3}}],["╭───────────────────────────╮",{"2":{"1":1,"3":1,"15":1,"31":2,"47":1,"75":1}}],["╭───────────────────────────────╮",{"2":{"24":2,"25":1,"27":2,"28":1,"29":1,"44":1,"45":3,"72":2}}],["╭─────────────────────────────────╮",{"2":{"44":3,"81":1}}],["╭───────────────────────────────────╮",{"2":{"27":1,"69":1,"77":1}}],["╭────────────────────────────────────────────╮",{"2":{"73":1}}],["╭──────────────────────────────────────────────────────╮",{"2":{"46":1}}],["╭───────────────────────────────────────────────────╮",{"2":{"19":1,"44":1,"45":1}}],["╭──────────────────────────────────────────────────╮",{"2":{"45":7}}],["╭─────────────────────────────────────────────╮",{"2":{"17":1}}],["╭────────────────────────────────────────╮",{"2":{"24":1}}],["╭───────────────────────────────────────╮",{"2":{"15":2}}],["╭────────────────────────────────╮",{"2":{"0":1,"19":1,"24":2,"27":1,"44":3}}],["╭─────────────────────────────╮",{"2":{"13":1,"18":1,"27":1}}],["╭────────────────────────────╮",{"2":{"0":1,"29":1,"46":2,"75":1,"81":1}}],["╭──────────────────────────╮",{"2":{"0":1,"19":1,"27":5,"29":1,"67":2,"69":1,"71":6}}],["╭───────────────────────╮",{"2":{"5":4}}],["╭────────────────────╮",{"2":{"82":1}}],["╭───────────────────╮",{"2":{"77":1}}],["╭──────────────╮",{"2":{"20":1,"66":1}}],["⋮",{"2":{"19":3,"24":4,"25":1,"43":8,"44":8,"45":3,"46":3,"75":3,"77":2,"78":24,"79":1,"82":1}}],["|>",{"2":{"13":1}}],["𝐓",{"2":{"5":2}}],[">=",{"2":{"72":1}}],[">",{"2":{"5":3,"16":1,"45":2,"72":1}}],["9436941638102098",{"2":{"82":1}}],["94",{"2":{"78":1}}],["9447511416331498",{"2":{"79":1}}],["944751",{"2":{"78":2}}],["94412",{"2":{"29":1}}],["947312",{"2":{"77":1}}],["947741",{"2":{"27":1}}],["946655",{"2":{"75":1}}],["946824",{"2":{"47":1}}],["94196",{"2":{"75":1}}],["941133",{"2":{"17":1}}],["942925",{"2":{"74":1}}],["948976",{"2":{"47":1}}],["948512",{"2":{"27":3}}],["94018e",{"2":{"44":1}}],["945371",{"2":{"29":1}}],["949105",{"2":{"27":3}}],["925267535912165",{"2":{"82":1,"84":2}}],["925873",{"2":{"27":3}}],["92977",{"2":{"75":1}}],["929995",{"2":{"25":1}}],["92",{"2":{"75":1}}],["921567",{"2":{"78":1}}],["921958",{"2":{"77":1,"78":2}}],["921012",{"2":{"47":1}}],["921145",{"2":{"47":1}}],["920736",{"2":{"29":1}}],["92721",{"2":{"25":1}}],["924417",{"2":{"24":2}}],["991119595116132e",{"2":{"83":1}}],["9919365440188083",{"2":{"82":2,"83":2}}],["994295",{"2":{"75":1}}],["994",{"2":{"75":4}}],["990294",{"2":{"75":1}}],["992316",{"2":{"29":1}}],["993498",{"2":{"27":1}}],["999193",{"2":{"44":1}}],["99903",{"2":{"44":1}}],["99999",{"2":{"44":1}}],["999983",{"2":{"44":1}}],["999708",{"2":{"44":1}}],["999815",{"2":{"44":1}}],["999816",{"2":{"27":1}}],["999846",{"2":{"44":1}}],["999678",{"2":{"27":1}}],["999",{"2":{"25":1}}],["9982064541308482",{"2":{"83":2}}],["998",{"2":{"25":1}}],["997672",{"2":{"27":3}}],["997",{"2":{"25":1}}],["99719",{"2":{"24":1}}],["996",{"2":{"25":1}}],["995",{"2":{"25":1}}],["995683",{"2":{"25":1}}],["995899",{"2":{"24":1}}],["99",{"2":{"24":2,"44":1,"46":2,"70":2,"72":1,"78":1}}],["983904",{"2":{"78":1}}],["98893",{"2":{"78":1}}],["98534418543618",{"2":{"83":2}}],["985377",{"2":{"77":1,"78":1}}],["985407",{"2":{"75":1}}],["986606",{"2":{"75":1}}],["987",{"2":{"75":1}}],["981865",{"2":{"44":1}}],["98193",{"2":{"25":1}}],["980256",{"2":{"31":1}}],["98985",{"2":{"47":1}}],["989571",{"2":{"27":3}}],["989952",{"2":{"25":1}}],["982762",{"2":{"25":1}}],["98",{"2":{"24":2,"44":1,"46":2,"75":1,"78":1}}],["9770663775826343",{"2":{"79":1}}],["977066",{"2":{"78":2}}],["973",{"2":{"75":1}}],["973586",{"2":{"75":1}}],["973622",{"2":{"74":1}}],["970459",{"2":{"29":1}}],["97999",{"2":{"24":1}}],["974596",{"2":{"24":2}}],["97",{"2":{"24":2,"44":2,"46":1,"78":1}}],["938732432349465",{"2":{"82":1}}],["938732",{"2":{"81":1}}],["938771",{"2":{"75":1}}],["93358",{"2":{"81":1}}],["936495",{"2":{"78":1}}],["931705",{"2":{"75":1}}],["932968",{"2":{"47":1}}],["930699",{"2":{"75":1}}],["930599",{"2":{"46":1}}],["930332",{"2":{"17":1}}],["934609",{"2":{"29":1}}],["93479",{"2":{"13":1}}],["935096",{"2":{"27":1}}],["9003647810614493",{"2":{"82":1}}],["900394",{"2":{"25":1}}],["909847",{"2":{"78":1}}],["907202",{"2":{"67":2,"69":2,"71":6}}],["904604",{"2":{"29":1}}],["904961",{"2":{"29":2}}],["90251",{"2":{"27":3}}],["90309",{"2":{"25":1}}],["906705",{"2":{"47":1}}],["906838",{"2":{"25":1}}],["90645",{"2":{"25":1}}],["9063",{"2":{"17":2}}],["90u",{"2":{"5":1}}],["951145",{"2":{"78":1}}],["95213",{"2":{"75":1}}],["95217",{"2":{"25":1}}],["952489",{"2":{"75":1}}],["950007",{"2":{"75":1}}],["950143",{"2":{"47":1}}],["950645",{"2":{"29":1}}],["956616",{"2":{"78":1}}],["956031",{"2":{"29":1}}],["95636",{"2":{"13":1}}],["959028",{"2":{"24":2}}],["959434",{"2":{"17":1}}],["95",{"2":{"13":1,"78":1}}],["964227",{"2":{"81":1}}],["964964",{"2":{"75":1}}],["960726",{"2":{"78":1}}],["963657",{"2":{"77":1}}],["966",{"2":{"75":1}}],["966106",{"2":{"27":2}}],["9698812177371097",{"2":{"82":1,"83":2}}],["969881",{"2":{"81":1}}],["969079",{"2":{"72":3}}],["96951",{"2":{"24":1}}],["965831",{"2":{"28":2,"30":2}}],["967865",{"2":{"24":2}}],["96",{"2":{"5":2,"44":2,"46":1,"75":1,"78":1}}],["9130495399200352",{"2":{"82":1}}],["91305",{"2":{"81":1}}],["915251",{"2":{"74":1}}],["9155",{"2":{"25":1}}],["91666",{"2":{"75":1}}],["916216",{"2":{"44":1}}],["916702",{"2":{"29":1}}],["914911",{"2":{"77":1}}],["91495",{"2":{"25":1}}],["914",{"2":{"32":1}}],["917143",{"2":{"75":1}}],["91732",{"2":{"29":1}}],["917457",{"2":{"29":1}}],["917672",{"2":{"27":1}}],["917543",{"2":{"27":3}}],["912065",{"2":{"27":3}}],["919763",{"2":{"13":1}}],["91",{"2":{"5":2,"13":1}}],["9",{"2":{"4":2,"13":2,"17":2,"20":2,"24":1,"43":1,"45":18,"47":7,"73":1,"75":6,"77":2,"78":4,"79":2,"81":3}}],["7×5",{"2":{"74":1}}],["7×3",{"2":{"29":1}}],["750622",{"2":{"75":1}}],["750947",{"2":{"75":1}}],["750906",{"2":{"29":1}}],["753744",{"2":{"75":1}}],["753597",{"2":{"75":1}}],["75275",{"2":{"45":4}}],["758149",{"2":{"74":1}}],["758865",{"2":{"29":1}}],["75847",{"2":{"25":1}}],["754468",{"2":{"28":1,"30":2}}],["75568",{"2":{"25":1}}],["70",{"2":{"74":3}}],["706417",{"2":{"44":1}}],["706267",{"2":{"28":1,"30":2}}],["708321",{"2":{"29":1}}],["704858",{"2":{"27":1}}],["7076921858340348",{"2":{"27":1}}],["707692",{"2":{"27":2}}],["702944",{"2":{"25":1}}],["70597",{"2":{"13":1}}],["738445",{"2":{"78":1}}],["734751",{"2":{"75":1}}],["735973",{"2":{"81":1}}],["73591",{"2":{"25":1}}],["735391",{"2":{"75":1}}],["73",{"2":{"45":1}}],["730",{"2":{"44":2}}],["73011",{"2":{"31":1}}],["736525",{"2":{"44":1}}],["73623",{"2":{"25":1}}],["736214",{"2":{"24":2}}],["739241",{"2":{"29":1}}],["793532",{"2":{"81":1}}],["7938317326707394",{"2":{"79":1}}],["793832",{"2":{"78":2}}],["798655984630017",{"2":{"79":1}}],["798656",{"2":{"78":2}}],["798",{"2":{"75":2}}],["795274",{"2":{"75":1}}],["791844",{"2":{"74":1}}],["792553",{"2":{"74":1}}],["792885",{"2":{"24":2}}],["794017",{"2":{"29":2}}],["794163",{"2":{"29":1}}],["790283",{"2":{"24":2}}],["729706",{"2":{"75":1}}],["728852",{"2":{"75":1}}],["72217",{"2":{"74":1}}],["727464",{"2":{"75":2}}],["727149",{"2":{"47":1}}],["727997",{"2":{"46":1}}],["727554",{"2":{"29":1}}],["721331",{"2":{"29":1}}],["724709",{"2":{"27":1}}],["723438",{"2":{"27":2}}],["725738",{"2":{"24":2}}],["72",{"2":{"13":1,"45":1}}],["775634",{"2":{"81":1}}],["773256",{"2":{"78":1}}],["770101",{"2":{"75":1}}],["770553",{"2":{"67":2,"69":2,"71":6}}],["772277",{"2":{"72":5}}],["777391",{"2":{"75":2}}],["777",{"2":{"30":2}}],["778122",{"2":{"81":1}}],["778166",{"2":{"27":2}}],["778222",{"2":{"25":1}}],["774092",{"2":{"15":1,"17":1}}],["774731",{"2":{"13":1}}],["77",{"2":{"13":1}}],["74172",{"2":{"77":1,"78":1}}],["74191",{"2":{"27":1}}],["743407",{"2":{"77":1}}],["747615",{"2":{"75":1}}],["748884",{"2":{"75":1}}],["748041",{"2":{"72":8}}],["749553",{"2":{"81":1}}],["749731",{"2":{"74":1}}],["749253",{"2":{"47":1}}],["749267",{"2":{"44":1,"46":2}}],["745856",{"2":{"71":1}}],["745673",{"2":{"15":1,"17":2}}],["742852",{"2":{"46":1}}],["740523",{"2":{"27":1}}],["740735",{"2":{"27":1}}],["74",{"2":{"13":2}}],["76448",{"2":{"81":1}}],["764613",{"2":{"27":3}}],["7683418213117802",{"2":{"79":1}}],["768342",{"2":{"78":2}}],["768924169642427",{"2":{"79":1}}],["768924",{"2":{"78":2}}],["768488",{"2":{"72":3}}],["767151",{"2":{"75":1}}],["76547e",{"2":{"44":1}}],["762533",{"2":{"44":1}}],["762794",{"2":{"13":1}}],["760111",{"2":{"31":1}}],["760205",{"2":{"27":3}}],["761212",{"2":{"29":1}}],["76163",{"2":{"24":2}}],["769313",{"2":{"29":1}}],["76",{"2":{"13":2}}],["7140841681506571",{"2":{"82":1}}],["714084",{"2":{"81":1}}],["714286",{"2":{"28":1,"30":2}}],["713814",{"2":{"78":1}}],["717841",{"2":{"75":1}}],["717006",{"2":{"75":1}}],["712342",{"2":{"75":2}}],["712711",{"2":{"27":1}}],["715102",{"2":{"47":1}}],["711133",{"2":{"72":12}}],["711714",{"2":{"31":1}}],["71194",{"2":{"27":1}}],["719779",{"2":{"78":1}}],["719495",{"2":{"29":1}}],["719974",{"2":{"25":1}}],["710967",{"2":{"27":3}}],["71",{"2":{"13":2}}],["781497",{"2":{"81":1}}],["789667",{"2":{"78":1}}],["789637",{"2":{"46":2}}],["788252",{"2":{"75":1}}],["786147",{"2":{"29":1}}],["7802406914680406",{"2":{"82":1}}],["78028",{"2":{"25":1}}],["780196",{"2":{"27":1}}],["780132",{"2":{"27":2}}],["78",{"2":{"13":3}}],["7",{"2":{"4":4,"5":5,"13":1,"24":1,"27":102,"29":6,"43":10,"44":1,"45":5,"47":9,"73":1,"74":1,"77":1,"78":12,"79":2,"81":3,"83":21}}],["rot180",{"2":{"83":2}}],["rotr90",{"2":{"83":2}}],["rotl90",{"2":{"83":2}}],["rotated",{"2":{"4":1,"83":1}}],["rotations",{"2":{"3":1}}],["rows",{"2":{"78":4}}],["row",{"2":{"78":4}}],["runtime",{"2":{"32":1}}],["running",{"2":{"25":1,"45":1}}],["r",{"2":{"15":2,"78":1}}],["right",{"2":{"13":3,"60":2,"71":2}}],["rtoldefault",{"2":{"5":1}}],["rtol=nothing",{"2":{"5":1}}],["rtol",{"2":{"5":3}}],["rainclouds",{"2":{"60":1}}],["raw",{"2":{"45":1}}],["rarely",{"2":{"34":1}}],["rasterization",{"2":{"50":1}}],["rasterize",{"2":{"5":1}}],["raster",{"2":{"35":1,"50":3}}],["rasterstack",{"2":{"35":1,"50":1}}],["rasters",{"0":{"50":1},"2":{"4":3,"34":1,"35":1,"50":2,"51":1}}],["randn",{"2":{"20":2}}],["random",{"2":{"15":3}}],["rand",{"2":{"4":3,"13":3,"15":9,"17":3,"19":1,"20":1,"24":1,"25":1,"27":6,"28":1,"29":1,"31":1,"41":4,"44":1,"47":1,"60":1,"62":1,"67":1,"72":1,"74":1,"75":3,"77":2,"81":3}}],["ranges",{"2":{"5":1,"19":1,"30":1,"45":6,"72":3,"74":4}}],["range",{"2":{"4":2,"5":1,"15":2,"20":1,"32":2,"40":1,"43":2,"45":1,"50":1,"72":1,"74":1}}],["rather",{"2":{"3":1,"4":2,"5":1,"9":1,"19":3,"26":1,"65":1,"67":1}}],["red",{"2":{"63":1,"64":1}}],["reductions",{"2":{"15":1,"34":1}}],["reducing",{"0":{"44":1,"83":1},"2":{"15":1,"19":3}}],["reduce",{"2":{"3":1,"19":2,"31":1,"83":2}}],["reduced",{"2":{"3":1}}],["reducedims",{"2":{"3":1}}],["receive",{"2":{"39":1}}],["reconstruction",{"2":{"15":1,"39":1}}],["recommended",{"2":{"12":1}}],["rev",{"2":{"20":2}}],["reversal",{"2":{"20":1}}],["reverseordered",{"2":{"4":5,"7":3,"45":1,"47":15,"48":14,"67":5,"74":2,"75":2,"83":8}}],["reverse",{"2":{"4":1,"7":1,"20":4,"31":1,"47":1,"67":1,"83":1}}],["reversed",{"2":{"4":1}}],["reordering",{"2":{"20":1}}],["reorder",{"0":{"67":1},"2":{"20":8,"60":1,"67":4}}],["relationships",{"2":{"34":1}}],["related",{"2":{"26":1}}],["relying",{"2":{"19":2}}],["reliable",{"2":{"4":1}}],["reasons",{"2":{"50":1}}],["reason",{"2":{"26":1,"50":1}}],["readlines",{"2":{"79":1}}],["read",{"2":{"22":2}}],["reading",{"2":{"19":1}}],["real",{"2":{"4":1}}],["really",{"2":{"3":1,"70":1}}],["removing",{"2":{"16":1}}],["removed",{"2":{"5":1}}],["reshape",{"2":{"23":1,"68":1}}],["reshaping",{"2":{"20":2}}],["restored",{"2":{"20":1}}],["resolve",{"2":{"16":1,"30":1}}],["result",{"2":{"5":1,"16":1,"20":3,"25":1,"30":1,"76":1}}],["results",{"2":{"5":2,"19":2,"59":1}}],["rebuilt",{"2":{"15":1,"20":1,"65":1}}],["rebuilding",{"2":{"20":1}}],["rebuild",{"0":{"39":1,"69":1,"70":1},"1":{"70":1},"2":{"4":2,"15":3,"16":2,"20":5,"22":54,"26":1,"35":1,"39":7,"41":40,"69":6,"70":2,"71":1}}],["requires",{"2":{"38":1,"45":1}}],["require",{"2":{"9":1}}],["required",{"2":{"0":1,"3":1,"11":1,"18":1,"20":4,"26":1}}],["repl",{"2":{"73":1}}],["replaces",{"2":{"3":1,"26":1}}],["replaced",{"2":{"3":1,"8":1}}],["replace",{"2":{"3":2,"20":1,"66":1}}],["represents",{"2":{"37":1,"80":1}}],["representing",{"2":{"4":1}}],["represent",{"2":{"4":1,"10":1}}],["refdim",{"2":{"22":1}}],["refdims=refdims",{"2":{"16":1}}],["refdims=",{"2":{"15":1}}],["refdims",{"2":{"15":9,"20":2,"22":21,"39":1,"41":12,"69":2}}],["refence",{"2":{"15":1}}],["reference",{"0":{"14":1},"1":{"15":1,"16":1,"17":1,"18":1},"2":{"3":2,"15":3,"22":1,"35":1}}],["refer",{"2":{"0":1,"9":1}}],["ref",{"2":{"3":1}}],["rewraps",{"2":{"3":1}}],["retrieved",{"2":{"33":1}}],["retrieves",{"2":{"5":1,"47":1}}],["retrieve",{"2":{"2":1,"5":1,"47":1}}],["returning",{"2":{"3":1,"11":1,"20":2,"83":1}}],["returns",{"2":{"2":1,"3":3,"5":1,"11":2,"15":3,"16":2,"17":1,"19":1,"22":2,"41":2,"45":3,"47":1,"82":1}}],["returned",{"2":{"1":1,"3":2,"4":1,"11":1,"15":1,"19":2,"20":2,"33":1,"48":1}}],["return",{"2":{"1":3,"3":3,"4":8,"5":2,"15":6,"16":7,"19":7,"20":7,"36":1,"37":2,"38":2,"43":1,"47":1,"48":1,"82":2,"84":1}}],["regular",{"2":{"0":5,"2":1,"4":7,"5":4,"8":4,"10":2,"13":4,"15":5,"17":2,"18":1,"19":2,"20":10,"23":1,"24":10,"25":3,"29":2,"35":1,"38":1,"44":2,"45":1,"46":5,"47":30,"48":28,"67":2,"69":2,"71":5,"72":7,"73":3,"74":3,"75":6,"77":4,"78":2,"80":2,"81":15,"82":1,"83":49}}],["k",{"2":{"78":1}}],["kind",{"2":{"43":1}}],["kinds",{"2":{"15":4,"27":1}}],["knowing",{"2":{"29":1}}],["knows",{"2":{"24":1,"35":1}}],["know",{"2":{"19":1,"23":1,"69":1,"70":1}}],["known",{"2":{"4":5,"10":1,"29":1}}],["kw",{"2":{"3":4,"4":1,"11":1,"15":10,"16":5,"20":3,"22":17,"39":2,"41":10,"69":2}}],["kernels",{"2":{"26":1}}],["kernelabstractions",{"2":{"26":1}}],["kernel",{"2":{"26":1}}],["keeping",{"2":{"3":1}}],["keep",{"2":{"3":1,"20":2,"21":1,"45":1}}],["key",{"2":{"20":3,"35":1,"76":1}}],["keys=",{"2":{"20":2}}],["keys=keys",{"2":{"20":2}}],["keys",{"2":{"0":1,"11":2,"16":1,"20":2,"22":4,"45":1,"81":2}}],["keywords",{"0":{"31":1,"38":1},"2":{"3":1,"4":2,"15":4,"17":2,"18":1,"19":5,"20":1,"22":5,"28":1,"30":1,"31":1,"39":1,"40":1,"41":2,"69":4,"70":1}}],["keyword",{"2":{"0":1,"4":3,"15":1,"16":1,"19":1,"20":3,"38":1,"39":2,"70":1}}],["kept",{"2":{"0":1,"3":1}}],["┤",{"2":{"1":1,"3":1,"15":5,"17":1,"18":1,"19":4,"20":1,"27":16,"28":2,"29":3,"30":2,"31":2,"32":1,"44":8,"45":18,"46":3,"66":3,"69":1,"71":1,"77":1,"78":1,"80":1,"81":6,"82":1,"83":25}}],["u",{"2":{"78":1}}],["utility",{"0":{"20":1},"1":{"21":1,"22":1}}],["updating",{"2":{"39":1}}],["update",{"2":{"20":3}}],["updates",{"2":{"15":1,"22":6,"41":6}}],["updated",{"2":{"3":2,"20":4,"22":6,"41":6}}],["upperbound",{"2":{"8":1}}],["upper",{"2":{"5":1,"8":1}}],["unrolled",{"2":{"76":1}}],["unambiguous",{"2":{"47":1}}],["unaltered",{"2":{"4":1}}],["unaligned",{"2":{"4":4}}],["unclosed",{"2":{"22":1}}],["unmerged",{"2":{"20":1}}],["unmergedims",{"2":{"20":2}}],["unmatched",{"2":{"1":1,"15":1}}],["unknown",{"2":{"17":1,"74":1}}],["underneath",{"2":{"70":1}}],["underlying",{"2":{"1":1,"15":1,"20":1}}],["undefined",{"2":{"4":1,"15":2,"19":1,"40":1}}],["unless",{"2":{"4":4,"5":1,"30":1,"74":1,"76":1}}],["unlike",{"2":{"3":2,"11":1,"17":1,"71":1}}],["unordered",{"2":{"4":6,"7":3,"45":3,"71":2,"73":2,"74":2}}],["unitrange",{"2":{"19":2,"45":3,"72":2}}],["unit",{"2":{"11":2}}],["unitful",{"2":{"5":3}}],["units",{"2":{"2":1,"11":5}}],["unionall",{"2":{"3":1}}],["union",{"2":{"2":1,"3":1,"4":5,"5":1,"11":3,"19":2,"20":2,"21":1}}],["us",{"2":{"11":1,"29":1,"33":1,"71":1}}],["user",{"2":{"34":1}}],["uses",{"2":{"4":1,"8":1,"26":2,"33":1,"55":1,"58":1,"69":1}}],["useful",{"2":{"1":1,"3":3,"4":6,"17":1,"20":1,"47":1,"66":1,"69":1}}],["use",{"2":{"0":3,"3":1,"4":2,"5":3,"7":1,"11":1,"12":1,"15":2,"16":3,"17":1,"20":1,"21":3,"25":1,"28":1,"29":1,"30":1,"39":1,"44":1,"45":5,"48":1,"69":1,"72":1,"75":1,"76":1}}],["used",{"2":{"0":7,"2":1,"3":5,"4":7,"5":4,"6":1,"8":1,"9":1,"10":7,"16":2,"17":4,"19":9,"20":4,"29":2,"30":2,"31":1,"33":1,"34":1,"39":3,"43":1,"44":1,"47":1,"56":1,"60":1,"69":1,"73":1,"74":3}}],["usually",{"2":{"0":1,"3":2,"15":1,"38":1,"43":1,"71":1,"72":1,"73":2,"84":1}}],["using",{"2":{"0":2,"1":4,"3":1,"4":5,"5":3,"11":2,"12":2,"13":1,"15":10,"16":1,"17":2,"18":2,"19":1,"20":9,"24":2,"26":1,"27":1,"28":1,"30":1,"31":1,"32":1,"33":1,"39":2,"41":1,"43":2,"44":1,"47":3,"66":1,"67":1,"72":2,"73":1,"77":2,"78":2,"80":1,"84":1}}],["v",{"2":{"78":1}}],["visualise",{"2":{"57":1}}],["via",{"2":{"34":1}}],["views",{"2":{"20":2,"55":1}}],["view",{"2":{"3":1,"15":1,"16":2,"17":1,"30":1}}],["very",{"2":{"16":2,"51":1,"69":1,"84":1}}],["versions",{"2":{"39":2}}],["version",{"2":{"12":1,"16":1,"20":2,"39":1,"69":1,"70":1,"76":1}}],["vectors",{"2":{"3":1,"29":1,"72":3}}],["vector",{"2":{"0":1,"4":2,"5":1,"16":1,"19":13,"20":2,"29":2,"43":8,"45":4,"47":2,"72":5,"73":3,"79":1,"82":2}}],["variable",{"2":{"60":1,"65":1}}],["var",{"2":{"31":1,"83":2}}],["vararg",{"2":{"1":4,"2":3,"3":6,"4":5,"15":10,"16":2,"18":1,"20":3,"22":1,"29":1}}],["valtype",{"2":{"3":1}}],["valid",{"2":{"3":1}}],["val",{"2":{"2":2,"3":1,"4":4,"11":1,"20":5,"33":2,"38":2,"47":3,"69":4}}],["val=",{"2":{"0":5}}],["value",{"2":{"0":1,"3":2,"4":2,"5":12,"8":1,"9":1,"10":1,"15":5,"16":3,"17":1,"19":7,"21":1,"27":1,"28":1,"33":1,"47":2,"72":4,"84":1}}],["values=autovalues",{"2":{"4":1}}],["values",{"2":{"0":1,"2":1,"3":5,"4":15,"5":12,"7":1,"9":2,"10":6,"15":1,"16":3,"17":5,"19":9,"20":2,"22":1,"37":1,"39":1,"43":1,"45":5,"59":1,"65":1,"68":1,"69":1,"71":2,"72":5,"73":5,"74":3,"75":1,"82":2}}],["`refdims`",{"2":{"41":2}}],["`dims`",{"2":{"41":2}}],["`da`",{"2":{"20":1}}],["`cuarray`",{"2":{"25":1}}],["`modify`",{"2":{"25":1}}],["`openinterval",{"2":{"5":1}}],["`",{"2":{"0":1}}],["nanoseconds",{"2":{"84":1}}],["names",{"0":{"28":1},"2":{"18":1,"20":1,"21":1,"23":1,"28":1,"33":2,"47":1,"72":1,"73":1}}],["name=nothing",{"2":{"16":1}}],["name=noname",{"2":{"15":1}}],["name=",{"2":{"15":1,"16":3,"27":5,"69":1,"77":1}}],["name2dim",{"2":{"3":3}}],["name",{"0":{"21":1},"2":{"2":1,"15":10,"18":2,"20":3,"21":11,"22":4,"26":3,"28":1,"33":2,"39":1,"41":4,"69":2,"72":1,"76":2,"80":1,"81":2}}],["namedtuple",{"0":{"81":1},"2":{"11":3,"16":12,"20":1,"22":2,"80":2,"81":1,"82":4,"84":1}}],["named",{"2":{"0":1,"10":2,"21":1,"27":1,"30":1,"33":1,"54":1,"63":1}}],["n=rand",{"2":{"81":1}}],["nt",{"2":{"70":2}}],["ntuple",{"2":{"1":3,"2":3,"15":5}}],["night",{"2":{"45":4}}],["nice",{"2":{"45":1}}],["ncdatasets",{"2":{"34":1}}],["ns",{"2":{"32":14,"84":2}}],["ndims",{"2":{"22":5,"41":3}}],["nvidia",{"2":{"20":1}}],["neighbor",{"2":{"75":1}}],["neighbour",{"2":{"17":1}}],["necessary",{"2":{"21":1}}],["necessarily",{"2":{"20":1}}],["netcdf",{"2":{"10":1,"34":1}}],["next",{"2":{"5":1}}],["needed",{"2":{"26":1,"69":1,"74":1}}],["needs",{"2":{"21":1,"22":1}}],["need",{"2":{"4":1,"12":1,"16":3,"19":1,"20":2,"26":3}}],["nearly",{"2":{"35":1}}],["nearest",{"2":{"5":3,"17":1,"75":1}}],["near",{"2":{"4":2,"5":6,"15":2,"17":2,"72":3,"75":2}}],["newdim",{"2":{"3":4}}],["newdims",{"2":{"3":4}}],["new",{"2":{"0":1,"3":5,"4":1,"15":2,"18":1,"20":13,"35":1,"39":1,"83":1}}],["nosampling",{"2":{"71":1}}],["nospan",{"2":{"71":1}}],["nov",{"2":{"45":4,"73":1}}],["now",{"2":{"43":1,"45":1,"54":1,"73":1,"82":1}}],["normalization",{"2":{"46":1}}],["normal",{"2":{"7":1,"21":1}}],["nometadata",{"2":{"4":3,"11":2,"15":1}}],["nolookup",{"2":{"4":11,"15":4,"20":1,"71":2,"73":9,"74":1}}],["no",{"2":{"2":1,"3":3,"4":2,"11":1,"20":2,"23":1,"32":1,"34":1,"71":1,"73":1,"74":1,"84":1}}],["noname",{"2":{"20":1,"21":5}}],["non",{"0":{"2":1},"2":{"15":2,"16":1}}],["notice",{"2":{"17":1,"19":1}}],["notably",{"2":{"16":2,"56":1}}],["note",{"2":{"5":1,"19":2,"20":1,"22":1,"45":2}}],["notes",{"2":{"4":1,"20":1}}],["nothing",{"2":{"1":1,"3":4,"4":1,"5":2,"8":2,"11":4,"15":1,"74":4}}],["not",{"2":{"0":1,"1":1,"3":4,"4":6,"5":8,"10":3,"11":4,"15":1,"17":2,"19":1,"20":6,"21":2,"22":4,"24":1,"26":1,"29":1,"30":2,"39":1,"40":1,"45":3,"47":1,"50":1,"59":1,"67":1,"69":3,"71":1,"72":4,"73":2,"74":1,"76":1,"81":3,"82":1,"83":1}}],["number",{"2":{"1":1,"3":1,"4":1,"5":1,"15":1,"19":5,"22":2,"41":2,"69":1,"74":1}}],["n",{"2":{"1":1,"2":3,"3":1,"4":3,"15":3,"45":1,"67":5,"69":4,"71":6,"78":1,"81":3}}],["nbsp",{"2":{"0":15,"1":4,"2":5,"3":12,"4":23,"5":10,"6":1,"7":6,"8":5,"9":3,"10":6,"11":4,"15":14,"16":2,"17":3,"18":2,"19":9,"20":11,"21":3,"22":6}}],["8219054655873324",{"2":{"82":1}}],["822008",{"2":{"75":1}}],["824659",{"2":{"75":1}}],["823123",{"2":{"75":1}}],["823656",{"2":{"15":1}}],["825204",{"2":{"74":1}}],["829714",{"2":{"47":1}}],["8288995877624121",{"2":{"79":1}}],["8289",{"2":{"78":2}}],["828161",{"2":{"77":1}}],["828515",{"2":{"46":2}}],["828395",{"2":{"29":1}}],["827852",{"2":{"31":1}}],["832538",{"2":{"75":1}}],["834418",{"2":{"75":1}}],["835674",{"2":{"75":1}}],["835288",{"2":{"25":1}}],["831617",{"2":{"47":1}}],["837335",{"2":{"29":1}}],["836107",{"2":{"29":2}}],["839618",{"2":{"29":1}}],["830187",{"2":{"27":1}}],["83056",{"2":{"25":1}}],["8146121812750928",{"2":{"79":1}}],["8136963000324107",{"2":{"79":1}}],["813696",{"2":{"78":2}}],["819605",{"2":{"77":1,"78":1}}],["819928",{"2":{"44":1}}],["811917",{"2":{"75":1}}],["815253",{"2":{"75":1}}],["815365",{"2":{"27":2}}],["810377",{"2":{"75":1}}],["8107",{"2":{"27":1}}],["81253",{"2":{"27":1}}],["81708",{"2":{"25":1}}],["818644",{"2":{"24":2}}],["884385",{"2":{"78":1}}],["887294",{"2":{"77":1}}],["887979",{"2":{"75":1}}],["882656",{"2":{"74":1}}],["882085",{"2":{"71":1}}],["883323",{"2":{"74":1}}],["883222",{"2":{"72":9}}],["885929",{"2":{"28":1,"30":2}}],["885914",{"2":{"27":3}}],["888721",{"2":{"77":1}}],["88841",{"2":{"28":1,"30":2}}],["88869",{"2":{"25":1}}],["881149",{"2":{"25":1}}],["880853",{"2":{"75":1}}],["880796",{"2":{"29":2}}],["88092",{"2":{"25":1}}],["88058",{"2":{"25":1}}],["88",{"2":{"13":1,"75":1}}],["894053",{"2":{"78":1}}],["890574",{"2":{"77":1}}],["891596",{"2":{"75":1}}],["896624",{"2":{"75":1}}],["896257",{"2":{"74":1}}],["896315",{"2":{"24":2}}],["899356",{"2":{"75":1}}],["899632",{"2":{"47":1}}],["899864",{"2":{"44":1,"46":1}}],["89862",{"2":{"29":1}}],["895608",{"2":{"27":2}}],["893537",{"2":{"17":1}}],["89",{"2":{"13":1}}],["849707",{"2":{"78":1}}],["849576",{"2":{"71":1}}],["842029",{"2":{"81":1}}],["8428656510212863",{"2":{"79":1}}],["842866",{"2":{"78":2}}],["842792",{"2":{"44":1}}],["847872",{"2":{"75":1}}],["847018",{"2":{"29":1}}],["84475",{"2":{"75":2}}],["844547",{"2":{"13":1}}],["846736",{"2":{"75":1}}],["848624",{"2":{"75":1}}],["84",{"2":{"13":1,"75":1}}],["87656",{"2":{"81":1}}],["876112",{"2":{"47":1}}],["8719143923648308",{"2":{"79":1}}],["871914",{"2":{"78":2}}],["878565",{"2":{"75":1}}],["873218",{"2":{"75":1}}],["87255",{"2":{"72":3}}],["875108",{"2":{"46":1}}],["875221",{"2":{"24":2}}],["870348",{"2":{"74":1}}],["870276",{"2":{"29":2}}],["870485",{"2":{"17":1}}],["879774",{"2":{"29":1}}],["87436",{"2":{"25":1}}],["87",{"2":{"13":3,"44":1}}],["8632634208267141",{"2":{"82":2}}],["868917",{"2":{"78":1}}],["868966",{"2":{"47":1}}],["868587",{"2":{"78":1}}],["8612776980335002",{"2":{"79":1}}],["861278",{"2":{"78":2}}],["86112",{"2":{"78":1}}],["86174",{"2":{"25":1}}],["865713",{"2":{"75":1}}],["865233",{"2":{"29":2}}],["865298",{"2":{"27":2}}],["869012",{"2":{"72":3}}],["864128",{"2":{"47":1}}],["864765",{"2":{"29":1}}],["864856",{"2":{"17":1}}],["860933",{"2":{"27":2}}],["867547",{"2":{"15":1,"17":1}}],["86",{"2":{"13":1}}],["8560905731682101",{"2":{"79":1}}],["856091",{"2":{"78":2}}],["853553",{"2":{"29":1}}],["8542391508438596",{"2":{"82":1}}],["854239",{"2":{"81":1}}],["854076",{"2":{"27":2}}],["854739",{"2":{"25":1}}],["85",{"2":{"13":1,"78":1}}],["80023",{"2":{"81":1}}],["808889",{"2":{"75":1}}],["806495",{"2":{"75":1}}],["802776",{"2":{"72":4}}],["802122",{"2":{"29":1}}],["804846",{"2":{"67":2,"69":2,"71":6}}],["80455",{"2":{"25":1}}],["8030281996030815",{"2":{"82":1}}],["803446",{"2":{"67":2,"69":2,"71":6}}],["803293",{"2":{"29":1}}],["803192",{"2":{"13":1}}],["80",{"2":{"4":1,"13":1,"45":1}}],["8",{"2":{"0":1,"4":1,"5":2,"13":1,"16":1,"24":1,"29":4,"43":1,"44":2,"45":11,"47":7,"72":8,"73":2,"75":7,"77":2,"78":12,"79":2,"81":3}}],["6×10",{"2":{"81":1,"83":30}}],["6×6",{"2":{"75":3}}],["6×3",{"2":{"72":2}}],["6am",{"2":{"45":1}}],["6445457662038467",{"2":{"82":2}}],["640974",{"2":{"81":1}}],["640311",{"2":{"47":1}}],["648179",{"2":{"78":1}}],["64534",{"2":{"78":1}}],["645678",{"2":{"77":1}}],["645795",{"2":{"44":1,"46":2}}],["642187",{"2":{"75":1}}],["642908",{"2":{"25":1}}],["647225",{"2":{"74":1}}],["64",{"2":{"45":1}}],["634377",{"2":{"78":1}}],["634499",{"2":{"29":1}}],["636476",{"2":{"77":1}}],["631878",{"2":{"75":1}}],["633956",{"2":{"47":1}}],["635963",{"2":{"47":1}}],["639212",{"2":{"47":1}}],["639499",{"2":{"44":1}}],["63",{"2":{"44":1}}],["637077",{"2":{"15":2}}],["6702922824659258",{"2":{"82":2}}],["670607",{"2":{"77":1,"78":1}}],["6730273352488979",{"2":{"79":1}}],["673027",{"2":{"78":2}}],["673966",{"2":{"29":1}}],["674061",{"2":{"77":1}}],["674881",{"2":{"47":1}}],["675459",{"2":{"75":1}}],["675435",{"2":{"13":1}}],["677543",{"2":{"75":2}}],["679296",{"2":{"75":1}}],["679221",{"2":{"29":2}}],["679453",{"2":{"74":1}}],["679632",{"2":{"78":1}}],["6796",{"2":{"46":2}}],["678022",{"2":{"29":1}}],["687921",{"2":{"74":1}}],["68781",{"2":{"47":1}}],["687223",{"2":{"24":2}}],["683795",{"2":{"74":1}}],["683712",{"2":{"44":1}}],["683091",{"2":{"29":1}}],["683696",{"2":{"29":1}}],["680987",{"2":{"74":1}}],["68072e",{"2":{"44":1}}],["680352",{"2":{"29":1}}],["680225",{"2":{"29":2}}],["684587",{"2":{"27":1}}],["622735",{"2":{"78":1}}],["620473",{"2":{"77":1}}],["620055",{"2":{"28":1,"30":2}}],["621527",{"2":{"75":1}}],["621662",{"2":{"74":1}}],["621603",{"2":{"72":4}}],["623124",{"2":{"75":1}}],["625435",{"2":{"29":1}}],["625296",{"2":{"27":3}}],["625257",{"2":{"27":3}}],["624685",{"2":{"13":1}}],["6150940338022266",{"2":{"79":1}}],["615094",{"2":{"78":2}}],["615764",{"2":{"29":1}}],["6146564273146751",{"2":{"79":1}}],["614656",{"2":{"78":2}}],["61781",{"2":{"75":1}}],["613895",{"2":{"75":1}}],["610173",{"2":{"75":1}}],["61025",{"2":{"25":1}}],["611961",{"2":{"27":1}}],["612779",{"2":{"24":2}}],["699976",{"2":{"75":1}}],["694278906020718",{"2":{"79":1}}],["694279",{"2":{"78":2}}],["694066",{"2":{"77":1}}],["69461",{"2":{"67":2,"69":2,"71":6}}],["694796",{"2":{"44":1,"46":1}}],["691687",{"2":{"81":1}}],["691887",{"2":{"31":1}}],["691162",{"2":{"17":1}}],["690695",{"2":{"29":1}}],["69506",{"2":{"25":1}}],["69635",{"2":{"24":2}}],["692209",{"2":{"17":2}}],["692235",{"2":{"15":1}}],["69",{"2":{"13":1}}],["66996622586129",{"2":{"82":1}}],["669966",{"2":{"81":1}}],["669021",{"2":{"29":1}}],["668226",{"2":{"81":1}}],["668984",{"2":{"67":2,"69":2,"71":6}}],["666938",{"2":{"78":1}}],["66622",{"2":{"25":1}}],["661444",{"2":{"75":1}}],["662413",{"2":{"75":1}}],["662833",{"2":{"75":1}}],["660657",{"2":{"75":1}}],["667841",{"2":{"74":1}}],["664642",{"2":{"75":1}}],["664038",{"2":{"47":1}}],["6642",{"2":{"28":1,"30":2}}],["665742",{"2":{"25":1}}],["66",{"2":{"13":1}}],["656243",{"2":{"78":1}}],["650842",{"2":{"75":1}}],["657054",{"2":{"75":1}}],["657441",{"2":{"27":3}}],["655684",{"2":{"24":2}}],["651784",{"2":{"24":2}}],["652353",{"2":{"24":2}}],["65",{"2":{"13":5,"45":1}}],["608366",{"2":{"78":1}}],["602631",{"2":{"81":1}}],["602",{"2":{"75":1}}],["602315",{"2":{"47":1}}],["602923",{"2":{"27":1}}],["600816",{"2":{"46":1}}],["605324",{"2":{"29":1}}],["605217",{"2":{"27":1}}],["60",{"2":{"4":1,"5":1,"74":1,"82":1}}],["6",{"2":{"0":1,"4":2,"5":18,"13":1,"16":1,"17":4,"20":4,"24":2,"25":1,"43":11,"44":6,"45":20,"47":7,"72":14,"73":1,"75":3,"78":12,"79":2,"80":1,"81":12,"82":4,"83":19}}],["43471177733076",{"2":{"83":2}}],["434061",{"2":{"46":1}}],["439711995898844",{"2":{"82":1}}],["43915",{"2":{"75":1}}],["436605",{"2":{"77":1}}],["436168",{"2":{"75":1}}],["433769",{"2":{"81":1}}],["433955",{"2":{"31":1}}],["433527",{"2":{"27":1}}],["417756",{"2":{"75":1,"78":1}}],["412078",{"2":{"75":1}}],["415714",{"2":{"72":3}}],["418968",{"2":{"47":1}}],["41",{"2":{"45":1}}],["411529",{"2":{"28":1,"30":2}}],["410463",{"2":{"27":2}}],["41334",{"2":{"25":1}}],["462859",{"2":{"75":1}}],["462981",{"2":{"25":1}}],["460775",{"2":{"75":1}}],["460633",{"2":{"44":1,"46":2}}],["461631",{"2":{"67":2,"69":2,"71":6}}],["464482",{"2":{"47":1}}],["464554",{"2":{"25":1}}],["467484",{"2":{"29":1}}],["465631",{"2":{"28":1,"30":2}}],["46668",{"2":{"27":1}}],["469388",{"2":{"27":1}}],["468968",{"2":{"29":1}}],["468184",{"2":{"27":1}}],["468066",{"2":{"27":1}}],["4408839264303761",{"2":{"82":2}}],["440884",{"2":{"81":1}}],["44818",{"2":{"75":1}}],["442111",{"2":{"74":1}}],["442542",{"2":{"44":1}}],["449491",{"2":{"77":1,"78":2}}],["449",{"2":{"32":1}}],["4492",{"2":{"25":1}}],["444708",{"2":{"29":1}}],["441181",{"2":{"74":1}}],["44119",{"2":{"27":2}}],["441735",{"2":{"28":1,"30":2}}],["44104",{"2":{"27":1}}],["443494",{"2":{"15":1,"17":1}}],["45983648216629247",{"2":{"83":1}}],["4526944925375208",{"2":{"82":1}}],["452694",{"2":{"81":1}}],["456688",{"2":{"78":1}}],["45655",{"2":{"77":1}}],["457841",{"2":{"77":1,"78":1}}],["457891",{"2":{"29":1}}],["450701",{"2":{"77":1,"78":2}}],["450109",{"2":{"67":2,"69":2,"71":6}}],["454047",{"2":{"75":1}}],["454886",{"2":{"27":2}}],["455255",{"2":{"75":1}}],["458427",{"2":{"75":1}}],["45804",{"2":{"25":1}}],["45152471334016764",{"2":{"82":1}}],["451525",{"2":{"81":1}}],["451425",{"2":{"29":1}}],["4518",{"2":{"27":2}}],["453973",{"2":{"24":2}}],["4×6",{"2":{"17":1}}],["4×5",{"2":{"13":1}}],["4802202427553709",{"2":{"82":10,"83":2}}],["48022",{"2":{"81":1}}],["484929",{"2":{"81":1}}],["48952511607945026",{"2":{"79":1}}],["489525",{"2":{"78":2}}],["489762",{"2":{"24":1}}],["4854948068259556",{"2":{"82":1}}],["485952",{"2":{"75":1}}],["485687",{"2":{"17":1}}],["48240020633837055",{"2":{"82":1}}],["482654",{"2":{"75":1}}],["48275",{"2":{"25":1}}],["48889263023704055",{"2":{"82":1}}],["488473",{"2":{"78":1}}],["488458",{"2":{"44":1}}],["48817",{"2":{"29":1}}],["487563",{"2":{"44":1}}],["487578",{"2":{"13":1}}],["487601",{"2":{"25":1}}],["48124",{"2":{"75":1}}],["481184",{"2":{"29":1}}],["48113",{"2":{"24":1}}],["48101",{"2":{"24":1}}],["48",{"2":{"13":1,"45":1}}],["4278264986513013",{"2":{"79":1}}],["427328",{"2":{"15":1,"17":1}}],["429822",{"2":{"78":1}}],["422318",{"2":{"75":1}}],["428951",{"2":{"47":1}}],["42833",{"2":{"24":1}}],["423798",{"2":{"47":1}}],["4231",{"2":{"29":1}}],["421525",{"2":{"75":1}}],["42151",{"2":{"25":1}}],["421692",{"2":{"29":1}}],["420756",{"2":{"17":1}}],["42",{"2":{"13":1}}],["474535",{"2":{"81":1}}],["476387",{"2":{"75":2}}],["476495",{"2":{"27":2}}],["471877",{"2":{"47":1}}],["475569",{"2":{"47":1}}],["479126",{"2":{"25":1}}],["47",{"2":{"13":1,"45":2}}],["49057852962217935",{"2":{"83":1}}],["49097",{"2":{"25":1}}],["490968",{"2":{"24":1}}],["495624",{"2":{"75":1}}],["497346",{"2":{"29":1}}],["49795",{"2":{"24":1}}],["49224",{"2":{"75":1}}],["492332",{"2":{"44":1}}],["492377",{"2":{"24":1}}],["492141",{"2":{"27":3}}],["493065",{"2":{"78":1}}],["493417",{"2":{"27":2}}],["493708",{"2":{"24":1}}],["496665",{"2":{"24":1}}],["496201",{"2":{"24":1}}],["496108",{"2":{"24":2}}],["491767",{"2":{"24":2}}],["49853441854361796",{"2":{"83":1}}],["498465",{"2":{"44":1}}],["498669",{"2":{"44":1}}],["498606",{"2":{"19":1}}],["498996",{"2":{"44":1}}],["498388",{"2":{"44":1,"45":1}}],["498895",{"2":{"44":1}}],["498832",{"2":{"44":1,"45":1}}],["498801",{"2":{"19":1}}],["498764",{"2":{"29":1}}],["498704",{"2":{"19":1}}],["498145",{"2":{"19":1}}],["499307",{"2":{"75":1}}],["49935",{"2":{"45":1}}],["499474",{"2":{"45":1}}],["499687",{"2":{"45":1}}],["499667",{"2":{"44":1}}],["499218",{"2":{"44":1}}],["499298",{"2":{"19":1}}],["49973",{"2":{"75":1}}],["499719",{"2":{"24":1}}],["499762",{"2":{"19":1}}],["499594",{"2":{"19":1}}],["499985",{"2":{"19":1}}],["49",{"2":{"13":2,"45":1}}],["405912",{"2":{"75":1}}],["40584",{"2":{"25":1}}],["403836",{"2":{"75":1}}],["406397",{"2":{"67":2,"69":2,"71":6}}],["40687",{"2":{"31":1}}],["409622",{"2":{"29":2}}],["40409",{"2":{"25":1}}],["40065",{"2":{"24":1}}],["40",{"2":{"4":1,"15":3,"45":1,"74":1}}],["4",{"2":{"0":5,"3":1,"4":5,"5":12,"13":6,"15":6,"16":2,"17":2,"19":1,"20":15,"24":6,"25":2,"29":5,"31":1,"43":1,"44":6,"45":8,"47":7,"72":18,"73":1,"75":2,"77":1,"78":12,"79":2,"81":1,"83":2,"84":3}}],["09016703141346892",{"2":{"83":1}}],["0905873",{"2":{"75":1}}],["09300753748828394",{"2":{"79":1}}],["0930075",{"2":{"78":2}}],["0983553",{"2":{"75":1}}],["0980829",{"2":{"47":1}}],["09245174474290706",{"2":{"83":1}}],["092494",{"2":{"27":1}}],["0923954",{"2":{"75":1}}],["09558e",{"2":{"44":1}}],["095",{"2":{"32":2}}],["0959455",{"2":{"24":2}}],["0963009",{"2":{"81":1}}],["0965083",{"2":{"27":3}}],["0967863",{"2":{"17":1}}],["0992684",{"2":{"29":1}}],["0999314",{"2":{"27":2}}],["0991336",{"2":{"17":2}}],["09",{"2":{"0":1,"24":3,"46":1,"73":1}}],["08553143289483933",{"2":{"82":1}}],["0852624",{"2":{"81":1}}],["0821229",{"2":{"75":1}}],["0831822",{"2":{"75":1}}],["0803513146650122",{"2":{"83":1}}],["0804518",{"2":{"25":1}}],["0802658",{"2":{"15":1}}],["08",{"2":{"0":1,"24":3,"46":1,"73":1,"75":1}}],["0768485",{"2":{"81":1}}],["0760101",{"2":{"75":1}}],["0760848",{"2":{"29":1}}],["07217595907727536",{"2":{"82":1}}],["072176",{"2":{"81":1}}],["07277",{"2":{"25":1}}],["0758114",{"2":{"81":1}}],["0787968",{"2":{"75":1}}],["0702987",{"2":{"67":2,"69":2,"71":6}}],["07151",{"2":{"31":1}}],["0778416",{"2":{"29":1}}],["0779205",{"2":{"27":1}}],["0740736",{"2":{"27":2}}],["07",{"2":{"0":1,"24":3,"46":1,"73":1}}],["0670357162417285e",{"2":{"83":1}}],["06317733925981239",{"2":{"82":2,"83":2}}],["0630398",{"2":{"75":1}}],["0661958",{"2":{"75":1}}],["0669452",{"2":{"27":1}}],["0653496",{"2":{"72":12}}],["061892",{"2":{"78":1}}],["0610019",{"2":{"31":1}}],["0613839",{"2":{"27":1}}],["06474",{"2":{"31":1}}],["0641884",{"2":{"29":1}}],["0649391",{"2":{"25":1}}],["06834164575276236",{"2":{"82":1}}],["0683416",{"2":{"81":1}}],["0684698",{"2":{"28":1,"30":2}}],["068913",{"2":{"24":2}}],["0609271",{"2":{"27":1}}],["062795",{"2":{"78":1}}],["0628947",{"2":{"75":1}}],["062593",{"2":{"47":1}}],["0621546",{"2":{"27":3}}],["0622255",{"2":{"27":2}}],["0697249",{"2":{"27":3}}],["06",{"2":{"0":1,"24":3,"46":1,"73":1}}],["053158",{"2":{"78":1}}],["051776",{"2":{"78":1}}],["054083",{"2":{"75":1}}],["0540645",{"2":{"29":3}}],["0506805",{"2":{"75":1}}],["0502944",{"2":{"24":2}}],["0574938",{"2":{"75":1}}],["05t03",{"2":{"46":4}}],["0559616",{"2":{"29":1}}],["0558987",{"2":{"27":1}}],["0557598",{"2":{"25":1}}],["0599431",{"2":{"25":1}}],["05",{"2":{"0":1,"24":3,"46":1,"72":1,"73":1}}],["0445446",{"2":{"78":1}}],["0446036",{"2":{"44":1}}],["0417586",{"2":{"75":2}}],["0416986",{"2":{"24":2}}],["0426808",{"2":{"75":1}}],["0429074",{"2":{"74":1}}],["0425477",{"2":{"27":2}}],["04060837507113502",{"2":{"82":10}}],["0406084",{"2":{"81":1}}],["0403793",{"2":{"44":1,"46":2}}],["0400372",{"2":{"27":2}}],["0474302",{"2":{"29":2}}],["04599641808658339",{"2":{"79":1}}],["0459964",{"2":{"78":2}}],["0450386",{"2":{"28":1,"30":2}}],["0458864",{"2":{"27":1}}],["0463176",{"2":{"28":2,"30":2}}],["04",{"2":{"0":1,"24":3,"46":1,"73":1,"75":3}}],["03613547354359734",{"2":{"83":1}}],["0315018",{"2":{"75":1}}],["0387029",{"2":{"75":1}}],["0300922",{"2":{"75":1}}],["0303789",{"2":{"17":1}}],["037",{"2":{"84":1}}],["0372362",{"2":{"47":1}}],["0375522",{"2":{"29":1}}],["0375769",{"2":{"27":1}}],["0325131",{"2":{"77":1}}],["0323182",{"2":{"29":1}}],["0320967",{"2":{"17":1}}],["0347024",{"2":{"27":1}}],["03",{"2":{"0":1,"24":3,"44":1,"46":2,"73":1}}],["027",{"2":{"84":1}}],["0275306",{"2":{"29":1}}],["0299112",{"2":{"81":1}}],["02976",{"2":{"24":1}}],["023646798570656102",{"2":{"79":1}}],["0236468",{"2":{"78":2}}],["0239356",{"2":{"27":2}}],["022593",{"2":{"78":2}}],["021",{"2":{"75":1}}],["0205228",{"2":{"29":1}}],["0282382",{"2":{"13":1}}],["02",{"2":{"0":2,"24":3,"44":1,"46":2,"73":1}}],["0",{"2":{"0":60,"1":6,"3":8,"4":28,"5":8,"13":20,"15":92,"16":16,"17":81,"18":240,"19":19,"20":176,"24":110,"25":69,"27":546,"28":28,"29":148,"30":50,"31":12,"32":25,"43":2,"44":63,"45":20,"46":53,"47":175,"48":42,"66":105,"67":50,"69":48,"71":141,"72":147,"73":7,"74":35,"75":243,"77":48,"78":150,"79":36,"80":16,"81":133,"82":89,"83":155,"84":12}}],["006378200703587189",{"2":{"82":1,"83":2}}],["00686195",{"2":{"75":1}}],["00816974",{"2":{"78":1}}],["00832284",{"2":{"47":1}}],["005163666306917225",{"2":{"79":1}}],["00516367",{"2":{"78":2}}],["00508449",{"2":{"47":1}}],["0019198597596568057",{"2":{"79":1}}],["00191986",{"2":{"78":2}}],["00110588",{"2":{"77":1}}],["007",{"2":{"75":3}}],["00337686",{"2":{"28":1,"30":2}}],["00",{"2":{"0":42,"24":96,"32":10,"43":4,"44":10,"46":37,"73":32}}],["015759978623873905",{"2":{"83":2}}],["01576",{"2":{"81":1}}],["0171909",{"2":{"81":1}}],["013144",{"2":{"81":1}}],["013967",{"2":{"46":2}}],["0164892",{"2":{"75":1}}],["0141696",{"2":{"81":1}}],["0149561",{"2":{"75":1}}],["014",{"2":{"75":1}}],["0143204",{"2":{"75":2}}],["0140644",{"2":{"27":3}}],["0184746",{"2":{"46":1}}],["011",{"2":{"45":2}}],["01t03",{"2":{"46":2}}],["01t02",{"2":{"46":1}}],["01t01",{"2":{"44":1,"46":2}}],["01t00",{"2":{"0":21,"24":48,"43":1,"44":2,"46":7,"73":16}}],["0192911",{"2":{"29":1}}],["0196808",{"2":{"29":1}}],["0197492",{"2":{"25":1}}],["012300334322905893",{"2":{"79":1}}],["0123003",{"2":{"78":2}}],["0120967",{"2":{"77":1}}],["0127924",{"2":{"27":3}}],["01282",{"2":{"24":1}}],["010277581356302745",{"2":{"83":2}}],["0102776",{"2":{"81":1}}],["010",{"2":{"20":2}}],["01",{"2":{"0":5,"24":9,"43":1,"44":6,"46":21,"73":3}}],["↗",{"2":{"0":1,"1":1,"3":1,"13":1,"15":1,"18":1,"19":1,"20":1,"24":3,"29":1,"31":2,"33":1,"77":3}}],["→",{"2":{"0":4,"1":3,"3":2,"4":2,"5":8,"13":4,"15":13,"16":1,"17":12,"18":1,"19":3,"20":14,"24":5,"25":2,"27":11,"28":1,"29":7,"30":2,"31":2,"32":1,"33":2,"44":3,"45":8,"46":5,"47":7,"48":11,"66":3,"67":4,"69":4,"71":11,"72":26,"74":2,"75":10,"77":4,"78":1,"80":2,"81":8,"83":24}}],["↓",{"2":{"0":5,"1":4,"3":3,"4":2,"5":8,"13":5,"15":16,"16":1,"17":12,"18":1,"19":5,"20":14,"24":8,"25":2,"27":11,"28":2,"29":8,"30":2,"31":2,"32":1,"33":2,"44":10,"45":19,"46":6,"47":12,"48":15,"66":3,"67":4,"69":4,"71":11,"72":28,"73":1,"74":2,"75":10,"77":4,"78":1,"80":2,"81":9,"82":1,"83":25}}],["┐",{"2":{"0":3,"4":1,"5":4,"13":3,"15":5,"17":3,"19":3,"20":6,"24":5,"25":1,"29":1,"44":8,"45":12,"46":3,"47":1,"66":1,"67":2,"69":2,"71":5,"72":15,"73":1,"74":1,"75":5,"77":2,"78":1,"80":1,"81":8,"82":1,"83":25}}],["│",{"2":{"0":6,"1":2,"3":2,"4":2,"5":8,"13":6,"15":20,"17":8,"18":2,"19":6,"20":12,"24":10,"25":2,"27":22,"28":4,"29":8,"30":4,"31":4,"32":2,"44":16,"45":22,"46":6,"47":2,"66":6,"67":4,"69":4,"71":12,"72":30,"73":2,"74":2,"75":10,"77":4,"78":74,"80":2,"81":16,"82":2,"83":50}}],["5201836703588896",{"2":{"82":1}}],["520184",{"2":{"81":1}}],["5203602669427675",{"2":{"82":1}}],["52036",{"2":{"81":1}}],["52735",{"2":{"81":1}}],["528009",{"2":{"75":1}}],["528669",{"2":{"27":1}}],["522989",{"2":{"44":1}}],["526688",{"2":{"29":1}}],["526295",{"2":{"27":2}}],["521021",{"2":{"29":2}}],["521762",{"2":{"27":1}}],["580091",{"2":{"77":1}}],["581131",{"2":{"77":1,"78":2}}],["581748",{"2":{"44":1,"46":1}}],["584048",{"2":{"75":1}}],["585756",{"2":{"47":1}}],["585057",{"2":{"27":1}}],["589895",{"2":{"29":1}}],["587556",{"2":{"27":3}}],["588506",{"2":{"27":2}}],["537046",{"2":{"81":1}}],["537469",{"2":{"46":1}}],["535124",{"2":{"78":1}}],["539197",{"2":{"75":1}}],["539076",{"2":{"17":1}}],["531012",{"2":{"75":1}}],["533041",{"2":{"75":1}}],["536911",{"2":{"72":6}}],["530653",{"2":{"47":1}}],["53",{"2":{"44":1}}],["534655",{"2":{"27":1}}],["534915",{"2":{"27":2}}],["5×1",{"2":{"72":1}}],["5×10",{"2":{"27":13}}],["5×5",{"2":{"28":1,"30":2}}],["5×4",{"2":{"4":1}}],["5663088629322468",{"2":{"82":2}}],["566574",{"2":{"47":1}}],["566557",{"2":{"24":2}}],["564657",{"2":{"75":1}}],["564589",{"2":{"24":2}}],["56",{"2":{"45":1}}],["561611",{"2":{"44":1}}],["563623",{"2":{"29":1}}],["567383",{"2":{"27":1}}],["568763",{"2":{"75":1}}],["568302",{"2":{"24":2}}],["568131",{"2":{"24":2}}],["5128894732327488",{"2":{"82":1}}],["512083",{"2":{"15":1,"17":1}}],["515445",{"2":{"81":1}}],["515061",{"2":{"24":2}}],["5176046469253345",{"2":{"82":1}}],["517605",{"2":{"81":1}}],["517175",{"2":{"77":1}}],["518483",{"2":{"81":1}}],["516313",{"2":{"77":1}}],["51621",{"2":{"77":1}}],["516268",{"2":{"75":1}}],["514714",{"2":{"27":1}}],["511078",{"2":{"27":1}}],["511086",{"2":{"24":2}}],["51",{"2":{"13":1}}],["5434869639181522",{"2":{"82":2}}],["543616",{"2":{"27":1}}],["545522",{"2":{"75":1}}],["545129",{"2":{"27":3}}],["54822",{"2":{"25":1}}],["54",{"2":{"13":1}}],["541806",{"2":{"13":1}}],["5514523568721104",{"2":{"82":2}}],["5501481631111826",{"2":{"79":1}}],["550148",{"2":{"78":2}}],["552153",{"2":{"75":1}}],["559878",{"2":{"44":1}}],["55745",{"2":{"31":1}}],["5573",{"2":{"29":1}}],["553558",{"2":{"27":3}}],["55351",{"2":{"24":1}}],["554791",{"2":{"27":3}}],["555456",{"2":{"24":2}}],["55",{"2":{"13":1}}],["590188929977547",{"2":{"83":2}}],["590953",{"2":{"75":1}}],["597843",{"2":{"78":1}}],["59705",{"2":{"25":1}}],["599789",{"2":{"78":1}}],["599558",{"2":{"13":1}}],["5962",{"2":{"31":1}}],["59",{"2":{"13":1}}],["574619",{"2":{"75":1}}],["574678",{"2":{"75":1}}],["578329",{"2":{"75":1}}],["578253",{"2":{"75":1}}],["578989",{"2":{"31":1}}],["575727",{"2":{"75":1}}],["575595",{"2":{"74":1}}],["575698",{"2":{"29":2}}],["571281",{"2":{"27":1}}],["571602",{"2":{"27":1}}],["570254",{"2":{"27":1}}],["57019",{"2":{"25":1}}],["57",{"2":{"5":1,"45":1}}],["5081446040814137e",{"2":{"83":1}}],["5040228055200978",{"2":{"79":1}}],["504023",{"2":{"78":2}}],["506221",{"2":{"74":1}}],["5055",{"2":{"45":4}}],["505946",{"2":{"24":1}}],["502391",{"2":{"44":1}}],["5074",{"2":{"31":1}}],["503183",{"2":{"75":1}}],["503561",{"2":{"44":1}}],["503967",{"2":{"27":1}}],["503823",{"2":{"27":1}}],["503719",{"2":{"24":1}}],["501732",{"2":{"44":1}}],["501369",{"2":{"44":1}}],["501379",{"2":{"19":1}}],["501068",{"2":{"24":1}}],["501643",{"2":{"19":1}}],["501105",{"2":{"19":1}}],["500769",{"2":{"46":2}}],["500757",{"2":{"44":1,"45":2}}],["500333",{"2":{"45":1}}],["500405",{"2":{"44":1}}],["50047",{"2":{"19":1}}],["500627",{"2":{"44":1}}],["500642",{"2":{"28":1,"30":2}}],["500644",{"2":{"19":1}}],["500277",{"2":{"44":1}}],["500913",{"2":{"44":1}}],["500157",{"2":{"27":3}}],["500533",{"2":{"19":1}}],["500874",{"2":{"19":1}}],["500032",{"2":{"45":1}}],["500093",{"2":{"44":1}}],["500083",{"2":{"19":1}}],["500064",{"2":{"19":1}}],["50",{"2":{"5":3,"15":9,"74":1}}],["5u",{"2":{"5":1}}],["5",{"2":{"0":1,"4":3,"5":21,"13":5,"15":2,"16":1,"17":1,"20":5,"24":2,"25":1,"27":10,"28":2,"29":6,"31":1,"43":1,"44":2,"45":5,"47":9,"66":3,"72":7,"73":2,"74":1,"78":12,"79":2,"80":3,"81":11,"82":1,"83":35}}],["331147",{"2":{"75":1}}],["33985840915074383",{"2":{"72":1}}],["339858",{"2":{"72":12}}],["339888",{"2":{"29":1}}],["338844",{"2":{"67":2,"69":2,"71":6}}],["336376",{"2":{"77":1}}],["336",{"2":{"45":1}}],["33",{"2":{"45":2}}],["337",{"2":{"45":1}}],["337182",{"2":{"29":1}}],["337576",{"2":{"27":1}}],["330777",{"2":{"29":2}}],["334152",{"2":{"15":1,"17":1}}],["371583",{"2":{"75":1}}],["375166",{"2":{"47":1}}],["375182",{"2":{"29":1}}],["376",{"2":{"45":3}}],["370194",{"2":{"81":1}}],["370454",{"2":{"75":1}}],["370",{"2":{"45":2}}],["37963",{"2":{"25":1}}],["374026",{"2":{"25":1}}],["369225",{"2":{"81":1}}],["369",{"2":{"45":3}}],["368",{"2":{"45":3}}],["361536",{"2":{"75":1}}],["361",{"2":{"45":3}}],["362",{"2":{"44":1}}],["363442",{"2":{"78":1}}],["363373",{"2":{"78":1}}],["363918",{"2":{"75":1}}],["363",{"2":{"44":2}}],["365",{"2":{"44":2}}],["365341",{"2":{"29":1}}],["366873",{"2":{"75":1}}],["366",{"2":{"44":3}}],["364097",{"2":{"78":2}}],["364",{"2":{"43":18,"44":3}}],["364488",{"2":{"24":2}}],["360",{"2":{"4":2,"45":1}}],["319496",{"2":{"75":1}}],["315591",{"2":{"47":1}}],["31572",{"2":{"31":1}}],["314535",{"2":{"47":1}}],["31468",{"2":{"31":1}}],["312",{"2":{"45":1}}],["31",{"2":{"44":1}}],["313361",{"2":{"75":1}}],["313",{"2":{"45":1}}],["313711",{"2":{"44":1}}],["313279",{"2":{"44":1}}],["3162",{"2":{"29":1}}],["31065",{"2":{"24":2}}],["311448",{"2":{"15":1}}],["3a",{"2":{"16":1}}],["3×2",{"2":{"72":1}}],["3×14",{"2":{"67":2,"69":2,"71":6}}],["3×5",{"2":{"20":2,"66":10}}],["3×5×12",{"2":{"0":1}}],["3×4×1",{"2":{"31":1}}],["3×4×5",{"2":{"31":1}}],["3×4",{"2":{"20":5}}],["3×3",{"2":{"15":3,"17":1,"32":1,"72":3}}],["307616",{"2":{"78":1}}],["30391",{"2":{"75":1}}],["301659",{"2":{"74":1}}],["309301",{"2":{"47":1}}],["30923",{"2":{"25":1}}],["30t22",{"2":{"46":1}}],["30t23",{"2":{"43":1,"44":2,"46":2}}],["30×17520",{"2":{"45":3}}],["305",{"2":{"45":1}}],["306208",{"2":{"29":1}}],["30405878501189054",{"2":{"83":1}}],["304266",{"2":{"75":1}}],["30427",{"2":{"25":1}}],["3047",{"2":{"73":1}}],["304688",{"2":{"25":1}}],["3002782566445145",{"2":{"83":1}}],["300285",{"2":{"75":1}}],["300304",{"2":{"75":2}}],["300",{"2":{"20":1}}],["300768",{"2":{"13":1}}],["30",{"2":{"15":1,"16":2,"17":4,"20":9,"43":18,"44":2,"71":2,"74":1,"75":1}}],["34882573131206984",{"2":{"82":1}}],["348826",{"2":{"81":1}}],["3434655288098666",{"2":{"79":1}}],["343493",{"2":{"27":1}}],["341133",{"2":{"77":1}}],["341976",{"2":{"72":4}}],["341835",{"2":{"29":1}}],["340557",{"2":{"67":2,"69":2,"71":6}}],["34589",{"2":{"75":1}}],["345",{"2":{"45":1}}],["345501",{"2":{"25":1}}],["346013",{"2":{"44":1}}],["344",{"2":{"32":1,"45":1}}],["344408",{"2":{"27":3}}],["34",{"2":{"13":1}}],["359194",{"2":{"78":1}}],["359421",{"2":{"77":1}}],["35100608350331053",{"2":{"79":1}}],["351006",{"2":{"78":2}}],["351413",{"2":{"29":2}}],["358513",{"2":{"75":1}}],["358535",{"2":{"75":1}}],["358625",{"2":{"29":1}}],["357367",{"2":{"74":1}}],["353968",{"2":{"77":1}}],["353",{"2":{"45":1}}],["353691",{"2":{"29":1}}],["354046",{"2":{"29":1}}],["354868",{"2":{"17":1}}],["352592",{"2":{"67":2,"69":2,"71":6}}],["352",{"2":{"45":1}}],["352138",{"2":{"29":1}}],["352614",{"2":{"25":1}}],["350024",{"2":{"78":1}}],["350422",{"2":{"28":1,"30":2}}],["350104",{"2":{"27":2}}],["350546",{"2":{"17":1}}],["35",{"2":{"13":1,"15":1}}],["3266527246823143",{"2":{"82":1}}],["32669",{"2":{"25":1}}],["3258728635315493",{"2":{"82":2,"84":2}}],["322005",{"2":{"47":1}}],["322115",{"2":{"29":1}}],["329",{"2":{"45":1}}],["329515",{"2":{"28":1,"30":2}}],["328",{"2":{"45":1}}],["32806",{"2":{"27":1}}],["321",{"2":{"45":1}}],["320",{"2":{"45":1}}],["320667",{"2":{"29":1}}],["32",{"2":{"13":2,"32":1,"45":2,"83":1}}],["3863063388395396",{"2":{"82":1}}],["386306",{"2":{"81":1}}],["386433",{"2":{"27":3}}],["38167574879167476",{"2":{"79":1}}],["38714",{"2":{"46":2}}],["388768",{"2":{"75":1}}],["388907",{"2":{"31":1}}],["388243",{"2":{"13":1}}],["380161",{"2":{"29":1}}],["389839",{"2":{"27":1}}],["383632",{"2":{"13":1}}],["399",{"2":{"75":1}}],["399781",{"2":{"75":1}}],["397386",{"2":{"75":1}}],["395053",{"2":{"75":1}}],["395594",{"2":{"31":1}}],["391307",{"2":{"75":1}}],["391155",{"2":{"27":3}}],["394576",{"2":{"75":1}}],["394703",{"2":{"29":1}}],["396585",{"2":{"74":1}}],["392334",{"2":{"75":1}}],["392377",{"2":{"29":1}}],["392848",{"2":{"27":3}}],["390081",{"2":{"25":1}}],["390033",{"2":{"24":2}}],["39",{"2":{"2":2,"3":1,"4":2,"17":1,"21":1,"29":2,"30":1,"32":1,"34":1,"51":1,"59":6,"69":1,"70":1,"71":1,"74":1,"75":1}}],["3",{"2":{"0":4,"1":3,"3":1,"4":7,"5":8,"13":9,"15":3,"16":1,"17":12,"18":2,"19":6,"20":13,"22":2,"24":8,"25":2,"28":2,"29":10,"31":6,"32":12,"33":2,"43":1,"44":7,"45":23,"46":3,"47":7,"66":3,"67":5,"69":4,"71":10,"72":3,"73":2,"75":1,"77":3,"78":8,"79":2,"81":1,"83":1}}],["145293",{"2":{"75":1}}],["144422",{"2":{"75":1}}],["143×23",{"2":{"75":1}}],["143704",{"2":{"28":2,"30":2}}],["14203",{"2":{"75":1}}],["14",{"2":{"75":2,"81":1}}],["140817",{"2":{"75":1}}],["140",{"2":{"47":6,"71":6}}],["147478",{"2":{"27":2}}],["17715541586710937",{"2":{"82":1}}],["177423",{"2":{"25":1}}],["175544",{"2":{"78":1}}],["17520",{"2":{"43":8,"46":1}}],["173013",{"2":{"78":1}}],["173513",{"2":{"29":1}}],["170",{"2":{"47":6}}],["17",{"2":{"43":1,"45":2}}],["176766",{"2":{"77":1}}],["17673",{"2":{"25":1}}],["176024",{"2":{"77":1}}],["17666e",{"2":{"44":1}}],["176197",{"2":{"27":1}}],["17645",{"2":{"25":1}}],["18969721875656995",{"2":{"83":1}}],["182707",{"2":{"78":1}}],["186811",{"2":{"78":1}}],["188976",{"2":{"75":1}}],["18",{"2":{"43":1,"75":6}}],["180397",{"2":{"75":1}}],["18035",{"2":{"25":1}}],["180",{"2":{"47":7}}],["180894",{"2":{"29":1}}],["184309",{"2":{"29":2}}],["183103",{"2":{"67":2,"69":2,"71":6}}],["183637",{"2":{"25":1}}],["183555",{"2":{"17":1}}],["1a",{"2":{"16":1}}],["1381833125394196",{"2":{"83":2}}],["138819",{"2":{"67":2,"69":2,"71":6}}],["13525245310587153",{"2":{"82":1}}],["132989",{"2":{"78":1}}],["132894",{"2":{"27":2}}],["133475",{"2":{"75":1}}],["133195",{"2":{"29":1}}],["130252",{"2":{"81":1}}],["130",{"2":{"47":6,"71":2}}],["13035",{"2":{"31":1}}],["139067",{"2":{"29":1}}],["137131",{"2":{"28":1,"30":2}}],["137619",{"2":{"27":2}}],["134246",{"2":{"27":2}}],["134186",{"2":{"25":1}}],["136551",{"2":{"17":1}}],["131798",{"2":{"17":1}}],["13",{"2":{"13":1,"32":2,"73":2,"75":1}}],["16484",{"2":{"77":1}}],["164724",{"2":{"24":2}}],["168617",{"2":{"75":2}}],["168291",{"2":{"27":2}}],["166425",{"2":{"75":1}}],["160352",{"2":{"78":1}}],["160403",{"2":{"75":1}}],["160",{"2":{"47":6}}],["16545e",{"2":{"44":1}}],["161393",{"2":{"29":1}}],["167104",{"2":{"29":2}}],["167745",{"2":{"27":3}}],["162553",{"2":{"29":1}}],["162919",{"2":{"25":1}}],["16×16×3",{"2":{"18":1}}],["16",{"2":{"13":1,"18":2,"43":1,"45":4,"75":3}}],["1u",{"2":{"5":2}}],["193109",{"2":{"81":1}}],["193179",{"2":{"75":1}}],["1985699519321249",{"2":{"79":1}}],["19857",{"2":{"78":2}}],["194849",{"2":{"77":1,"78":2}}],["194465",{"2":{"27":2}}],["195938",{"2":{"78":1}}],["195897",{"2":{"75":1}}],["195774",{"2":{"29":1}}],["197423",{"2":{"75":1}}],["196478",{"2":{"74":1}}],["19009332850891253",{"2":{"83":1}}],["190482",{"2":{"77":1}}],["190225",{"2":{"47":1}}],["190",{"2":{"47":7}}],["19122366809754",{"2":{"82":1}}],["191934",{"2":{"77":1,"78":2}}],["191494",{"2":{"72":9}}],["191",{"2":{"32":1}}],["191×20×30",{"2":{"19":1}}],["191×20×31",{"2":{"19":2}}],["191×20×32",{"2":{"19":1}}],["191×20×28",{"2":{"19":1}}],["199484",{"2":{"77":1}}],["1999",{"2":{"25":1}}],["1998",{"2":{"25":1}}],["192183",{"2":{"24":2}}],["19",{"2":{"5":5,"43":1,"44":1,"75":3}}],["1×3",{"2":{"72":2}}],["1×2",{"2":{"5":3}}],["1×12",{"2":{"0":1}}],["153753",{"2":{"78":1}}],["153219",{"2":{"47":1}}],["15905863317294833",{"2":{"82":3}}],["15945803739833375",{"2":{"79":1}}],["159458",{"2":{"78":2}}],["15952e",{"2":{"44":1}}],["156538",{"2":{"72":3}}],["152765",{"2":{"28":1,"30":2}}],["15055904027841316",{"2":{"82":1}}],["150559",{"2":{"81":1}}],["150126",{"2":{"29":1}}],["150155",{"2":{"17":1}}],["150",{"2":{"15":3,"47":6}}],["15",{"2":{"5":3,"13":4,"43":1}}],["11115487324489237",{"2":{"82":1}}],["111155",{"2":{"81":1}}],["11925244363082943",{"2":{"79":1}}],["11996",{"2":{"29":2}}],["11×17520",{"2":{"45":1}}],["11773734015093373",{"2":{"82":1}}],["117737",{"2":{"81":1}}],["11787",{"2":{"75":1}}],["117",{"2":{"32":1}}],["114915",{"2":{"78":1}}],["114",{"2":{"32":1}}],["11311",{"2":{"81":1}}],["113",{"2":{"13":1}}],["1151003460971078e",{"2":{"83":1}}],["115",{"2":{"13":2}}],["118",{"2":{"13":2}}],["110425",{"2":{"78":1}}],["110998",{"2":{"29":1}}],["110",{"2":{"13":2,"47":7}}],["112054",{"2":{"46":2}}],["112836",{"2":{"27":1}}],["112",{"2":{"13":1}}],["11",{"2":{"0":1,"4":1,"13":2,"17":2,"19":6,"24":4,"44":6,"47":1,"73":1,"75":3}}],["12713970284423626",{"2":{"82":1,"84":2}}],["12714",{"2":{"81":1}}],["12764",{"2":{"78":1}}],["127489",{"2":{"27":1}}],["12452",{"2":{"74":1}}],["1227",{"2":{"44":1}}],["12×2",{"2":{"19":1}}],["128827",{"2":{"77":1}}],["128932",{"2":{"47":1}}],["128",{"2":{"13":1}}],["125477",{"2":{"78":1}}],["125287",{"2":{"17":1}}],["125",{"2":{"13":2}}],["12668",{"2":{"74":1}}],["126",{"2":{"13":2}}],["121746",{"2":{"78":1}}],["121186",{"2":{"27":1}}],["121",{"2":{"13":2}}],["1208",{"2":{"44":1}}],["120",{"2":{"13":2,"47":6,"71":2}}],["123",{"2":{"13":2,"15":1}}],["12",{"2":{"0":9,"4":1,"15":3,"16":1,"19":10,"20":1,"24":16,"43":28,"44":15,"45":8,"46":3,"73":7,"75":5}}],["1",{"2":{"0":13,"1":8,"3":14,"4":26,"5":12,"13":14,"15":32,"16":3,"17":21,"18":241,"19":19,"20":21,"22":2,"24":28,"25":52,"27":101,"28":1,"29":4,"30":1,"31":6,"32":13,"33":10,"43":73,"44":48,"45":91,"46":30,"47":44,"48":28,"59":1,"67":9,"69":12,"70":2,"71":18,"72":98,"73":7,"75":51,"77":14,"78":42,"79":10,"80":7,"81":24,"82":1,"83":80,"84":1}}],["105273",{"2":{"46":2}}],["105",{"2":{"32":1}}],["10×6",{"2":{"80":3,"81":18,"83":12}}],["10×1",{"2":{"83":30}}],["10×10",{"2":{"77":1,"78":27}}],["10×10×26",{"2":{"77":3}}],["10×11",{"2":{"47":1}}],["10×5",{"2":{"29":1}}],["10×7×5",{"2":{"29":1}}],["104261",{"2":{"81":1}}],["104763",{"2":{"77":1}}],["10454",{"2":{"75":1}}],["104",{"2":{"13":1}}],["10748",{"2":{"44":1}}],["107475",{"2":{"29":1}}],["1076",{"2":{"25":1}}],["107",{"2":{"13":1}}],["106224",{"2":{"27":1}}],["106",{"2":{"13":1,"32":1}}],["101231",{"2":{"72":5}}],["101×34",{"2":{"46":2}}],["101×384",{"2":{"45":2}}],["101×8030",{"2":{"45":1}}],["101×8760",{"2":{"45":1}}],["101×2856",{"2":{"45":1}}],["101×2928",{"2":{"45":3}}],["101×240",{"2":{"45":1}}],["101×0",{"2":{"45":1}}],["101×4416",{"2":{"45":5}}],["101×4320",{"2":{"45":2}}],["101×4392",{"2":{"45":2}}],["101×4368",{"2":{"45":3}}],["101×4344",{"2":{"45":2}}],["101×1",{"2":{"46":5}}],["101×1464",{"2":{"44":1}}],["101×1440",{"2":{"44":1}}],["101×1488",{"2":{"44":2}}],["101×1368",{"2":{"44":1}}],["101×17520",{"2":{"44":1}}],["101",{"2":{"13":2}}],["108592",{"2":{"24":2}}],["108",{"2":{"13":4}}],["102405",{"2":{"13":1}}],["10u",{"2":{"5":1}}],["100×28",{"2":{"78":1}}],["100×25×12",{"2":{"24":2}}],["1000×2000",{"2":{"25":1}}],["1000",{"2":{"25":3,"32":2}}],["10000",{"2":{"22":1,"32":2}}],["100u",{"2":{"5":2}}],["100",{"2":{"0":1,"3":1,"4":3,"15":10,"20":8,"24":7,"46":1,"47":26,"48":14,"60":1,"62":1,"73":2,"78":1}}],["10",{"2":{"0":7,"1":9,"3":6,"4":5,"5":19,"13":6,"15":15,"16":5,"17":4,"19":2,"20":34,"24":4,"27":10,"29":1,"41":9,"44":2,"47":47,"48":28,"59":1,"60":2,"62":2,"69":2,"71":10,"73":7,"74":5,"75":14,"77":10,"78":34,"79":10,"80":7,"81":21,"82":1,"83":61}}],["27",{"2":{"83":3}}],["278077",{"2":{"81":1}}],["27863",{"2":{"27":1}}],["271591",{"2":{"78":1}}],["27181",{"2":{"24":2}}],["270915",{"2":{"78":1}}],["276742",{"2":{"75":1}}],["27206",{"2":{"75":1}}],["227082",{"2":{"78":1}}],["227865",{"2":{"75":1}}],["226699",{"2":{"75":1}}],["229792",{"2":{"75":1}}],["229418",{"2":{"74":1}}],["228415",{"2":{"78":1}}],["228081",{"2":{"75":1}}],["228248",{"2":{"74":1}}],["228964",{"2":{"27":3}}],["225583",{"2":{"31":1}}],["225865",{"2":{"29":1}}],["221163",{"2":{"29":1}}],["222482",{"2":{"27":2}}],["224375",{"2":{"25":1}}],["22",{"2":{"17":2,"43":1,"44":2,"78":1}}],["2a",{"2":{"16":1}}],["243195",{"2":{"75":1}}],["243803",{"2":{"47":1}}],["248873",{"2":{"75":1}}],["24524306337289326",{"2":{"79":1}}],["245671",{"2":{"77":1}}],["245638",{"2":{"75":1}}],["245",{"2":{"72":2}}],["24575",{"2":{"25":1}}],["2402",{"2":{"44":1}}],["2415",{"2":{"44":1}}],["2412",{"2":{"44":1}}],["241056",{"2":{"29":1}}],["24625",{"2":{"75":1}}],["246886",{"2":{"74":1}}],["2463",{"2":{"44":1}}],["246162",{"2":{"29":1}}],["246796",{"2":{"24":2}}],["247586",{"2":{"81":1}}],["247976",{"2":{"75":1}}],["247032",{"2":{"44":1,"46":2}}],["247198",{"2":{"27":1}}],["24737",{"2":{"27":2}}],["247683",{"2":{"13":1}}],["24",{"2":{"13":1,"19":1,"24":2,"43":1,"44":2,"45":2}}],["294893",{"2":{"78":1}}],["294486",{"2":{"77":1}}],["296092",{"2":{"78":1}}],["296639",{"2":{"29":1}}],["291555",{"2":{"77":1}}],["291577",{"2":{"31":1}}],["29205",{"2":{"75":1}}],["293126",{"2":{"47":1}}],["290734",{"2":{"29":2}}],["299799",{"2":{"27":1}}],["295319",{"2":{"27":3}}],["295548",{"2":{"24":2}}],["298179",{"2":{"27":3}}],["298383",{"2":{"25":1}}],["297023",{"2":{"17":1}}],["29",{"2":{"13":1,"44":2,"75":2,"83":2}}],["28346307460586856",{"2":{"83":1}}],["2868262581079416",{"2":{"82":1}}],["286",{"2":{"75":1}}],["28035",{"2":{"67":2,"69":2,"71":6}}],["2855663183499576",{"2":{"82":1}}],["2858",{"2":{"31":1}}],["285965",{"2":{"25":1}}],["28438",{"2":{"31":1}}],["284399",{"2":{"28":1,"30":2}}],["28405",{"2":{"25":1}}],["28708",{"2":{"24":2}}],["28",{"2":{"13":1,"32":1,"44":1,"75":2}}],["2601",{"2":{"79":1}}],["2600×5",{"2":{"78":1}}],["2600×4",{"2":{"78":2}}],["2600",{"2":{"78":3}}],["26069",{"2":{"27":3}}],["266342",{"2":{"77":1}}],["266013",{"2":{"75":1}}],["26×11",{"2":{"75":1}}],["263531",{"2":{"75":1}}],["269905",{"2":{"81":1}}],["269685",{"2":{"29":1}}],["26917",{"2":{"25":1}}],["268319",{"2":{"24":2}}],["26",{"2":{"13":2}}],["216905",{"2":{"75":1}}],["216524",{"2":{"13":1}}],["21316",{"2":{"67":2,"69":2,"71":6}}],["213826",{"2":{"29":1}}],["214909",{"2":{"44":1,"46":1}}],["215458",{"2":{"29":1}}],["215049",{"2":{"25":1}}],["219583",{"2":{"28":1,"30":2}}],["21149",{"2":{"27":1}}],["21714",{"2":{"24":2}}],["218579",{"2":{"17":1}}],["21",{"2":{"5":4,"13":1,"17":2,"43":1,"44":1,"73":1}}],["2571287355813575",{"2":{"82":1,"84":2}}],["257129",{"2":{"81":1}}],["257822",{"2":{"28":1,"30":2}}],["256817",{"2":{"78":1}}],["2599",{"2":{"78":3}}],["2598",{"2":{"78":3}}],["2597",{"2":{"78":3}}],["2596",{"2":{"78":3}}],["2595",{"2":{"78":3}}],["259597",{"2":{"75":1}}],["2594",{"2":{"78":3}}],["2585",{"2":{"78":3}}],["258764",{"2":{"75":1}}],["25825",{"2":{"45":4}}],["255579",{"2":{"75":1}}],["255916",{"2":{"29":1}}],["253984",{"2":{"27":1}}],["253849",{"2":{"15":2,"17":1}}],["25243",{"2":{"27":1}}],["2504949184379115",{"2":{"82":2}}],["250913",{"2":{"27":1}}],["250752",{"2":{"24":2}}],["25",{"2":{"5":2,"13":1,"24":6,"45":2,"72":2}}],["236866",{"2":{"78":1}}],["23502",{"2":{"75":1}}],["23546",{"2":{"24":2}}],["233997",{"2":{"78":1}}],["233685",{"2":{"75":1}}],["233778",{"2":{"47":1}}],["231283",{"2":{"46":2}}],["2379",{"2":{"44":1}}],["23788",{"2":{"25":1}}],["230047",{"2":{"29":1}}],["239878",{"2":{"27":1}}],["234458",{"2":{"29":1}}],["2344",{"2":{"24":2}}],["23",{"2":{"5":1,"13":1,"24":2,"43":2,"44":2}}],["20636222545147498",{"2":{"79":1}}],["206362",{"2":{"78":2}}],["206406",{"2":{"29":1}}],["203",{"2":{"75":2}}],["201129",{"2":{"74":1}}],["201",{"2":{"72":1}}],["201734",{"2":{"24":2}}],["20758428874582302",{"2":{"79":1}}],["207584",{"2":{"78":2}}],["207735",{"2":{"75":1}}],["20779",{"2":{"25":1}}],["207882",{"2":{"67":2,"69":2,"71":6}}],["208365",{"2":{"29":1}}],["208384",{"2":{"27":1}}],["205929",{"2":{"27":1}}],["204084",{"2":{"81":1}}],["204879",{"2":{"78":1}}],["20412",{"2":{"27":1}}],["204559",{"2":{"27":1}}],["204551",{"2":{"24":2}}],["202035",{"2":{"46":2}}],["202743",{"2":{"27":2}}],["2021",{"2":{"0":25}}],["2005",{"2":{"73":1}}],["20051",{"2":{"28":1,"30":2}}],["2003",{"2":{"19":1}}],["2000",{"2":{"19":1,"24":50,"25":3,"43":32,"44":21,"46":16,"73":18}}],["2001",{"2":{"15":4,"43":28,"44":17,"46":3}}],["200",{"2":{"5":1,"15":9,"47":26,"48":14}}],["20",{"2":{"4":4,"5":18,"15":3,"19":2,"20":12,"43":1,"71":2,"74":1,"75":8,"82":1}}],["2×3",{"2":{"72":3}}],["2×3×2",{"2":{"1":1,"15":1}}],["2×2",{"2":{"17":2,"72":1}}],["2×10×3",{"2":{"13":2}}],["2×4",{"2":{"5":1,"15":4}}],["2×4×2",{"2":{"3":1}}],["2",{"2":{"0":10,"1":4,"3":3,"4":3,"5":14,"8":3,"13":6,"15":16,"16":1,"17":10,"19":9,"20":10,"22":2,"24":7,"25":5,"27":12,"28":1,"29":8,"30":2,"31":5,"32":3,"33":2,"43":2,"44":17,"45":24,"46":6,"47":8,"66":2,"67":4,"69":6,"70":3,"71":11,"72":62,"73":2,"74":1,"75":21,"77":2,"78":8,"79":2,"81":2,"82":2,"83":5}}],["==",{"2":{"20":1,"29":1,"46":1}}],["=======",{"2":{"19":2}}],["=>",{"2":{"1":10,"2":10,"3":15,"4":22,"11":6,"15":29,"19":4,"20":29,"21":2,"44":7,"45":18,"46":2,"67":1,"69":6,"71":7,"72":1,"78":1}}],["=",{"2":{"0":15,"1":4,"3":4,"4":10,"5":11,"13":7,"15":7,"16":9,"17":4,"18":1,"19":7,"20":11,"22":1,"24":5,"25":3,"27":3,"28":1,"29":2,"31":1,"32":1,"43":3,"44":2,"45":1,"46":2,"47":7,"60":1,"62":1,"66":3,"67":1,"69":3,"70":8,"72":2,"73":7,"74":1,"75":3,"77":4,"80":2,"81":4,"82":84,"83":37,"84":8}}],["few",{"2":{"69":2}}],["feb",{"2":{"45":6,"73":1}}],["fact",{"2":{"80":1}}],["facing",{"2":{"34":1}}],["facilitate",{"2":{"11":2,"73":1}}],["fails",{"2":{"24":1}}],["fail",{"2":{"23":1}}],["favours",{"2":{"60":1}}],["favour",{"2":{"20":1}}],["fale",{"2":{"48":1}}],["fallback",{"2":{"11":1}}],["falls",{"2":{"5":2,"72":1}}],["fall",{"2":{"5":2}}],["falses",{"2":{"66":1}}],["false",{"2":{"1":1,"3":6,"11":1,"15":1,"19":2,"48":27}}],["far",{"2":{"4":1}}],["fast",{"2":{"4":1,"73":1,"84":1}}],["fri",{"2":{"73":2}}],["friendly",{"2":{"26":1}}],["frequency",{"2":{"32":2}}],["freely",{"2":{"17":1}}],["freeunits",{"2":{"5":1}}],["free",{"2":{"3":1,"29":1}}],["fraction",{"2":{"19":1}}],["from",{"2":{"0":3,"1":1,"2":1,"3":3,"4":10,"5":3,"8":1,"15":3,"16":3,"17":1,"18":1,"19":7,"20":6,"22":13,"24":1,"29":1,"33":1,"35":1,"36":1,"37":1,"40":1,"41":10,"47":7,"50":1,"69":1,"72":1,"73":2,"74":1,"75":2,"78":1,"84":1}}],["further",{"2":{"39":1,"45":1}}],["future",{"2":{"4":1,"5":1,"20":1,"22":1,"64":1}}],["full",{"2":{"3":1,"4":3}}],["functionality",{"2":{"51":1}}],["functional",{"2":{"26":1}}],["functions",{"0":{"43":1,"83":1},"2":{"15":1,"19":2,"26":1,"31":1,"43":2,"59":1,"60":1,"69":1,"83":2}}],["function",{"2":{"1":4,"2":5,"3":13,"4":10,"5":2,"11":1,"15":11,"19":18,"20":13,"22":4,"39":1,"42":2,"43":2,"44":2,"45":4,"46":1,"72":1,"73":1}}],["foo",{"2":{"69":3}}],["follow",{"2":{"43":1,"59":1}}],["following",{"2":{"12":1}}],["four",{"2":{"19":2}}],["found",{"2":{"3":1,"7":1,"20":3,"30":2,"81":1}}],["forms",{"2":{"26":1}}],["formats",{"2":{"10":1}}],["format",{"0":{"40":1},"2":{"2":2,"8":1,"11":1,"35":1,"40":2}}],["forward",{"2":{"4":1,"7":1,"15":2}}],["forwardordered",{"2":{"0":6,"3":1,"4":6,"5":8,"7":3,"13":6,"15":8,"17":6,"19":4,"20":11,"24":9,"25":2,"44":9,"45":7,"46":5,"47":15,"48":14,"67":1,"69":4,"71":9,"72":28,"73":3,"74":6,"75":8,"77":6,"78":2,"80":2,"81":15,"82":1,"83":41}}],["for",{"2":{"0":12,"1":3,"2":2,"3":9,"4":40,"5":20,"7":2,"8":3,"10":1,"11":4,"15":17,"16":10,"17":5,"18":3,"19":12,"20":7,"21":3,"22":5,"24":1,"26":1,"27":2,"28":1,"29":1,"33":1,"38":1,"39":5,"41":6,"42":1,"45":4,"47":3,"50":3,"52":1,"53":1,"55":1,"56":2,"58":1,"60":1,"64":1,"66":1,"72":1,"73":1,"74":6,"76":1,"78":3,"80":2,"81":1,"82":2}}],["flexible",{"2":{"39":1}}],["float32",{"2":{"25":4}}],["float64",{"2":{"0":3,"1":1,"3":1,"4":1,"5":1,"13":1,"15":9,"17":7,"18":1,"19":3,"20":15,"24":4,"25":2,"27":12,"28":2,"29":4,"30":2,"31":2,"32":1,"44":9,"45":18,"46":5,"47":18,"48":14,"67":4,"69":4,"71":11,"72":30,"73":1,"74":1,"75":12,"77":3,"78":36,"80":6,"81":39,"82":9,"83":141}}],["flags",{"2":{"3":1}}],["final",{"2":{"45":1}}],["find",{"2":{"73":1}}],["findfirst",{"2":{"7":1}}],["finds",{"2":{"7":1}}],["fix",{"2":{"19":2}}],["fixed",{"2":{"8":1}}],["field",{"2":{"11":1,"15":1,"20":5,"39":1,"71":1}}],["fields",{"2":{"2":1,"3":1,"4":1,"6":1,"20":4,"22":1,"26":2,"39":3,"40":1}}],["firstindex",{"2":{"31":1}}],["first",{"2":{"3":3,"12":1,"13":1,"16":8,"20":1,"30":1,"43":1,"45":1,"47":2,"72":2}}],["filter",{"2":{"47":1,"48":1,"72":1}}],["filters",{"2":{"5":1}}],["fill",{"2":{"15":4,"27":4,"40":1,"73":1}}],["filled",{"2":{"2":1,"10":1}}],["file",{"2":{"0":1,"11":2,"50":1}}],["f",{"2":{"1":5,"3":10,"4":2,"5":1,"13":1,"15":5,"17":3,"19":11,"20":11,"62":1,"72":1,"78":1}}],["gc",{"2":{"32":6}}],["goals",{"0":{"26":1},"2":{"26":1}}],["got",{"2":{"24":1}}],["good",{"2":{"16":1}}],["gpus",{"0":{"25":1},"1":{"26":1},"2":{"21":1,"25":1,"56":1}}],["gpu",{"0":{"26":1},"2":{"20":2,"25":4,"26":7,"66":1}}],["gribdatasets",{"2":{"34":1}}],["grid",{"2":{"4":1}}],["gridded",{"2":{"4":1}}],["groupmeans",{"2":{"19":2}}],["grouped",{"2":{"19":1,"46":1}}],["groups",{"2":{"19":12,"44":2,"45":4}}],["groupings",{"2":{"43":1}}],["groupingfunction",{"2":{"19":2}}],["grouping",{"0":{"43":1,"44":1},"2":{"19":9,"42":4,"45":2,"46":1}}],["groupby",{"2":{"19":13,"42":1,"44":13,"45":21,"46":4}}],["group",{"0":{"19":1,"42":1},"1":{"43":1,"44":1,"45":1,"46":1},"2":{"19":9,"43":1,"44":3,"45":13,"46":2}}],["gis",{"2":{"50":2}}],["giving",{"2":{"5":1,"76":1}}],["given",{"2":{"20":1,"76":1}}],["give",{"2":{"3":2,"4":1,"5":1,"15":1,"27":1,"81":1}}],["gives",{"2":{"0":1,"16":2,"71":1}}],["github",{"2":{"4":1,"71":1}}],["guide",{"2":{"42":1}}],["guarantee",{"2":{"11":1}}],["guaranteed",{"2":{"3":1,"15":1}}],["guessed",{"2":{"2":1,"8":2}}],["guess",{"2":{"0":1,"43":1}}],["gt",{"2":{"1":2,"3":3,"5":1,"15":2,"19":1,"20":2}}],["g",{"2":{"0":1,"3":1,"4":2,"5":1,"13":1,"15":1,"19":1,"35":1,"62":1,"66":1,"70":1,"78":1}}],["geotiff",{"2":{"10":1}}],["geospatial",{"2":{"4":3,"50":1}}],["gets",{"2":{"72":2}}],["getting",{"2":{"15":1,"45":1}}],["getters",{"0":{"47":1},"1":{"48":1}}],["getter",{"2":{"4":1}}],["get",{"2":{"1":3,"2":1,"3":1,"11":3,"15":4,"18":1,"22":1,"28":1,"47":7,"72":2,"73":1,"82":1}}],["getindex",{"2":{"0":1,"3":2,"16":3,"17":1,"22":2,"30":1,"41":2}}],["generator",{"2":{"20":4}}],["generators",{"0":{"17":1},"2":{"34":1}}],["generates",{"2":{"19":7}}],["generate",{"2":{"3":1,"19":2,"22":1}}],["generated",{"2":{"3":1,"18":1,"39":1}}],["general",{"2":{"11":1}}],["generally",{"2":{"0":1}}],["generic",{"2":{"0":1,"4":1,"70":1}}],["p",{"2":{"78":1}}],["pythons",{"2":{"34":1}}],["permafrost",{"2":{"55":1}}],["permutation",{"2":{"83":1}}],["permuteddimsarray",{"2":{"83":2}}],["permutedims",{"2":{"31":1,"83":3}}],["permute",{"2":{"23":1,"60":1}}],["permuting",{"2":{"20":2}}],["periods",{"2":{"19":3}}],["perform",{"2":{"31":1}}],["performed",{"2":{"4":1}}],["performance",{"0":{"32":1,"84":1},"2":{"4":3,"16":1,"50":1}}],["pkg",{"2":{"12":2}}],["pkg>",{"2":{"12":2}}],["put",{"2":{"11":1}}],["pixels",{"2":{"5":1}}],["powerful",{"2":{"54":1,"66":1}}],["polygon",{"2":{"50":1}}],["positions",{"0":{"10":1}}],["position",{"2":{"4":1,"9":1,"10":6}}],["possible",{"2":{"4":2,"5":1,"7":1,"25":1,"31":1,"59":1,"71":1}}],["point",{"2":{"0":1,"4":2,"5":1,"9":1,"17":1,"73":1}}],["points",{"2":{"0":6,"4":7,"5":12,"8":2,"9":4,"13":4,"15":5,"17":5,"19":4,"20":10,"24":9,"25":2,"44":9,"45":4,"46":5,"47":32,"48":28,"67":2,"69":2,"71":4,"72":9,"73":1,"74":4,"75":10,"77":4,"78":2,"80":2,"81":15,"82":1,"83":49}}],["planned",{"2":{"64":1}}],["plasma",{"2":{"63":2}}],["places",{"2":{"60":2}}],["place",{"2":{"26":1,"65":1}}],["placed",{"2":{"20":1}}],["please",{"2":{"4":1}}],["plus",{"2":{"4":1}}],["plots",{"0":{"59":1,"61":1},"1":{"62":1,"63":1,"64":1},"2":{"0":1,"3":1,"11":1,"15":2,"59":2,"60":1,"64":1}}],["plotted",{"2":{"0":1,"4":1,"7":1,"9":1,"10":1}}],["plotting",{"2":{"0":1}}],["plot",{"2":{"0":3,"2":2,"59":2,"60":2}}],["printing",{"2":{"73":1}}],["principles",{"2":{"43":1}}],["prior",{"2":{"20":1}}],["primarily",{"2":{"3":1}}],["primitives",{"2":{"30":2}}],["primitive",{"0":{"3":1}}],["process",{"2":{"56":1,"70":1}}],["providing",{"2":{"50":1}}],["provides",{"2":{"42":1,"47":1,"57":1,"76":1}}],["provide",{"2":{"4":2}}],["provided",{"2":{"4":5,"5":3,"8":1,"20":2,"73":1}}],["projected",{"2":{"35":1,"50":1}}],["prod",{"2":{"31":1,"83":2}}],["probably",{"2":{"21":1,"43":1}}],["problems",{"2":{"4":1}}],["property",{"2":{"21":1}}],["properties",{"2":{"2":2,"20":1,"40":1,"73":1,"74":2}}],["programmatically",{"2":{"15":1}}],["predicates",{"0":{"48":1},"2":{"48":1}}],["predefined",{"2":{"33":1}}],["prefereble",{"2":{"19":1}}],["preferable",{"2":{"19":1}}],["preserved",{"2":{"20":1}}],["present",{"2":{"5":1,"17":1,"34":1}}],["pressed",{"2":{"12":1}}],["previously",{"2":{"20":1}}],["previous",{"2":{"3":1,"5":1}}],["precedence",{"2":{"0":1}}],["paaarnet",{"2":{"22":3,"41":3}}],["padding",{"2":{"45":1}}],["pad",{"2":{"19":6}}],["past",{"2":{"15":1}}],["pass",{"2":{"11":1,"16":1,"22":2,"40":1,"45":1,"71":1}}],["passing",{"2":{"3":2,"4":1,"19":2}}],["passed",{"2":{"0":1,"2":1,"3":4,"5":3,"17":1,"20":4,"22":1,"26":1,"39":1,"72":2}}],["partly",{"2":{"75":1}}],["part",{"2":{"22":1,"71":1}}],["parent",{"2":{"15":1,"19":2,"20":5,"22":13,"25":2,"26":1,"32":2,"40":1,"41":9,"66":5,"84":1}}],["parameters",{"2":{"3":1}}],["parameter",{"2":{"0":1,"11":1}}],["pair",{"2":{"11":1,"19":1,"20":4}}],["pairs",{"2":{"11":1,"19":1,"20":8}}],["packages",{"2":{"34":2,"35":1,"43":1,"59":1,"76":1}}],["package",{"2":{"4":1,"12":1,"13":1,"19":1,"51":1,"53":1,"54":1}}],["d=rand",{"2":{"80":1}}],["dynamicgrids",{"0":{"56":1},"2":{"26":1,"56":2}}],["dropdims",{"2":{"31":1,"83":1}}],["dropped",{"2":{"22":2,"41":2}}],["drop=true",{"2":{"20":3}}],["dd",{"2":{"5":3,"20":3,"33":1,"38":2,"43":1,"50":1,"52":1,"60":1,"70":2,"71":1,"76":1}}],["da4",{"2":{"32":1}}],["da5",{"2":{"31":2}}],["das",{"2":{"22":1}}],["daily",{"2":{"19":1}}],["dayofyear",{"2":{"43":2,"45":3}}],["dayofweek",{"2":{"43":1}}],["day",{"2":{"19":3,"43":2,"45":4}}],["days",{"2":{"4":1,"45":1}}],["da3",{"2":{"16":2}}],["da2",{"2":{"16":2,"29":5}}],["da1",{"2":{"16":2,"28":2,"29":1,"30":2}}],["da",{"2":{"4":2,"20":10,"27":2,"29":2}}],["dataframe",{"0":{"78":1},"2":{"78":8}}],["dataframes",{"0":{"76":1},"1":{"77":1,"78":1,"79":1},"2":{"5":1,"76":1,"77":1}}],["data2",{"2":{"77":1,"78":2,"79":1}}],["data2=rand",{"2":{"77":1}}],["data1",{"2":{"77":2,"78":2,"79":1}}],["dataset",{"2":{"35":2,"53":1}}],["datasets",{"0":{"16":1},"2":{"4":1,"51":1}}],["dataapi",{"2":{"19":1}}],["data=autovalues",{"2":{"4":1}}],["data",{"2":{"0":2,"1":1,"2":1,"4":17,"11":1,"13":2,"15":5,"16":6,"18":1,"19":2,"20":8,"22":3,"24":5,"25":2,"26":2,"33":1,"34":1,"39":2,"45":1,"50":2,"51":1,"52":1,"55":1,"56":1,"58":1,"66":1,"69":3,"76":1,"77":2,"78":2,"79":1}}],["date",{"2":{"4":2,"73":1}}],["datetime",{"2":{"0":13,"5":1,"15":4,"19":2,"24":19,"43":5,"44":3,"46":11,"73":10,"74":1}}],["dates",{"2":{"0":15,"4":2,"15":1,"19":1,"24":24,"43":4,"44":4,"46":12,"73":9,"77":1}}],["d",{"2":{"3":2,"4":2,"13":1,"17":1,"20":3,"62":1,"69":2,"74":3,"78":2,"80":1,"81":6,"82":23,"83":28,"84":2}}],["dsl",{"2":{"54":1}}],["dst",{"2":{"20":6}}],["ds",{"2":{"3":1,"4":2,"20":4}}],["docs",{"2":{"41":2}}],["documented",{"2":{"20":1}}],["doing",{"2":{"17":1,"45":1,"69":1,"75":1}}],["do",{"2":{"4":2,"11":1,"12":1,"19":1,"20":3,"31":1,"45":1,"67":1,"71":2}}],["doesn",{"2":{"17":1,"29":1,"30":1,"70":1}}],["does",{"2":{"4":1,"39":1,"43":1,"45":1,"76":1,"81":1,"83":1}}],["dotview",{"2":{"3":1}}],["done",{"2":{"15":1,"20":1,"76":1}}],["don",{"2":{"2":1,"4":1,"29":1,"69":1,"71":1}}],["direct",{"2":{"34":1}}],["directly",{"2":{"17":1,"32":1,"34":1,"45":1,"79":1,"84":1}}],["difficult",{"2":{"26":1}}],["different",{"0":{"63":1},"2":{"3":1,"5":3,"10":1,"11":1,"20":1,"47":1}}],["divide",{"2":{"19":1}}],["di",{"2":{"17":2}}],["dicts",{"2":{"26":1,"65":1}}],["dict",{"2":{"4":4,"11":3,"15":1,"19":3,"20":1,"27":5,"44":7,"45":11,"46":2,"69":2}}],["dictates",{"2":{"2":1}}],["distinguishing",{"2":{"47":1}}],["distance",{"2":{"4":2,"5":1}}],["discrete",{"2":{"45":1}}],["discarded",{"2":{"5":1,"15":1}}],["diskarray",{"2":{"51":1}}],["diskarrays",{"0":{"34":1},"2":{"19":1,"34":2}}],["disk",{"2":{"34":1}}],["dispatch",{"2":{"0":1,"11":1}}],["dimmatrix",{"2":{"60":1}}],["dimgroupbyarray",{"2":{"19":6,"44":1,"45":8,"46":1}}],["dimname",{"2":{"19":1}}],["dimnum",{"2":{"1":4,"15":4,"38":1}}],["dimcolumn",{"2":{"18":1}}],["dimtype",{"2":{"19":1}}],["dimtable",{"2":{"18":4,"78":4}}],["dimtuple",{"2":{"16":1,"47":4}}],["dimpoints",{"2":{"17":4}}],["dimindices",{"2":{"17":9,"29":2,"37":1,"75":1}}],["dimz",{"2":{"5":2,"16":4}}],["dimselector",{"0":{"75":1}}],["dimselectors",{"2":{"17":7,"75":3}}],["dimsmatch",{"2":{"3":2}}],["dimstoreduce",{"2":{"3":1}}],["dimstacks",{"0":{"80":1},"1":{"81":1,"82":1,"83":1,"84":1},"2":{"23":1}}],["dimstackinterface",{"2":{"22":2,"41":6}}],["dimstack",{"2":{"2":1,"16":19,"20":3,"41":7,"47":1,"66":2,"76":1,"77":2,"78":2,"79":2,"80":3,"81":11,"82":2,"83":25}}],["dims2indices",{"2":{"2":1}}],["dims=",{"2":{"20":1,"24":2}}],["dims=ti",{"2":{"0":1,"16":2,"19":1,"20":1,"31":1}}],["dims=z",{"2":{"0":1}}],["dims=y",{"2":{"0":1,"20":1,"83":11}}],["dims=x",{"2":{"0":1}}],["dims",{"0":{"23":2,"31":1,"36":1,"38":1},"1":{"24":2,"37":1,"38":1},"2":{"0":4,"1":11,"2":8,"3":13,"4":18,"5":6,"11":2,"13":3,"15":42,"16":3,"17":14,"18":1,"19":9,"20":44,"22":26,"23":3,"24":7,"25":1,"27":11,"28":3,"29":5,"30":4,"31":4,"32":1,"33":1,"35":1,"36":1,"37":1,"38":5,"39":2,"40":2,"41":17,"44":9,"45":19,"46":6,"47":24,"48":29,"66":5,"67":2,"69":4,"71":6,"72":15,"73":1,"74":1,"75":5,"77":4,"78":27,"80":5,"81":30,"82":5,"83":114}}],["dimarrays",{"0":{"27":1},"1":{"28":1,"29":1,"30":1,"31":1,"32":1},"2":{"27":1}}],["dimarrayinterface",{"2":{"22":2,"41":6}}],["dimarray",{"0":{"28":1},"2":{"0":4,"1":5,"2":1,"3":2,"4":6,"5":11,"13":7,"15":37,"16":11,"17":6,"18":2,"19":10,"20":10,"23":1,"24":8,"25":2,"26":1,"27":17,"28":4,"29":4,"30":2,"31":2,"32":1,"41":4,"44":13,"45":39,"46":8,"47":7,"55":1,"58":1,"66":3,"67":2,"69":2,"71":6,"72":16,"73":4,"74":2,"75":5,"77":1,"78":1,"80":1,"81":3}}],["dim",{"2":{"0":11,"1":2,"2":4,"3":9,"4":12,"11":2,"15":7,"18":3,"20":16,"28":1,"31":1,"33":3,"37":1,"77":1}}],["dimensionmismatch",{"2":{"24":1,"81":1}}],["dimensionality",{"2":{"20":1}}],["dimensional",{"0":{"29":1},"2":{"0":1,"3":1,"16":1,"22":2,"37":1,"42":1,"82":1}}],["dimensionaldata",{"0":{"35":1},"1":{"36":1,"37":1,"38":1,"39":1,"40":1,"41":1},"2":{"0":22,"1":9,"2":5,"3":18,"4":35,"5":21,"6":1,"7":6,"8":5,"9":3,"10":6,"11":4,"12":3,"13":1,"15":20,"16":3,"17":3,"18":4,"19":10,"20":16,"21":3,"22":8,"24":1,"25":2,"26":3,"27":1,"30":6,"33":3,"34":1,"35":1,"36":1,"39":1,"40":2,"41":10,"42":1,"43":2,"47":3,"50":1,"51":1,"60":1,"65":1,"66":1,"67":1,"69":1,"72":2,"73":1,"76":1,"77":1,"80":1}}],["dimension",{"0":{"17":1,"24":1,"28":1,"37":1,"46":1},"2":{"0":21,"1":27,"2":11,"3":32,"4":24,"5":3,"10":2,"11":2,"15":75,"16":3,"17":9,"18":7,"19":2,"20":34,"22":4,"23":1,"24":2,"27":2,"29":3,"30":1,"31":3,"33":3,"37":1,"38":5,"39":1,"40":2,"41":2,"42":1,"44":1,"46":2,"47":6,"67":1,"68":1,"69":4,"71":1,"72":2,"73":2,"74":1,"76":2,"78":2,"80":1,"82":1,"83":1}}],["dimensions",{"0":{"0":1,"33":1},"1":{"1":1,"2":1,"3":1},"2":{"0":30,"1":13,"2":7,"3":32,"4":39,"5":11,"6":1,"7":6,"8":5,"9":3,"10":8,"11":5,"15":25,"16":3,"17":5,"18":1,"19":3,"20":22,"22":6,"23":1,"24":1,"27":1,"29":4,"30":4,"32":1,"33":7,"36":2,"37":1,"41":4,"46":2,"47":3,"48":2,"60":1,"68":2,"69":1,"72":1,"74":1,"76":2,"77":1,"78":2,"80":1,"81":1,"82":1}}],["during",{"2":{"0":1,"34":1,"56":1}}],["declarative",{"2":{"67":1}}],["dec",{"2":{"45":4,"73":1}}],["december",{"2":{"19":2}}],["demo",{"2":{"43":1}}],["developers",{"2":{"39":1,"51":1}}],["development",{"2":{"34":1,"59":1}}],["devicebuffer",{"2":{"25":1}}],["dest",{"2":{"20":4}}],["descriptive",{"2":{"19":1}}],["designed",{"2":{"34":1,"35":1}}],["design",{"2":{"16":2}}],["deprecated",{"2":{"20":1,"59":1}}],["depreciated",{"2":{"5":1}}],["dependencies",{"2":{"50":1}}],["dependency",{"2":{"34":1}}],["dependent",{"2":{"0":1}}],["dependentdim",{"2":{"0":4}}],["depending",{"2":{"1":1,"15":1}}],["detect",{"2":{"4":2,"15":4,"40":1}}],["detected",{"2":{"4":4,"40":1,"73":2,"74":5}}],["determine",{"2":{"7":1,"73":1}}],["determined",{"2":{"4":1}}],["determines",{"2":{"3":1,"17":1}}],["details",{"2":{"0":1,"22":2,"33":1}}],["definition",{"2":{"22":2,"41":2}}],["defining",{"2":{"4":2}}],["defines",{"2":{"4":1,"8":1,"17":1,"20":1,"22":2,"41":3,"47":1,"54":1}}],["defined",{"2":{"3":1,"4":1,"16":1,"20":3,"33":1,"39":1,"44":1}}],["define",{"2":{"0":1,"3":1,"4":1,"9":1,"19":1,"24":1,"27":1,"44":1,"47":1,"74":1,"75":1,"77":1}}],["default",{"0":{"62":1},"2":{"0":1,"1":3,"3":11,"4":7,"10":1,"15":4,"17":2,"19":5,"21":1,"59":1,"60":1}}],["w",{"2":{"78":1}}],["would",{"2":{"17":2,"23":1,"45":1,"47":1}}],["wont",{"2":{"5":1}}],["works",{"2":{"4":1,"20":1,"23":1,"30":2,"45":2,"56":1,"81":2}}],["work",{"2":{"2":1,"4":4,"5":1,"10":2,"11":1,"15":1,"16":1,"19":1,"20":1,"23":1,"26":3,"30":3,"33":1,"39":2,"43":1,"51":1,"59":1,"60":2,"70":1,"73":1,"83":1}}],["working",{"2":{"1":1,"16":2}}],["word",{"2":{"0":1}}],["want",{"2":{"12":1,"22":2,"45":2,"47":1,"67":1,"71":2}}],["way",{"2":{"4":1,"20":1,"39":1,"69":1,"71":1}}],["warning",{"2":{"3":2,"30":2,"69":1}}],["warn",{"2":{"3":2}}],["whose",{"2":{"20":3}}],["whole",{"2":{"5":2}}],["what",{"2":{"20":1,"43":1,"45":1,"47":2,"67":1,"69":1,"71":1}}],["whatever",{"2":{"17":1,"47":1}}],["whitespace",{"2":{"19":2}}],["which",{"2":{"4":1,"19":1,"20":5,"23":1,"31":1,"47":1,"50":1,"63":1,"72":3,"75":1}}],["whichever",{"2":{"3":1}}],["while",{"2":{"3":1,"11":1,"16":2,"17":1}}],["wherever",{"2":{"20":1,"45":1}}],["where",{"2":{"3":4,"4":9,"5":7,"7":1,"8":2,"9":1,"10":2,"11":1,"16":1,"20":4,"31":1,"45":1,"47":1,"66":1,"69":1,"72":4,"74":1}}],["whether",{"2":{"1":1,"15":1}}],["whenever",{"2":{"26":1}}],["when",{"2":{"0":5,"2":1,"4":6,"5":2,"11":1,"16":2,"17":1,"19":3,"20":1,"21":1,"26":1,"29":1,"30":1,"37":1,"40":1,"45":1,"73":1,"74":1,"81":1}}],["write",{"2":{"79":2}}],["writing",{"2":{"3":1,"20":1}}],["wraps",{"2":{"37":1}}],["wrapping",{"2":{"3":1,"4":1,"47":5,"51":1,"73":4}}],["wrapper",{"2":{"4":4,"11":1,"19":1,"20":2,"21":2,"33":1,"45":1,"69":1}}],["wrappers",{"2":{"0":2,"4":1,"5":1,"11":2,"21":1,"27":2,"29":1,"66":1}}],["wrapped",{"2":{"3":2,"19":1,"20":1,"33":1,"70":1}}],["wrap",{"2":{"0":2,"19":3,"33":3,"73":1}}],["weds",{"2":{"73":2}}],["were",{"2":{"30":2}}],["well",{"2":{"18":1,"29":1,"72":2}}],["weeks",{"2":{"4":1}}],["week",{"2":{"4":1}}],["we",{"2":{"0":1,"4":3,"5":1,"16":1,"17":2,"19":2,"20":2,"23":3,"24":1,"27":2,"28":1,"29":2,"33":1,"41":2,"43":1,"44":3,"45":13,"46":2,"47":1,"51":1,"67":2,"72":3,"73":6,"74":1,"75":4,"78":2,"79":1,"81":2,"82":3}}],["winter",{"2":{"45":1}}],["wish",{"2":{"5":1}}],["wider",{"2":{"40":1}}],["wide",{"2":{"4":1,"50":1,"76":1}}],["widely",{"2":{"1":1}}],["within",{"2":{"5":1,"17":1,"72":2}}],["without",{"2":{"3":1,"4":2,"11":1,"16":1,"20":2,"29":1,"39":1,"66":1,"70":1,"73":1,"82":1}}],["with",{"0":{"28":1,"64":1},"2":{"0":3,"1":5,"2":2,"3":10,"4":13,"5":10,"7":1,"8":1,"10":8,"11":1,"12":1,"15":12,"16":8,"17":7,"18":1,"19":7,"20":10,"22":3,"23":2,"24":2,"25":1,"26":1,"27":1,"28":1,"29":3,"30":2,"31":1,"32":3,"33":5,"34":1,"37":1,"39":2,"41":2,"42":3,"44":8,"45":11,"46":3,"47":1,"48":1,"51":2,"52":1,"59":2,"60":1,"66":2,"68":1,"69":5,"70":1,"72":10,"73":1,"74":2,"75":3,"76":1,"78":1,"81":5,"82":2,"83":1,"84":1}}],["will",{"2":{"0":7,"1":1,"2":2,"3":6,"4":13,"5":7,"7":2,"8":2,"10":3,"11":2,"15":10,"16":7,"18":1,"19":6,"20":11,"29":2,"38":2,"39":2,"42":1,"43":2,"47":1,"59":1,"60":3,"69":1,"70":1,"72":1,"73":2,"78":2,"83":1}}],["btime",{"2":{"84":2}}],["b=rand",{"2":{"80":1}}],["b=falses",{"2":{"66":1}}],["b=1",{"2":{"13":1,"28":1}}],["blue",{"2":{"63":1,"64":1}}],["block",{"2":{"22":1}}],["blocks",{"2":{"22":1,"45":2}}],["blockwidth",{"2":{"22":4}}],["building",{"2":{"34":1}}],["but",{"2":{"0":1,"1":2,"3":9,"4":4,"5":1,"8":1,"11":1,"15":2,"16":3,"17":3,"19":6,"22":2,"24":1,"25":1,"29":2,"30":1,"34":2,"35":1,"43":1,"45":1,"46":1,"47":1,"50":1,"54":1,"60":1,"67":1,"68":1,"69":2,"70":1,"71":1,"72":1,"73":2,"74":1,"75":1}}],["bin",{"2":{"45":4}}],["binning",{"0":{"45":1},"2":{"19":2}}],["bins",{"2":{"19":15,"42":1,"45":5}}],["bitmatrix",{"2":{"66":2}}],["bit",{"2":{"13":1}}],["bar",{"2":{"69":3}}],["bayesian",{"2":{"53":1}}],["band",{"2":{"18":2}}],["backend",{"2":{"26":1}}],["back",{"2":{"5":1,"11":1}}],["basic",{"2":{"30":1}}],["basics",{"0":{"13":1}}],["basically",{"2":{"3":1,"19":1,"69":1}}],["base",{"2":{"3":2,"5":2,"15":10,"16":3,"19":1,"20":7,"22":4,"23":1,"26":1,"30":1,"41":2,"73":2,"83":1}}],["basetypeof",{"2":{"3":5}}],["basedims",{"2":{"3":2}}],["based",{"2":{"2":1,"22":1,"34":1,"69":1}}],["brackets",{"2":{"69":1}}],["break",{"2":{"45":1}}],["breaking",{"2":{"4":1,"22":1,"70":1}}],["broken",{"2":{"71":1}}],["brought",{"2":{"33":1}}],["broadcasts",{"2":{"23":1,"26":1,"83":1}}],["broadcast",{"0":{"23":2},"1":{"24":2},"2":{"19":3,"20":6,"23":4,"24":6,"25":1,"34":1,"83":2}}],["broadcasting",{"2":{"3":1,"20":1,"44":1}}],["bonus",{"2":{"23":1}}],["box",{"2":{"22":1,"59":1}}],["boundaries",{"2":{"5":1}}],["bounds",{"2":{"4":9,"8":6,"47":8,"73":1,"74":2}}],["both",{"2":{"4":1,"34":2,"51":1,"68":1,"81":1}}],["bool",{"2":{"1":3,"3":6,"4":2,"5":1,"15":11,"19":1,"66":7,"72":2}}],["bytes",{"2":{"32":2,"84":2}}],["by",{"0":{"19":1,"42":1,"46":1},"1":{"43":1,"44":1,"45":1,"46":1},"2":{"0":1,"1":2,"3":13,"4":8,"5":4,"9":1,"15":2,"17":1,"19":8,"20":1,"24":1,"28":1,"32":2,"33":1,"34":1,"39":2,"44":2,"45":2,"46":3,"60":1,"63":1,"72":4}}],["b",{"2":{"0":7,"3":4,"4":2,"5":5,"13":3,"15":9,"16":3,"17":1,"20":4,"28":3,"30":2,"33":2,"46":3,"59":1,"60":1,"62":2,"63":1,"66":2,"67":2,"69":5,"70":3,"71":3,"72":27,"74":3,"75":3,"78":2,"80":1,"81":4,"82":23,"83":40,"84":2}}],["best",{"2":{"71":1}}],["benchmarktools",{"2":{"32":3,"84":1}}],["benchmark",{"2":{"32":3}}],["become",{"2":{"78":1}}],["becomes",{"2":{"18":2}}],["because",{"2":{"19":2,"23":1}}],["behaves",{"2":{"17":2,"35":1}}],["behaviour",{"2":{"4":4,"5":1,"6":1,"16":2,"19":1,"40":1,"59":1,"73":1,"80":1}}],["behaviours",{"2":{"4":1,"51":1,"70":1}}],["begin+1",{"2":{"30":1}}],["beginendsteprange",{"2":{"10":2}}],["beginendrange",{"2":{"10":2}}],["begin",{"0":{"30":1},"2":{"10":4,"30":2}}],["better",{"2":{"5":1}}],["between",{"2":{"0":1,"4":5,"5":18,"10":1,"11":1,"15":1,"16":2}}],["been",{"2":{"2":1,"3":1,"16":1,"20":1}}],["be",{"2":{"0":5,"1":5,"2":4,"3":10,"4":33,"5":14,"6":1,"7":2,"8":3,"10":4,"11":3,"12":1,"15":10,"16":4,"17":3,"19":9,"20":11,"21":1,"22":3,"24":1,"26":4,"29":3,"30":1,"31":1,"33":3,"35":1,"37":1,"39":1,"40":1,"43":1,"45":1,"65":1,"66":2,"67":1,"69":1,"71":1,"72":2,"73":3,"74":2,"81":1,"83":1}}],["ecosystem",{"2":{"76":1}}],["edges",{"2":{"45":1}}],["edge",{"2":{"19":2}}],["equally",{"2":{"19":1}}],["equivalent",{"2":{"16":1,"17":1,"20":2}}],["estimate",{"2":{"32":4}}],["essentially",{"2":{"17":1,"19":1}}],["especially",{"2":{"17":1,"60":1}}],["effects",{"2":{"15":2}}],["enforce",{"2":{"80":1}}],["entries",{"2":{"69":2}}],["entry",{"2":{"19":3,"44":7,"45":11,"46":2}}],["engine",{"2":{"56":1}}],["enables",{"2":{"34":1}}],["enable",{"2":{"8":1}}],["end",{"0":{"30":1},"2":{"5":4,"9":1,"10":6,"19":3,"20":1,"30":3,"47":1}}],["evaluations",{"2":{"32":2}}],["evaluated",{"2":{"5":1}}],["everything",{"2":{"35":1,"65":1,"69":1}}],["everywhere",{"2":{"33":1}}],["every",{"2":{"4":1,"5":1,"8":1,"20":2}}],["even",{"2":{"4":1,"17":1,"23":1,"30":1,"70":1,"73":1,"83":1}}],["error",{"2":{"3":1,"5":2,"24":1,"29":2,"69":1,"81":1}}],["errors",{"2":{"2":1,"3":1}}],["empty",{"2":{"3":1,"15":2,"22":2,"41":2,"74":1}}],["eltype",{"2":{"20":2,"66":2,"77":2,"78":26,"80":4,"81":22,"82":4,"83":88}}],["else",{"2":{"2":1,"19":1,"65":1,"69":1}}],["element",{"2":{"0":1,"2":1,"13":1,"15":2,"19":2,"24":3,"28":1,"29":2,"30":1,"43":8,"44":7,"45":13,"46":1,"47":2,"72":3,"73":3,"79":1,"81":1,"82":2,"83":1}}],["either",{"2":{"1":1,"2":1,"3":1,"4":2,"11":1,"15":2,"17":1,"19":4}}],["early",{"2":{"22":2}}],["easiest",{"2":{"39":1}}],["easier",{"2":{"21":1,"38":1}}],["easily",{"2":{"0":1,"4":1,"35":2,"69":1}}],["eachindex",{"2":{"37":2}}],["eachslice",{"2":{"20":4,"24":2,"31":1,"46":1}}],["each",{"2":{"0":1,"3":2,"4":5,"5":1,"8":1,"16":1,"17":2,"18":1,"19":1,"24":1,"44":1,"47":2,"59":1,"73":1,"78":3,"82":1,"84":1}}],["except",{"2":{"26":1}}],["exact",{"2":{"4":1,"9":1,"17":2,"19":1}}],["exactly",{"2":{"4":1,"5":1,"45":1,"72":1}}],["examples",{"2":{"0":2,"20":2,"35":2}}],["example",{"0":{"24":1,"77":1},"2":{"0":5,"1":4,"3":2,"4":5,"5":7,"15":12,"16":2,"17":2,"18":1,"19":2,"20":6,"24":1,"26":1,"39":1,"47":1}}],["extrema",{"2":{"31":1,"83":2}}],["extra",{"2":{"0":1,"74":1}}],["extent",{"2":{"47":9}}],["extents",{"2":{"47":2}}],["extensible",{"2":{"35":1,"39":1}}],["extension",{"2":{"23":1,"54":1}}],["extends",{"2":{"50":1,"52":1}}],["extend",{"2":{"16":1}}],["extended",{"2":{"4":1,"22":2,"35":2}}],["extending",{"0":{"35":1},"1":{"36":1,"37":1,"38":1,"39":1,"40":1,"41":1},"2":{"4":3,"36":1}}],["exploratory",{"2":{"53":1}}],["explicit",{"2":{"4":1,"8":1,"41":1}}],["explicitly",{"2":{"4":2,"8":1,"19":1}}],["expected",{"2":{"20":1}}],["exported",{"0":{"1":1,"2":1}}],["existing",{"2":{"5":1,"20":1,"22":1,"42":1}}],["exists",{"2":{"3":1,"50":1}}],["exist",{"2":{"2":1,"65":1}}],["e",{"2":{"0":1,"3":1,"4":2,"5":2,"13":1,"15":1,"17":1,"19":1,"35":1,"46":1,"62":1,"63":1,"66":1,"70":1,"74":3,"78":1,"81":2}}],["etc",{"2":{"0":2,"3":1,"16":1,"20":1}}],["l",{"2":{"47":2,"67":2,"69":2,"71":3,"73":9,"78":1}}],["lj",{"2":{"34":1}}],["lick",{"2":{"72":1}}],["line",{"2":{"59":1}}],["linearmap",{"2":{"4":1}}],["list",{"2":{"19":1,"63":1}}],["listed",{"2":{"8":1,"48":1,"69":1}}],["little",{"2":{"5":1,"13":1}}],["lies",{"2":{"16":2}}],["lie",{"2":{"5":1}}],["likely",{"2":{"4":1,"22":2}}],["like",{"0":{"81":1,"82":1},"2":{"0":1,"3":2,"4":5,"5":2,"15":1,"16":1,"17":4,"19":2,"20":3,"21":1,"29":3,"31":1,"33":1,"37":1,"40":1,"45":3,"47":2,"50":1,"67":1,"68":1,"69":1,"71":1,"72":6,"74":1,"75":2,"80":1,"81":1,"83":1}}],["legend",{"2":{"59":1}}],["less",{"2":{"45":1}}],["letting",{"2":{"33":1}}],["let",{"2":{"32":1}}],["lets",{"2":{"11":1,"21":1,"40":1,"43":2,"44":1,"45":1}}],["left",{"2":{"13":3,"22":1}}],["leans",{"2":{"25":1}}],["leave",{"2":{"15":1}}],["leaves",{"2":{"3":1}}],["leap",{"2":{"4":1}}],["least",{"2":{"3":1,"22":4}}],["level",{"2":{"3":2}}],["length=365",{"2":{"43":1}}],["lengths",{"2":{"3":1,"24":1,"81":1}}],["length",{"2":{"0":1,"3":6,"4":5,"8":1,"15":4,"19":4,"22":3,"37":1,"41":2,"76":1}}],["lazily",{"2":{"76":1}}],["lazy",{"2":{"18":1,"34":1}}],["largest",{"2":{"76":1,"83":1}}],["large",{"2":{"51":1}}],["larger",{"2":{"24":1}}],["language",{"2":{"25":1}}],["lastindex",{"2":{"31":1}}],["last",{"2":{"19":2,"30":1,"47":1}}],["layermetadata",{"2":{"22":1,"69":1}}],["layerdims",{"2":{"22":5,"41":2,"69":1}}],["layernames=nothing",{"2":{"18":1}}],["layered",{"2":{"16":2}}],["layer",{"2":{"16":5,"20":2,"26":2,"29":1,"76":2,"78":1,"82":1,"83":1}}],["layersfrom=",{"2":{"78":2}}],["layersfrom=nothing",{"2":{"16":1,"18":1}}],["layersfrom",{"2":{"18":1}}],["layers",{"2":{"16":9,"18":1,"20":6,"66":2,"76":2,"77":1,"78":1,"80":4,"81":9,"82":2,"83":28,"84":2}}],["layout",{"2":{"0":1}}],["later",{"2":{"19":1}}],["latitude",{"2":{"0":1}}],["lat",{"2":{"0":1}}],["labelled",{"2":{"59":1}}],["labelling",{"2":{"15":1}}],["labels=x",{"2":{"45":2}}],["labels",{"2":{"11":1,"19":21,"60":1}}],["label",{"2":{"0":3,"2":5,"33":1}}],["lt",{"2":{"0":12,"1":2,"3":4,"5":1,"15":2,"19":14,"38":3,"56":1,"57":1,"82":1}}],["lot",{"2":{"45":1,"64":1}}],["losing",{"2":{"19":2,"66":1}}],["looping",{"2":{"76":1}}],["loop",{"2":{"76":1}}],["look",{"2":{"43":1}}],["lookuparray",{"2":{"71":1}}],["lookupdim",{"2":{"20":1}}],["lookupcomponent",{"2":{"20":1}}],["lookuptrait",{"2":{"6":1,"7":1,"8":1,"9":1,"10":1,"20":1}}],["lookups",{"0":{"4":1,"73":1},"1":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1},"2":{"2":3,"3":2,"4":34,"5":11,"6":1,"7":6,"8":5,"9":3,"10":6,"11":4,"15":1,"17":2,"20":2,"27":1,"33":2,"37":1,"47":1,"50":1,"67":1,"72":1,"73":4,"74":1,"75":1}}],["lookup",{"0":{"6":1,"74":1},"1":{"7":1,"8":1,"9":1,"10":1},"2":{"0":4,"1":1,"2":13,"3":2,"4":52,"5":1,"6":2,"7":6,"9":1,"10":4,"15":9,"17":2,"19":2,"20":11,"35":3,"37":1,"40":3,"45":2,"47":18,"48":8,"68":1,"69":1,"71":1,"72":2,"73":10,"74":4,"80":1}}],["loosely",{"2":{"6":1}}],["location",{"2":{"9":1}}],["located",{"2":{"5":1}}],["locus",{"2":{"0":1,"4":13,"5":3,"9":2,"10":5,"47":6}}],["lowerbound",{"2":{"8":1}}],["lower",{"2":{"5":1,"8":1}}],["low",{"2":{"3":1}}],["long",{"2":{"38":1,"39":1,"84":1}}],["longitudes",{"2":{"4":1}}],["longitude",{"2":{"0":1}}],["longer",{"2":{"0":1,"3":1,"4":1}}],["lon",{"2":{"0":1}}],["loading",{"2":{"0":1}}],["load",{"2":{"0":1,"4":1,"43":1,"50":1,"57":1}}],["c=rand",{"2":{"80":1}}],["csv",{"0":{"79":1},"2":{"76":1,"79":5}}],["cryogridoutput",{"2":{"55":1}}],["cryogrid",{"0":{"55":1},"2":{"55":2}}],["crs",{"2":{"50":1}}],["create",{"2":{"4":2,"10":2,"13":1,"15":4,"19":1,"20":3,"25":1,"43":2,"71":1,"72":1,"73":5}}],["created",{"2":{"0":1}}],["creating",{"2":{"0":1,"27":1}}],["c54bc6c",{"2":{"19":2}}],["climate",{"2":{"52":1}}],["climatebase",{"0":{"52":1},"2":{"52":1}}],["cloud",{"2":{"34":1}}],["closest",{"2":{"72":1}}],["closely",{"2":{"51":1}}],["close",{"2":{"22":3,"72":1}}],["closed",{"2":{"5":3,"45":35}}],["closedinterval",{"2":{"5":1}}],["clashes",{"2":{"0":1,"5":1}}],["cycling",{"2":{"4":1}}],["cyclical",{"2":{"73":1}}],["cyclicbins",{"2":{"19":4}}],["cyclic",{"2":{"4":5,"19":1,"73":5}}],["cycle=month",{"2":{"73":1}}],["cycle=24",{"2":{"45":1}}],["cycle=12",{"2":{"45":3}}],["cycles",{"2":{"19":1,"73":1}}],["cycled",{"2":{"4":3}}],["cycle",{"2":{"4":9,"19":5}}],["cua2",{"2":{"25":2}}],["cua",{"2":{"25":2}}],["cuarray",{"2":{"20":1,"25":2,"66":1}}],["cuda",{"0":{"25":1},"1":{"26":1},"2":{"25":2,"26":1}}],["current",{"2":{"4":1,"15":1}}],["curresponding",{"2":{"4":2}}],["customise",{"2":{"70":1}}],["custom=dd",{"2":{"20":1}}],["custom=10",{"2":{"20":1}}],["custom",{"2":{"0":4,"3":1,"18":2,"19":1,"20":9,"26":1,"35":2,"46":1}}],["center",{"2":{"5":5,"9":2,"10":4,"47":7,"71":1,"74":1}}],["central",{"2":{"0":1}}],["cellular",{"2":{"56":1}}],["cells",{"2":{"9":1,"10":1,"72":1}}],["cell",{"2":{"3":1,"5":1}}],["choosing",{"2":{"72":1}}],["choose",{"2":{"39":1,"59":1}}],["chosen",{"2":{"2":1,"17":1,"19":2}}],["child",{"2":{"20":1}}],["chunked",{"2":{"34":1}}],["chunk",{"2":{"19":1}}],["channel",{"2":{"13":1}}],["channel=",{"2":{"13":1}}],["changing",{"2":{"4":1,"20":1,"70":1}}],["changes",{"2":{"22":1}}],["change",{"2":{"3":1,"4":4,"20":5,"71":1}}],["changed",{"2":{"3":1}}],["char",{"2":{"0":1,"3":1,"4":1,"13":1,"17":2,"67":2,"69":2,"71":3,"74":1,"77":2,"78":3}}],["check=true",{"2":{"3":1}}],["check",{"2":{"1":2,"3":1,"4":1,"5":1,"12":1,"15":2,"69":1}}],["cost",{"2":{"32":1}}],["cover",{"2":{"42":1}}],["cov",{"2":{"31":1}}],["core",{"2":{"69":1}}],["cor",{"2":{"31":1}}],["correctly",{"2":{"41":2}}],["correct",{"2":{"4":2,"5":1,"10":1,"26":1}}],["corresponding",{"2":{"4":1}}],["correspond",{"2":{"3":1,"10":3}}],["coordinate",{"2":{"35":1}}],["coordinatetransformations",{"2":{"4":2}}],["coordination",{"2":{"34":1}}],["coords",{"2":{"20":2}}],["copy",{"2":{"20":8}}],["code",{"2":{"16":2,"22":2,"25":1}}],["coded",{"2":{"6":1}}],["could",{"2":{"5":1,"24":1,"45":1}}],["counted",{"2":{"5":1}}],["collection",{"2":{"80":1}}],["collected",{"2":{"76":1}}],["collect",{"2":{"66":1}}],["colours",{"2":{"63":1}}],["color=",{"2":{"63":2,"64":1}}],["color",{"2":{"63":1}}],["colormap",{"0":{"62":1,"63":1},"2":{"63":2}}],["colormap=",{"2":{"60":1}}],["colon",{"2":{"2":2,"3":1,"16":1}}],["column",{"2":{"18":2,"78":3}}],["columns",{"2":{"1":1,"8":1,"15":1,"18":3,"76":2,"78":3}}],["command",{"2":{"12":1}}],["commands",{"2":{"12":1}}],["commondatamodel",{"2":{"34":1}}],["commondims",{"2":{"3":5}}],["commonly",{"2":{"4":1}}],["common",{"2":{"0":2,"4":1,"19":1,"24":1,"43":1,"50":1,"69":1}}],["compile",{"2":{"84":1}}],["compilation",{"2":{"84":1}}],["components",{"2":{"22":4,"41":4}}],["compatibility",{"0":{"34":1}}],["compatible",{"2":{"18":1}}],["comparing",{"2":{"3":1}}],["comparisons",{"2":{"3":2}}],["compare",{"2":{"3":6}}],["compared",{"2":{"3":1}}],["comparedims",{"2":{"3":4}}],["complicated",{"2":{"5":1,"13":1}}],["combines",{"2":{"5":1,"47":1}}],["combined",{"2":{"4":1,"17":1,"20":1,"29":1,"68":1}}],["combinedims",{"2":{"3":1}}],["combine",{"2":{"3":1,"18":1}}],["combinations",{"2":{"17":2}}],["combination",{"2":{"1":1,"15":1,"34":2}}],["confusing",{"2":{"39":1}}],["confused",{"2":{"5":1}}],["consistency",{"2":{"80":1}}],["consistent",{"2":{"47":1}}],["consecutive",{"2":{"29":2}}],["constraint",{"2":{"29":1}}],["constructing",{"0":{"28":1},"2":{"40":1}}],["constructionbase",{"2":{"20":1,"39":2,"70":2}}],["construction",{"2":{"4":1,"10":1}}],["construct",{"2":{"18":1}}],["constructors",{"2":{"15":1,"40":2}}],["constructor",{"2":{"4":1,"16":1,"25":1,"69":1}}],["constructed",{"2":{"0":1,"3":1,"4":1,"16":1,"22":2,"36":1}}],["const",{"2":{"5":1,"20":1,"43":1}}],["concatenate",{"2":{"20":4}}],["concrete",{"2":{"0":1,"1":2,"3":3,"4":2,"15":3,"16":1}}],["converging",{"2":{"51":1}}],["conversion",{"2":{"11":1}}],["conversions",{"2":{"10":1}}],["converting",{"0":{"78":1,"79":1}}],["convertible",{"2":{"26":1}}],["converts",{"2":{"2":1,"26":1}}],["convert",{"2":{"2":1,"3":1,"4":1,"26":1,"73":1}}],["converted",{"2":{"0":1,"3":1,"4":1,"18":1,"26":1}}],["controlled",{"2":{"63":1}}],["contents",{"2":{"11":1}}],["contexts",{"2":{"4":3}}],["context",{"2":{"3":1,"4":1,"15":1,"22":1}}],["contained",{"2":{"4":1,"5":1,"17":1,"65":1}}],["contain",{"2":{"2":1,"5":2,"20":2}}],["contains",{"2":{"1":1,"4":2,"5":9,"15":1,"17":2,"19":1,"20":1,"72":2,"75":1}}],["containing",{"2":{"1":1,"3":1,"15":2}}],["caveats",{"2":{"69":1}}],["cairomakie",{"2":{"60":1}}],["cartesianindex",{"2":{"29":2}}],["cartesianindices",{"2":{"17":4,"29":1,"75":1}}],["category",{"2":{"77":5,"78":10,"79":1}}],["categorises",{"2":{"11":1}}],["categories",{"2":{"4":3,"73":1}}],["categorical",{"2":{"0":2,"3":2,"4":8,"5":3,"13":2,"15":3,"17":2,"45":4,"60":1,"67":2,"69":2,"71":4,"72":15,"73":5,"74":3,"77":2}}],["cat",{"2":{"20":2,"31":1}}],["cases",{"2":{"35":1,"37":1}}],["case",{"2":{"20":1,"71":1}}],["calculate",{"2":{"19":1}}],["call",{"2":{"22":1,"45":1}}],["calling",{"2":{"20":1,"38":1,"40":1}}],["callable",{"2":{"19":1}}],["called",{"2":{"3":2,"26":1,"40":1}}],["captions",{"2":{"15":1}}],["capable",{"2":{"4":1}}],["caution",{"2":{"5":1}}],["cant",{"2":{"73":1}}],["cannot",{"2":{"7":1}}],["can",{"2":{"0":2,"1":4,"2":3,"3":7,"4":18,"5":5,"10":3,"11":2,"12":1,"15":9,"16":2,"17":4,"18":1,"19":9,"20":6,"23":1,"24":1,"27":1,"28":1,"29":4,"30":2,"31":2,"33":5,"35":1,"39":1,"41":2,"43":3,"44":2,"45":7,"46":2,"47":1,"48":1,"63":1,"65":1,"66":1,"69":2,"70":1,"72":7,"73":1,"74":2,"75":4,"78":2,"79":1,"81":3,"83":1,"84":1}}],["c",{"2":{"0":6,"3":2,"4":2,"13":2,"15":9,"17":3,"20":3,"46":2,"59":1,"60":1,"62":1,"67":2,"69":2,"71":3,"72":33,"74":3,"75":2,"77":3,"78":2,"80":1,"81":8,"82":23,"83":28,"84":2}}],["zarr",{"2":{"34":1}}],["zip",{"2":{"34":1}}],["zero",{"2":{"22":2,"72":1,"82":1}}],["zeros",{"2":{"0":1,"15":6,"20":1,"27":4,"41":2}}],["z=dd",{"2":{"20":1}}],["z=",{"2":{"20":1}}],["zdim",{"2":{"0":4}}],["z",{"2":{"0":8,"1":9,"3":4,"15":9,"20":12,"29":13,"33":3,"41":2,"60":1,"71":2,"77":4,"78":22,"79":9}}],["yaxarray",{"2":{"35":1,"51":1}}],["yaxarrays",{"0":{"51":1},"2":{"34":1,"51":1}}],["y=near",{"2":{"82":1}}],["y=not",{"2":{"72":1}}],["y=4",{"2":{"82":1,"84":1}}],["y=where",{"2":{"72":1}}],["y=at",{"2":{"72":2}}],["y=begin+1",{"2":{"30":1}}],["y=end",{"2":{"30":1}}],["y=dimarray",{"2":{"20":1}}],["y=>isodd",{"2":{"19":2}}],["yet",{"2":{"10":1,"22":2}}],["yearday",{"2":{"43":1}}],["yearmonthday",{"2":{"43":1}}],["yearmonth",{"2":{"43":1}}],["year",{"2":{"4":4,"19":1,"43":1}}],["years",{"2":{"4":3}}],["your",{"2":{"5":1,"13":1,"20":1,"39":2}}],["yourdimarray",{"2":{"39":1}}],["yourdim",{"2":{"0":1}}],["you",{"2":{"4":2,"5":1,"12":4,"18":1,"20":2,"22":2,"30":1,"31":1,"33":1,"39":1,"43":1,"45":1,"47":2,"65":1,"69":4,"71":4,"73":1,"81":1}}],["ydim",{"2":{"0":7}}],["y",{"2":{"0":16,"1":12,"3":8,"4":9,"5":15,"15":26,"16":2,"17":13,"18":2,"19":4,"20":12,"24":8,"25":2,"27":24,"29":7,"30":2,"31":3,"32":3,"33":3,"41":3,"47":31,"48":22,"60":2,"62":1,"66":8,"67":3,"69":2,"71":10,"72":16,"74":3,"75":8,"77":10,"78":32,"79":1,"80":10,"81":34,"82":4,"83":92}}],["xy",{"2":{"78":2}}],["xarray",{"2":{"34":1}}],["xz",{"2":{"29":1}}],["x2",{"2":{"20":2}}],["x1",{"2":{"20":2}}],["x=not",{"2":{"72":1}}],["x=near",{"2":{"72":2}}],["x=where",{"2":{"72":1}}],["x=touches",{"2":{"72":1}}],["x=interval",{"2":{"72":1}}],["x=openinterval",{"2":{"72":1}}],["x=1",{"2":{"72":2,"82":1,"84":1}}],["x=contains",{"2":{"72":2}}],["x=at",{"2":{"72":3,"82":2}}],["x=all",{"2":{"5":1}}],["x=>",{"2":{"46":1}}],["x=>bins",{"2":{"45":2}}],["x=begin",{"2":{"30":1}}],["x=begin+1",{"2":{"30":1}}],["x=dimarray",{"2":{"20":1}}],["xs",{"2":{"2":1,"3":2,"4":6,"11":1,"15":2,"18":1}}],["xdim",{"2":{"0":7}}],["x3c",{"2":{"0":10,"4":12,"5":9,"7":6,"8":4,"9":3,"10":6,"11":2,"15":3,"16":1,"17":3,"18":2,"19":3,"21":2,"22":2,"32":2}}],["x",{"2":{"0":17,"1":27,"2":9,"3":22,"4":28,"5":31,"11":6,"15":65,"16":3,"17":17,"18":5,"19":2,"20":25,"24":8,"25":2,"27":24,"29":18,"30":2,"31":3,"32":3,"33":6,"39":1,"41":4,"43":3,"44":3,"45":14,"46":3,"47":29,"48":23,"59":1,"60":3,"62":1,"66":8,"67":4,"69":5,"71":8,"72":25,"73":7,"74":3,"75":8,"77":10,"78":32,"79":1,"80":10,"81":25,"83":96}}],["ideal",{"2":{"45":1}}],["identity",{"2":{"19":2,"45":2}}],["identical",{"2":{"4":2,"11":1,"80":1}}],["io",{"2":{"22":11}}],["images",{"2":{"57":1}}],["immutable",{"2":{"20":1,"26":1,"39":1,"71":1}}],["improving",{"2":{"71":1}}],["imperative",{"2":{"67":1}}],["implements",{"2":{"41":4,"76":1}}],["implemented",{"2":{"38":1,"41":2}}],["implement",{"2":{"16":1,"39":1,"76":1}}],["implementation",{"2":{"4":2,"16":1,"41":4,"55":1}}],["implementations",{"2":{"0":1}}],["important",{"2":{"4":3}}],["ignoring",{"2":{"15":1}}],["ignores",{"2":{"60":1}}],["ignore",{"2":{"3":2,"33":1,"39":1}}],["ignored",{"2":{"3":1}}],["irregular",{"2":{"4":3,"5":6,"8":5,"15":1,"17":2,"19":4,"20":2,"44":7,"45":6,"72":6,"73":3,"74":1,"75":4}}],["i",{"2":{"2":2,"3":3,"13":1,"17":1,"37":1,"38":1,"46":1,"62":1,"63":1,"78":1}}],["if",{"2":{"0":1,"1":2,"2":3,"3":5,"4":8,"5":3,"11":2,"12":1,"15":2,"16":1,"17":2,"19":1,"20":6,"37":1,"39":1,"47":1,"60":1,"65":1,"69":2,"71":1,"75":1,"82":2,"83":1}}],["isend",{"2":{"48":5}}],["isexplicit",{"2":{"48":5}}],["ispoints",{"2":{"48":6}}],["isintervals",{"2":{"48":6}}],["isreverse",{"2":{"48":5}}],["isregular",{"2":{"47":2,"48":5}}],["isforward",{"2":{"48":5}}],["isordered",{"2":{"48":6}}],["iscenter",{"2":{"48":5}}],["iscyclic",{"2":{"48":6}}],["iscategorical",{"2":{"48":7}}],["isstart",{"2":{"48":5}}],["issampled",{"2":{"48":7}}],["issue",{"2":{"4":1,"71":1}}],["isbits",{"2":{"21":1,"26":1}}],["isa",{"2":{"16":1}}],["isapprox",{"2":{"5":1}}],["is",{"2":{"0":7,"1":3,"2":4,"3":14,"4":31,"5":8,"6":1,"7":3,"8":2,"10":1,"11":2,"12":1,"15":7,"16":3,"17":6,"19":13,"20":11,"21":3,"22":5,"23":2,"25":3,"26":2,"30":2,"31":1,"33":1,"34":3,"35":2,"38":2,"39":5,"41":3,"45":3,"46":1,"47":6,"50":4,"51":3,"53":2,"54":1,"56":1,"57":1,"59":2,"63":1,"64":1,"66":1,"67":1,"68":1,"69":3,"70":1,"71":3,"72":7,"73":2,"74":5,"76":1,"78":1,"80":2,"84":2}}],["its",{"2":{"15":1,"19":2,"20":3,"26":1,"35":1,"51":1,"54":1,"71":1}}],["iterates",{"2":{"20":2}}],["iterate",{"2":{"17":1}}],["iterator",{"2":{"16":2}}],["iteration",{"2":{"16":2,"34":1}}],["iter",{"2":{"13":1}}],["iter=1",{"2":{"13":1}}],["it",{"2":{"0":1,"2":1,"3":2,"4":11,"5":3,"7":1,"11":1,"12":3,"15":1,"16":2,"17":1,"19":4,"20":6,"21":2,"22":1,"27":1,"29":1,"30":1,"31":1,"32":1,"33":2,"34":1,"37":1,"38":1,"39":1,"41":2,"43":1,"45":2,"47":1,"50":1,"51":1,"54":1,"60":1,"67":1,"69":1,"71":2,"72":3,"73":1,"81":2}}],["inverts",{"2":{"81":1}}],["invalid",{"2":{"29":1}}],["inferno",{"2":{"60":1}}],["information",{"2":{"4":3,"15":1,"47":1}}],["inner",{"2":{"20":1,"22":1,"66":2}}],["inbuilt",{"2":{"20":1}}],["initially",{"2":{"16":2}}],["inaccurate",{"2":{"8":1}}],["including",{"2":{"7":1,"34":1,"72":1}}],["included",{"2":{"3":1,"5":1,"11":1,"45":1}}],["include",{"2":{"2":1,"3":2,"5":1,"22":1,"72":1,"73":1}}],["installed",{"2":{"12":1}}],["install",{"2":{"12":1}}],["installation",{"0":{"12":1}}],["instead",{"2":{"5":2,"7":1,"11":1,"19":1,"30":1,"60":1,"75":1}}],["inside",{"2":{"5":1,"30":1,"72":1}}],["inserted",{"2":{"0":1}}],["inputs",{"2":{"38":1,"40":1}}],["input",{"2":{"3":1,"5":1,"8":1,"63":1}}],["inds",{"2":{"29":2}}],["individual",{"2":{"17":1}}],["indicate",{"2":{"5":1,"10":1,"31":1}}],["indicates",{"2":{"4":2,"7":3,"9":1,"10":1,"11":1}}],["indicating",{"2":{"4":5}}],["indices",{"2":{"2":2,"5":4,"15":1,"17":3,"20":2,"33":1,"72":3,"73":1,"75":1}}],["independent",{"2":{"0":1,"4":1}}],["independentdim",{"2":{"0":5}}],["indexes",{"2":{"72":1}}],["indexed",{"2":{"4":2,"16":2}}],["indexing",{"0":{"29":1,"30":1,"81":1,"82":1},"2":{"0":2,"4":4,"15":3,"16":2,"17":1,"28":1,"29":4,"30":3,"32":1,"50":1,"72":7,"82":1,"84":3}}],["index",{"2":{"0":2,"3":3,"4":5,"5":8,"6":1,"7":4,"8":4,"9":2,"10":5,"15":6,"16":2,"17":4,"18":2,"20":5,"29":2,"30":1,"33":1,"72":3,"75":1,"82":1}}],["inherits",{"2":{"51":1}}],["inherit",{"2":{"0":1,"1":1,"15":1}}],["int8",{"2":{"13":5}}],["intselectors",{"2":{"5":1}}],["intselector",{"2":{"5":4}}],["intentionally",{"2":{"34":1}}],["intended",{"2":{"5":1}}],["integrate",{"2":{"34":1}}],["integrations",{"0":{"49":1},"1":{"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1}}],["integration",{"0":{"26":1}}],["integers",{"2":{"43":1,"45":1}}],["integer",{"2":{"3":1,"15":4,"19":9,"38":1}}],["inteface",{"2":{"22":2}}],["interoperability",{"2":{"76":1}}],["interpolate",{"2":{"17":1}}],["interpolation",{"2":{"17":3,"75":1}}],["interact",{"2":{"5":1}}],["intermediate",{"2":{"5":1}}],["interfaces",{"0":{"41":1},"2":{"22":2,"41":5}}],["interface",{"0":{"18":1,"22":1,"41":1},"2":{"3":1,"22":4,"34":1,"35":1,"70":1,"76":2,"79":1}}],["internally",{"2":{"69":1}}],["internal",{"0":{"22":1},"2":{"3":1,"20":1}}],["intervalbounds",{"2":{"47":4,"72":1}}],["interval",{"2":{"0":1,"4":5,"5":12,"8":1,"9":2,"10":4,"17":1,"19":2,"45":9,"47":2,"72":3,"73":1,"74":1}}],["intervalsets",{"2":{"5":2,"19":1,"45":6,"72":2,"74":1}}],["intervals",{"2":{"0":1,"4":13,"5":10,"8":3,"9":4,"10":1,"17":1,"19":5,"45":7,"47":1,"71":2,"72":14,"73":6,"74":2}}],["int",{"2":{"1":5,"2":2,"5":1,"15":5,"16":2,"18":1,"19":5,"30":2,"31":1,"33":1,"38":1,"45":1,"72":4}}],["int64",{"2":{"0":2,"4":2,"5":11,"13":4,"15":2,"17":2,"19":3,"20":3,"24":5,"27":2,"29":6,"43":12,"44":11,"45":5,"47":17,"48":14,"71":2,"73":3,"74":1,"75":3,"77":4,"78":8}}],["into",{"2":{"0":3,"4":3,"17":2,"18":1,"19":1,"20":1,"25":1,"26":1,"33":2,"45":4,"55":1,"60":1,"68":1,"84":1}}],["in",{"2":{"0":7,"1":3,"2":2,"3":13,"4":12,"5":10,"7":3,"8":2,"9":1,"10":2,"11":2,"15":5,"16":6,"17":5,"19":6,"20":24,"21":1,"22":11,"23":1,"26":1,"29":2,"30":4,"31":1,"33":1,"34":2,"35":2,"37":1,"39":2,"40":2,"41":10,"45":4,"47":2,"59":1,"60":2,"64":1,"65":1,"69":5,"70":1,"71":2,"72":6,"73":3,"76":1,"80":1,"83":2,"84":1}}],["hundreds",{"2":{"76":1}}],["humidity",{"2":{"20":6}}],["histogram",{"2":{"32":2}}],["hierarchy",{"2":{"0":1}}],["heatmap",{"2":{"60":1}}],["head",{"2":{"19":2}}],["her",{"2":{"45":1}}],["here",{"2":{"16":1,"17":1,"20":1,"27":1,"28":1,"45":2,"60":1,"69":1,"73":3}}],["helper",{"2":{"45":1}}],["help",{"2":{"22":2}}],["h",{"2":{"13":1,"62":1,"78":1}}],["having",{"2":{"20":1}}],["have",{"2":{"0":1,"4":3,"8":2,"11":1,"12":1,"15":1,"16":2,"18":1,"19":2,"20":4,"29":1,"34":1,"35":1,"36":1,"37":1,"39":1,"45":1,"60":1,"71":1,"78":1,"80":1}}],["hard",{"2":{"6":1}}],["haskey",{"2":{"11":2}}],["hasselection",{"2":{"4":2}}],["hasn",{"2":{"2":1}}],["has",{"2":{"1":1,"3":2,"4":1,"11":1,"15":3,"16":1,"20":4,"26":1,"32":1,"37":1,"39":2,"40":1,"47":1,"74":1}}],["hasdim",{"2":{"1":6,"15":6}}],["hold",{"2":{"19":1,"37":1,"73":1,"74":1}}],["holds",{"2":{"4":4,"16":1,"73":1}}],["holding",{"2":{"1":1,"2":1,"8":1,"15":9,"17":1,"19":2,"68":1,"75":1}}],["however",{"2":{"5":1,"20":1}}],["how",{"2":{"4":2,"7":2,"33":1,"43":1,"67":1}}],["hours",{"2":{"19":4,"45":2}}],["hour",{"2":{"0":1,"19":1,"43":4,"44":1,"45":2,"46":3}}],["slower",{"2":{"84":1}}],["slowly",{"2":{"51":1}}],["slightly",{"2":{"45":1}}],["slicing",{"2":{"3":1}}],["sliced",{"2":{"16":1,"20":1}}],["slicedims",{"2":{"3":2,"15":1}}],["slices",{"2":{"15":1,"20":4}}],["slice",{"2":{"3":1,"15":1,"20":1}}],["smaller",{"2":{"28":1}}],["synchronisation",{"2":{"56":1}}],["symmetry",{"2":{"33":1}}],["symbol",{"2":{"1":1,"2":1,"3":4,"4":7,"11":1,"13":1,"15":11,"16":6,"18":1,"19":3,"20":3,"21":3,"38":2,"40":1,"44":7,"45":15,"46":2,"47":1,"69":2,"72":15,"74":2,"76":1,"81":2}}],["symbols",{"2":{"0":1,"1":1,"2":1,"3":1,"4":5,"11":1,"15":3,"26":1,"28":1,"31":1}}],["system",{"2":{"26":1,"35":1}}],["scalar",{"2":{"82":1}}],["scalars",{"2":{"24":3,"82":1}}],["scaled",{"2":{"24":4}}],["scale",{"2":{"24":1}}],["scaling",{"0":{"24":1}}],["scope",{"2":{"0":1,"4":1,"33":1}}],["src",{"2":{"20":4,"30":2}}],["sat",{"2":{"73":2}}],["save",{"2":{"50":1}}],["saving",{"2":{"11":2}}],["samples",{"2":{"9":1,"32":2}}],["sampled",{"2":{"0":6,"4":16,"5":8,"9":1,"13":4,"15":5,"17":4,"19":4,"20":11,"24":9,"25":2,"35":1,"44":9,"45":7,"46":5,"47":24,"48":28,"67":2,"69":2,"71":8,"72":13,"73":7,"74":3,"75":10,"77":4,"78":2,"80":2,"81":15,"82":1,"83":49}}],["sampling=dd",{"2":{"5":2}}],["sampling=intervals",{"2":{"4":2,"73":3}}],["sampling=points",{"2":{"4":2}}],["sampling",{"0":{"9":1},"2":{"0":1,"2":1,"3":1,"4":15,"5":1,"8":1,"9":6,"17":1,"20":1,"47":5,"69":1,"74":1}}],["same",{"2":{"0":2,"3":3,"4":1,"5":2,"11":1,"15":4,"17":2,"19":1,"20":3,"27":1,"29":1,"32":1,"37":2,"39":1,"43":1,"47":1,"59":1,"76":1,"80":1}}],["sharing",{"2":{"16":1}}],["share",{"2":{"16":1,"80":1}}],["shift",{"2":{"4":2}}],["shiftlocus",{"2":{"4":1}}],["show",{"2":{"22":9,"73":1}}],["shows",{"2":{"15":1}}],["shown",{"2":{"2":1}}],["should",{"2":{"2":1,"5":1,"12":1,"15":1,"20":1,"22":2,"37":1,"38":1,"39":1,"73":1,"78":1}}],["shortcuts",{"2":{"27":1}}],["shorthand",{"2":{"15":1,"73":1}}],["short",{"2":{"0":1}}],["swapping",{"2":{"20":1}}],["swap",{"2":{"3":1}}],["swapdims",{"2":{"3":3}}],["specialisations",{"2":{"19":1}}],["specify",{"2":{"10":5,"19":4,"20":2,"31":1,"33":1,"45":1,"71":1,"73":1,"78":1}}],["specifying",{"2":{"4":1,"9":1,"73":1}}],["specifies",{"2":{"7":1,"21":1,"29":1,"47":1}}],["specified",{"2":{"2":1,"3":1,"4":1,"15":1,"74":1}}],["specifically",{"2":{"20":1}}],["specific",{"2":{"4":5,"6":1,"8":1,"9":1,"33":1,"67":1}}],["space",{"2":{"20":2}}],["spaced",{"2":{"19":1}}],["spacing",{"2":{"4":2}}],["span=irregular",{"2":{"73":1}}],["span=regular",{"2":{"4":1,"73":1}}],["span=autospan",{"2":{"4":2}}],["span",{"0":{"8":1},"2":{"4":15,"8":7,"47":5,"69":1,"74":1}}],["spatial",{"2":{"0":1,"34":1,"50":1,"51":1,"56":2,"78":1}}],["signature",{"2":{"39":1}}],["sits",{"2":{"29":1}}],["sizes",{"2":{"45":1}}],["size",{"2":{"2":1,"3":1,"4":5,"8":1,"19":1,"20":8,"22":5,"24":1,"31":2,"41":3,"46":2,"66":2,"76":1,"77":2,"78":26,"80":4,"81":22,"82":3,"83":88}}],["single",{"2":{"1":8,"3":2,"4":1,"5":2,"9":1,"15":8,"16":1,"19":1,"20":1,"30":1,"39":1,"47":1,"68":1,"72":1,"82":1,"84":1}}],["simultaneously",{"2":{"68":1}}],["simulations",{"2":{"56":1}}],["simulation",{"2":{"56":1}}],["simulataneously",{"2":{"16":1}}],["similar",{"2":{"0":1,"4":1,"7":1,"9":1,"17":1,"46":1,"66":1}}],["simpler",{"2":{"43":1}}],["simple",{"2":{"42":1}}],["simply",{"2":{"0":1,"4":1,"5":1,"11":1,"15":1,"22":1,"47":1,"75":1}}],["simplicity",{"2":{"0":1}}],["st2",{"2":{"81":2}}],["st",{"2":{"66":4,"77":1,"78":2,"79":1,"80":1,"81":8,"82":4,"83":35}}],["storage",{"2":{"50":1}}],["stored",{"2":{"15":1,"80":1}}],["std",{"2":{"31":1,"83":2}}],["style",{"2":{"26":1}}],["still",{"2":{"11":1,"25":1,"30":1,"71":1}}],["standard",{"2":{"76":1}}],["standards",{"2":{"10":1}}],["stage",{"2":{"22":2}}],["statistics",{"2":{"16":2,"24":1,"43":1,"83":1}}],["status",{"2":{"12":2}}],["stack",{"2":{"16":2,"20":10,"22":4,"41":2,"66":1,"76":2,"83":1,"84":1}}],["stacks",{"2":{"16":1,"20":5,"78":1,"79":1,"84":1}}],["starts",{"2":{"66":1}}],["start=6",{"2":{"45":4}}],["start=1",{"2":{"45":1}}],["start=12",{"2":{"45":1}}],["start=january",{"2":{"45":1}}],["start=0",{"2":{"19":1}}],["start=dates",{"2":{"19":2}}],["starting",{"2":{"8":1,"45":2}}],["start",{"2":{"0":2,"4":6,"5":3,"9":1,"10":4,"13":1,"19":9,"45":4,"47":1,"72":5,"73":7}}],["stripped",{"2":{"26":1}}],["strings",{"2":{"5":1}}],["string",{"2":{"2":4,"3":1,"4":1,"15":1,"22":1,"45":2,"69":2,"73":3,"74":1,"79":1}}],["string=string",{"2":{"0":1}}],["strongly",{"2":{"20":1}}],["struct",{"2":{"3":1,"20":1,"65":2}}],["step=12",{"2":{"45":1}}],["step=2",{"2":{"45":1}}],["step=3",{"2":{"45":2}}],["step=hour",{"2":{"43":1}}],["step=autostep",{"2":{"8":1}}],["steps",{"2":{"19":1}}],["step",{"2":{"3":1,"4":1,"8":2,"19":7,"20":1,"74":1}}],["s",{"2":{"0":1,"1":4,"2":1,"3":4,"5":16,"15":5,"16":3,"18":1,"19":1,"20":5,"21":1,"22":1,"32":1,"34":1,"51":1,"72":2,"78":1}}],["series",{"0":{"61":1},"1":{"62":1,"63":1,"64":1},"2":{"58":1,"62":1,"63":2,"64":1}}],["sep",{"2":{"45":6,"73":2}}],["separate",{"2":{"2":1,"50":1}}],["sequential",{"2":{"19":1}}],["seamlessly",{"2":{"26":1}}],["sea",{"2":{"20":4}}],["seasons",{"2":{"19":4,"45":5}}],["searched",{"2":{"7":1}}],["searchsortedfirst",{"2":{"7":1}}],["searchsorted",{"2":{"7":1}}],["sections",{"2":{"19":1}}],["second",{"2":{"0":1,"2":1,"4":4,"11":1,"15":2}}],["sense",{"2":{"5":1,"50":1,"69":1}}],["seed",{"2":{"15":1}}],["see",{"2":{"3":1,"16":1,"24":1,"41":2,"43":1,"45":1}}],["select",{"0":{"46":1},"2":{"20":2,"46":1,"72":2,"73":1,"75":1}}],["selections",{"2":{"5":1}}],["selectindices",{"2":{"2":1}}],["selects",{"2":{"5":2,"72":1}}],["selected",{"2":{"5":1,"19":5,"72":2}}],["selectors=near",{"2":{"17":1,"75":1}}],["selectorss",{"2":{"4":2}}],["selectors",{"0":{"5":1,"72":1},"1":{"73":1,"74":1,"75":1},"2":{"2":1,"4":12,"5":8,"8":1,"15":1,"16":1,"17":6,"30":1,"73":2,"74":1,"75":3,"82":1}}],["selector",{"2":{"0":1,"2":2,"4":3,"5":13,"33":1,"39":1,"69":1,"72":2,"81":1}}],["setproperties",{"2":{"20":1,"70":1}}],["setting",{"2":{"20":1}}],["setindex",{"2":{"16":1,"30":1}}],["setdims",{"2":{"3":3}}],["set",{"0":{"71":1},"2":{"0":1,"4":6,"5":1,"8":1,"11":2,"15":13,"20":18,"69":1,"71":11,"72":2,"74":3}}],["sounds",{"2":{"38":1}}],["sources",{"2":{"4":1,"20":7,"50":1}}],["source",{"2":{"0":15,"1":5,"2":5,"3":12,"4":23,"5":10,"6":1,"7":6,"8":5,"9":3,"10":6,"11":4,"15":16,"16":2,"17":3,"18":2,"19":9,"20":16,"21":3,"22":6}}],["solution",{"2":{"19":2}}],["so",{"2":{"4":2,"5":1,"20":1,"23":1,"29":1,"45":1,"47":1,"70":1,"73":1,"76":1,"78":1}}],["sorted",{"2":{"5":1,"19":2}}],["sortdims",{"2":{"3":1}}],["sort",{"2":{"3":3}}],["sometimes",{"2":{"45":1,"71":1}}],["something",{"2":{"13":1,"19":1}}],["somewhere",{"2":{"16":2,"69":1}}],["some",{"2":{"0":1,"4":1,"15":1,"16":1,"19":1,"24":1,"33":1,"37":1,"39":1,"43":2,"77":1,"80":1,"84":1}}],["sun",{"2":{"73":2}}],["surface",{"2":{"20":4}}],["sure",{"2":{"17":2}}],["surprising",{"2":{"16":2}}],["summer",{"2":{"45":1}}],["summary",{"2":{"41":2}}],["sum",{"2":{"16":1,"19":1,"31":3,"44":1,"83":5}}],["succinct",{"2":{"16":2}}],["such",{"2":{"0":2,"2":1,"4":1,"5":1,"10":1,"19":2}}],["supporting",{"2":{"79":1}}],["support",{"2":{"59":1}}],["supplied",{"2":{"5":1}}],["supertypes",{"2":{"3":1}}],["supertype=dimension",{"2":{"0":1}}],["supertype",{"2":{"0":8,"4":5,"5":3,"6":1,"7":1,"10":1,"11":1,"15":2,"16":1,"18":1,"21":1}}],["submodule",{"2":{"33":1}}],["subset",{"2":{"20":2,"81":1}}],["subsetting",{"2":{"5":1}}],["subtypes",{"2":{"22":1}}],["subtype",{"2":{"15":1}}],["sub",{"2":{"0":2}}],["tue",{"2":{"73":2}}],["tuples",{"2":{"3":4,"4":1,"17":1,"19":2,"29":2,"40":1,"43":1,"47":1,"68":1}}],["tuple",{"2":{"1":22,"2":8,"3":34,"4":32,"8":2,"11":5,"15":42,"16":3,"17":8,"19":2,"20":10,"22":5,"29":3,"36":1,"40":1,"41":2,"43":4,"44":3,"47":6,"72":1,"78":2,"81":1,"83":4}}],["twice",{"2":{"5":1}}],["two",{"2":{"3":1,"4":2,"5":1,"15":4,"16":2,"18":1,"26":1,"45":1,"72":1,"80":1}}],["tell",{"2":{"67":1}}],["testable",{"2":{"41":1}}],["testing",{"0":{"41":1},"2":{"41":2}}],["test",{"0":{"61":1},"1":{"62":1,"63":1,"64":1},"2":{"22":4,"41":4}}],["tested",{"2":{"22":2}}],["temporal",{"2":{"56":1}}],["tempo",{"2":{"43":9,"44":1}}],["temp",{"2":{"20":4}}],["term",{"2":{"6":1,"47":1}}],["terms",{"2":{"4":1}}],["text",{"2":{"3":1,"22":2}}],["tries",{"2":{"71":1}}],["trivially",{"2":{"46":1}}],["trial",{"2":{"32":2}}],["try",{"2":{"20":1}}],["treated",{"2":{"19":1}}],["treat",{"2":{"18":1}}],["track",{"2":{"15":1}}],["tracking",{"2":{"4":1,"8":1,"11":1}}],["trait",{"2":{"6":1,"20":1}}],["traits",{"0":{"6":1},"1":{"7":1,"8":1,"9":1,"10":1},"2":{"3":1,"4":1,"6":2,"7":1,"20":1,"73":1}}],["transforming",{"2":{"19":1,"20":1}}],["transform",{"2":{"4":1,"43":1,"69":1}}],["transformation",{"2":{"4":3}}],["transformations",{"2":{"3":1,"4":1,"15":1}}],["transformed",{"2":{"4":4}}],["transpose",{"2":{"0":1,"31":2,"83":1}}],["transect",{"2":{"0":1}}],["true",{"2":{"1":4,"3":3,"15":4,"16":1,"19":2,"20":1,"29":1,"41":89,"48":21}}],["typ",{"2":{"0":2}}],["typeof",{"2":{"20":1,"25":1,"73":2}}],["typed",{"2":{"20":1}}],["typemax",{"2":{"4":1}}],["typemin",{"2":{"4":1}}],["type",{"2":{"0":16,"1":6,"2":3,"3":15,"4":16,"5":10,"6":1,"7":6,"8":6,"9":3,"10":6,"11":5,"15":9,"16":3,"17":3,"18":4,"19":3,"20":4,"21":4,"22":2,"26":1,"29":1,"38":2,"40":1,"47":1,"69":1,"71":1,"79":1}}],["types",{"2":{"0":6,"1":5,"2":1,"3":8,"4":7,"5":1,"6":1,"10":1,"11":2,"15":7,"18":1,"20":2,"30":1,"31":2,"33":2,"35":2,"43":1,"50":1,"54":1,"74":2}}],["tabular",{"2":{"76":1}}],["table",{"2":{"18":1,"78":1}}],["tabletraits",{"0":{"18":1},"2":{"18":1}}],["tables",{"0":{"18":1,"76":1},"1":{"77":1,"78":1,"79":1},"2":{"0":1,"15":1,"18":4,"76":2,"79":1}}],["taking",{"2":{"45":1}}],["taken",{"2":{"17":1}}],["take",{"2":{"0":1,"4":2,"5":1,"16":1,"19":2,"44":1,"63":1,"72":3,"78":1,"84":1}}],["target",{"2":{"17":2}}],["t",{"2":{"0":1,"2":2,"3":2,"4":10,"11":1,"17":1,"24":3,"29":2,"30":1,"69":1,"70":1,"71":1,"74":1,"75":1,"78":1}}],["title",{"2":{"22":5}}],["ti=>",{"2":{"46":1}}],["ti=>cyclicbins",{"2":{"45":4}}],["ti=>bins",{"2":{"45":8}}],["ti=>yearday",{"2":{"44":2}}],["ti=>yearmonth",{"2":{"44":2}}],["ti=>yearmonthday",{"2":{"44":2}}],["ti=>hour",{"2":{"44":2}}],["ti=>dayofyear",{"2":{"44":2}}],["ti=>month",{"2":{"19":6,"44":3}}],["ti=2",{"2":{"17":1}}],["ti=all",{"2":{"5":1}}],["time=1",{"2":{"13":1}}],["timeseriestools",{"0":{"58":1},"2":{"58":1}}],["times",{"2":{"0":1,"44":1,"80":1}}],["timedime",{"2":{"0":1}}],["timedim",{"2":{"0":4,"3":1}}],["time",{"0":{"24":1},"2":{"0":4,"4":1,"13":1,"16":1,"19":1,"20":1,"22":1,"32":6,"44":1,"58":1,"84":1}}],["ti",{"2":{"0":14,"1":1,"3":3,"5":3,"15":5,"17":1,"18":2,"19":6,"20":8,"24":9,"31":3,"33":1,"44":10,"45":23,"46":5,"60":1}}],["though",{"2":{"84":1}}],["those",{"2":{"5":1,"20":2,"33":1,"69":1}}],["thur",{"2":{"73":2}}],["think",{"2":{"71":1}}],["thing",{"2":{"71":2}}],["things",{"2":{"22":2,"25":1,"65":1,"66":1,"69":2,"74":1}}],["this",{"2":{"0":1,"2":3,"3":6,"4":13,"5":6,"7":1,"8":1,"10":2,"11":2,"12":1,"16":4,"17":2,"18":2,"19":8,"20":7,"21":1,"22":3,"25":1,"26":2,"29":1,"30":1,"31":1,"33":1,"34":1,"37":1,"38":1,"40":1,"41":1,"42":1,"45":5,"47":1,"56":1,"59":1,"66":2,"69":1,"71":1,"72":1,"74":2,"80":1,"83":1,"84":1}}],["through",{"2":{"15":1,"54":1}}],["throw",{"2":{"29":1}}],["throws",{"2":{"5":1}}],["throwing",{"2":{"3":1}}],["thrown",{"2":{"2":1,"3":1,"5":1,"69":1}}],["three",{"2":{"4":2,"16":2,"19":1,"45":1}}],["than",{"2":{"3":1,"4":2,"5":2,"9":1,"19":3,"26":1,"38":1,"39":1,"45":1,"65":1,"67":1,"72":1,"84":1}}],["that",{"2":{"0":3,"1":2,"2":2,"3":1,"4":13,"5":15,"7":4,"8":3,"9":2,"10":1,"11":1,"12":1,"15":8,"16":4,"17":4,"19":4,"20":9,"23":2,"26":2,"27":1,"30":1,"33":1,"35":1,"36":1,"37":1,"38":1,"39":3,"43":2,"47":2,"69":1,"73":2,"74":1,"76":1,"78":1,"80":1}}],["then",{"2":{"20":1,"72":1,"74":1}}],["their",{"2":{"3":2,"16":2,"20":3,"47":1,"50":1}}],["there",{"2":{"2":2,"4":2,"15":4,"20":1,"23":1,"27":1,"39":1,"45":1,"47":1,"71":1,"73":1,"84":1}}],["these",{"2":{"0":3,"1":1,"3":2,"4":4,"6":2,"7":1,"8":1,"9":1,"10":1,"15":2,"16":1,"17":2,"18":1,"19":2,"29":1,"33":1,"35":1,"38":1,"39":3,"48":1,"69":1,"73":2,"75":1}}],["they",{"2":{"0":1,"2":1,"3":2,"4":3,"5":2,"10":2,"11":1,"15":1,"17":2,"20":3,"22":2,"26":1,"29":1,"33":2,"34":1,"59":1,"65":1,"69":1,"73":1,"74":3,"76":1}}],["them",{"2":{"0":1,"4":1,"11":1,"26":1,"29":1,"44":1,"45":1,"47":1,"72":1,"73":1}}],["the",{"0":{"24":1},"2":{"0":20,"1":13,"2":8,"3":44,"4":85,"5":41,"6":3,"7":9,"8":7,"9":7,"10":9,"11":6,"12":3,"13":1,"15":49,"16":24,"17":16,"18":4,"19":50,"20":63,"21":4,"22":9,"23":2,"24":3,"25":9,"26":5,"27":1,"28":1,"29":6,"30":4,"31":3,"32":2,"33":6,"34":1,"35":1,"37":7,"38":3,"39":6,"40":4,"41":4,"43":5,"44":4,"45":10,"47":11,"48":1,"50":1,"51":1,"55":1,"59":4,"60":5,"63":2,"65":3,"66":4,"67":1,"68":1,"69":7,"70":4,"71":9,"72":11,"73":9,"74":6,"75":1,"76":10,"78":3,"79":1,"80":3,"81":2,"82":1,"83":5}}],["tolerance",{"2":{"72":1}}],["todo",{"2":{"46":1,"71":1}}],["tools",{"2":{"34":1,"50":2,"57":1}}],["too",{"2":{"26":1,"54":1,"69":1}}],["together",{"2":{"23":1}}],["top",{"2":{"22":1,"29":1}}],["total",{"2":{"19":1}}],["touched",{"2":{"72":1}}],["touches",{"2":{"5":7,"72":2}}],["touch",{"2":{"5":2}}],["touching",{"2":{"5":1}}],["tosort",{"2":{"3":4}}],["to",{"0":{"78":1,"79":1},"2":{"0":8,"1":5,"2":4,"3":17,"4":35,"5":12,"6":1,"8":1,"9":2,"10":12,"11":5,"12":3,"15":19,"16":8,"17":5,"18":1,"19":17,"20":32,"21":2,"22":6,"23":2,"24":3,"25":2,"26":10,"29":1,"30":2,"31":3,"33":5,"34":3,"35":4,"37":1,"38":1,"39":3,"40":1,"41":2,"43":2,"45":7,"46":2,"47":1,"48":1,"50":1,"56":1,"57":1,"59":2,"65":1,"66":5,"67":2,"69":3,"71":6,"72":3,"73":4,"74":3,"76":2,"79":1,"80":1,"81":1,"83":1,"84":2}}],["jan",{"2":{"45":4,"73":1}}],["january",{"2":{"19":2,"45":1}}],["jarring",{"2":{"16":2}}],["jump",{"0":{"54":1},"2":{"54":1}}],["jul",{"2":{"45":6,"73":1}}],["juliaprint",{"2":{"22":2}}],["juliaposition",{"2":{"10":1}}],["juliapoints",{"2":{"9":1}}],["juliahours",{"2":{"19":1}}],["juliahasselection",{"2":{"4":1}}],["juliahasdim",{"2":{"1":1,"15":1}}],["juliaranges",{"2":{"19":1}}],["juliareorder",{"2":{"20":1}}],["juliarebuild",{"2":{"20":1,"22":1,"39":1}}],["juliarefdims",{"2":{"15":1,"22":1}}],["juliaregular",{"2":{"8":1}}],["juliareverseordered",{"2":{"7":1}}],["juliareducedims",{"2":{"3":1}}],["juliagroupby",{"2":{"19":1}}],["juliamakie",{"2":{"60":1,"63":2,"64":1}}],["juliamap",{"2":{"16":1}}],["juliamodify",{"2":{"20":1}}],["juliamonths",{"2":{"19":1}}],["juliamergedims",{"2":{"20":3}}],["juliamergedlookup",{"2":{"4":1}}],["juliametadata",{"2":{"11":1,"15":1}}],["juliamean",{"2":{"0":4,"16":1}}],["juliafunction",{"2":{"16":1}}],["juliaforwardordered",{"2":{"7":1}}],["juliaformat",{"2":{"2":1,"40":1}}],["juliaend",{"2":{"10":1}}],["juliaexplicit",{"2":{"8":1}}],["juliairregular",{"2":{"8":1}}],["juliaintervals",{"2":{"9":1,"19":1}}],["juliaintselector",{"2":{"5":1}}],["juliaindependentdim",{"2":{"0":1}}],["juliawhere",{"2":{"5":1}}],["juliaordered",{"2":{"7":1}}],["juliaorder",{"2":{"4":1,"7":1}}],["juliaotherdims",{"2":{"1":1,"15":1}}],["juliab",{"2":{"62":1}}],["juliablockwidth",{"2":{"22":1}}],["juliabroadcast",{"2":{"20":2}}],["juliabins",{"2":{"19":1}}],["juliabegin",{"2":{"10":1}}],["juliabetween",{"2":{"5":1}}],["juliabounds",{"2":{"4":1}}],["juliabase",{"2":{"15":4,"20":5}}],["juliabasedims",{"2":{"3":1}}],["juliabasetypeof",{"2":{"3":1}}],["julianame",{"2":{"15":1,"21":1}}],["julianame2dim",{"2":{"3":1}}],["julianoname",{"2":{"21":1}}],["julianometadata",{"2":{"11":1}}],["julianolookup",{"2":{"4":1}}],["julianear",{"2":{"5":1}}],["juliatouches",{"2":{"5":1}}],["juliatransformed",{"2":{"4":1}}],["juliatimedim",{"2":{"0":2}}],["juliaunmergedims",{"2":{"20":2}}],["juliaunits",{"2":{"11":1}}],["juliaunordered",{"2":{"7":1}}],["juliaunaligned",{"2":{"4":1}}],["juliausing",{"2":{"0":3,"3":2,"4":6,"5":7,"13":1,"20":1,"24":1,"25":1,"33":1,"43":1,"47":1,"60":1,"72":1,"73":1,"77":1,"79":1,"83":1}}],["juliacat",{"2":{"20":1}}],["juliacategorical",{"2":{"4":1}}],["juliacenter",{"2":{"10":1}}],["juliacopy",{"2":{"20":2}}],["juliacontains",{"2":{"5":1}}],["juliacombinedims",{"2":{"3":1}}],["juliacomparedims",{"2":{"3":1}}],["juliacommondims",{"2":{"3":1}}],["juliacyclicbins",{"2":{"19":1}}],["juliacyclic",{"2":{"4":1}}],["juliaa",{"2":{"20":1}}],["juliaall",{"2":{"5":1}}],["juliaaligned",{"2":{"4":1}}],["juliaat",{"2":{"5":1}}],["juliaarrayselector",{"2":{"5":1}}],["juliaautoposition",{"2":{"10":1}}],["juliaautospan",{"2":{"8":1}}],["juliaautoorder",{"2":{"7":1}}],["juliaautovalues",{"2":{"4":1}}],["juliaautolookup",{"2":{"4":1}}],["juliaabstractname",{"2":{"21":1}}],["juliaabstractdimtable",{"2":{"18":1}}],["juliaabstractdimstack",{"2":{"16":1}}],["juliaabstractdimarray",{"2":{"15":1}}],["juliaabstractbasicdimarray",{"2":{"15":1}}],["juliaabstractmetadata",{"2":{"11":1}}],["juliaabstractcategorical",{"2":{"4":1}}],["juliaabstractcyclic",{"2":{"4":1}}],["juliaabstractsampled",{"2":{"4":1}}],["juliaanondim",{"2":{"0":1}}],["julias",{"2":{"34":1}}],["juliashow",{"2":{"22":2}}],["juliashiftlocus",{"2":{"4":1}}],["juliastart",{"2":{"10":1}}],["juliaspan",{"2":{"4":1,"8":1}}],["juliasampling",{"2":{"4":1,"9":1}}],["juliasampled",{"2":{"4":1}}],["juliaset",{"2":{"20":1}}],["juliasetdims",{"2":{"3":1}}],["juliaseasons",{"2":{"19":1}}],["juliaselector",{"2":{"5":1}}],["juliaselectindices",{"2":{"2":1}}],["juliasortdims",{"2":{"3":1}}],["juliaslicedims",{"2":{"3":1}}],["juliaswapdims",{"2":{"3":1}}],["julialocus",{"2":{"4":1}}],["julialookuptrait",{"2":{"6":1}}],["julialookups",{"2":{"4":1}}],["julialookup",{"2":{"2":1,"4":1}}],["julialabel",{"2":{"2":1}}],["julia>",{"2":{"1":12,"3":4,"12":1,"15":24,"16":8,"17":4,"18":2,"19":2,"20":8,"27":1,"32":1,"33":1,"41":1,"47":1,"66":1,"67":2,"72":2,"73":1,"80":1,"84":1}}],["julia",{"2":{"0":1,"19":1,"22":2,"23":1,"25":1,"26":1,"30":1,"31":1,"34":2,"53":1,"55":1,"76":1}}],["juliajulia>",{"2":{"0":1,"1":4,"3":1,"12":3,"13":4,"15":9,"16":1,"17":2,"18":1,"19":4,"20":7,"24":7,"25":2,"27":14,"28":2,"29":7,"30":2,"31":2,"32":3,"33":4,"41":4,"43":9,"44":8,"45":13,"46":4,"47":50,"48":73,"66":8,"67":2,"69":6,"70":2,"71":6,"72":17,"73":11,"74":1,"75":5,"77":3,"78":5,"80":2,"81":9,"82":4,"83":34,"84":2}}],["juliaz",{"2":{"0":1}}],["juliazdim",{"2":{"0":2}}],["juliayearday",{"2":{"43":1}}],["juliay",{"2":{"0":1}}],["juliaydim",{"2":{"0":2}}],["juliaval",{"2":{"0":4,"4":1}}],["juliadimgroupbyarray",{"2":{"19":1}}],["juliadimtable",{"2":{"18":1}}],["juliadimpoints",{"2":{"17":1}}],["juliadimindices",{"2":{"17":1}}],["juliadimarray",{"2":{"15":1}}],["juliadimnum",{"2":{"1":1,"15":1}}],["juliadimselectors",{"2":{"17":1}}],["juliadimstack",{"2":{"16":1}}],["juliadimsmatch",{"2":{"3":1}}],["juliadims2indices",{"2":{"2":1}}],["juliadims",{"2":{"1":2,"15":2}}],["juliadim",{"2":{"0":1}}],["juliadimension",{"2":{"0":1}}],["juliadimensions",{"2":{"0":1}}],["juliadependentdim",{"2":{"0":1}}],["juliaxdim",{"2":{"0":2}}],["juliax",{"2":{"0":3}}],["jun",{"2":{"45":6,"73":1}}],["just",{"2":{"5":2,"20":1,"23":1,"37":1,"39":1,"45":3,"47":1,"70":1,"71":1,"81":1}}],["j",{"2":{"3":2,"13":3,"62":1,"78":1}}],["jl",{"0":{"18":2,"34":1,"41":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1},"1":{"61":1,"62":1,"63":1,"64":1},"2":{"0":2,"4":5,"5":2,"18":2,"19":1,"20":1,"22":6,"25":1,"26":7,"30":6,"33":1,"34":10,"35":1,"36":1,"37":2,"39":3,"41":1,"42":1,"47":2,"50":3,"51":4,"52":1,"53":1,"54":1,"55":1,"56":2,"57":1,"58":1,"59":4,"60":1,"64":1,"65":1,"69":1,"70":2,"76":5,"79":2}}],["o=rand",{"2":{"81":1}}],["omitted",{"2":{"78":4}}],["oct",{"2":{"45":4,"73":1}}],["own",{"2":{"43":1,"46":1,"54":1}}],["objs",{"2":{"38":1}}],["obj",{"2":{"36":1,"38":2,"39":2}}],["object",{"2":{"0":1,"1":9,"2":1,"3":7,"4":7,"6":1,"10":1,"11":2,"15":12,"17":1,"18":1,"20":11,"22":1,"30":2,"33":2,"39":1,"47":3,"67":1,"69":1,"71":1}}],["objects",{"0":{"65":1},"1":{"66":1,"67":1,"68":1,"69":1,"70":1,"71":1},"2":{"0":1,"2":2,"3":1,"4":1,"5":2,"7":1,"11":1,"15":1,"16":3,"19":1,"20":4,"26":1,"29":1,"33":1,"36":1,"37":1,"38":1,"39":3,"46":3,"47":1,"65":1,"70":2,"71":1,"83":1}}],["our",{"2":{"29":2,"43":1,"45":6,"47":1}}],["outer",{"2":{"40":1,"66":1,"73":1,"74":3}}],["outcome",{"2":{"16":2}}],["out",{"2":{"4":1,"18":1,"33":1,"50":1,"59":1}}],["outputs",{"2":{"56":1}}],["output",{"2":{"0":4,"3":2,"4":5,"5":7,"20":1,"45":1,"46":1,"55":1}}],["old",{"2":{"20":6}}],["optimization",{"2":{"54":1}}],["optimised",{"2":{"7":1}}],["options",{"2":{"41":2}}],["optional",{"2":{"15":1,"22":4,"41":2}}],["operation",{"2":{"19":1,"31":1}}],["operations",{"2":{"0":1,"15":1,"19":1,"26":1}}],["open",{"2":{"5":1,"45":35,"72":1}}],["openinterval",{"2":{"5":1}}],["o",{"2":{"4":1,"78":1,"81":2}}],["overheads",{"2":{"84":1}}],["overlapping",{"2":{"19":1}}],["over",{"2":{"0":1,"4":4,"9":1,"16":3,"17":2,"19":2,"20":7,"24":1,"44":1,"73":1,"83":1}}],["others",{"2":{"20":2,"80":1}}],["otherwise",{"2":{"4":1,"5":1,"19":1,"20":1,"35":1}}],["otherdims",{"2":{"1":3,"15":3,"17":1,"47":8,"48":13}}],["other",{"2":{"0":2,"3":2,"4":2,"5":2,"19":1,"20":4,"26":1,"27":1,"35":1,"43":1,"46":1,"48":1,"60":1,"73":1,"74":2,"76":1,"79":1,"81":1}}],["orange",{"2":{"63":1,"64":1}}],["organised",{"2":{"33":1}}],["organises",{"2":{"0":1}}],["originates",{"2":{"19":1}}],["original",{"2":{"3":3,"20":7}}],["origin",{"2":{"11":1}}],["ordering",{"2":{"4":1}}],["order=unordered",{"2":{"4":1,"73":1}}],["order=autoorder",{"2":{"4":2}}],["order=forwardordered",{"2":{"3":1,"73":2}}],["ordered",{"2":{"1":1,"4":1,"7":4,"15":3,"73":2}}],["order",{"0":{"7":1},"2":{"1":1,"2":1,"3":12,"4":23,"5":1,"7":9,"15":1,"17":7,"20":15,"29":4,"47":6,"60":1,"69":3,"74":2}}],["or",{"2":{"0":5,"1":20,"2":7,"3":19,"4":33,"5":5,"7":1,"8":5,"9":3,"10":3,"11":6,"12":1,"13":2,"15":31,"16":7,"17":6,"18":4,"19":16,"20":12,"22":4,"26":1,"29":1,"30":2,"31":2,"33":1,"35":3,"37":1,"38":1,"40":1,"41":2,"42":1,"45":1,"47":10,"48":1,"63":1,"65":1,"66":1,"69":1,"72":4,"73":3,"74":3,"75":2,"76":2,"79":1,"80":1,"81":2}}],["often",{"2":{"19":2,"20":1,"26":1,"50":1,"73":1}}],["offsetarrays",{"2":{"37":2}}],["offset",{"2":{"5":1}}],["of",{"2":{"0":5,"1":13,"2":6,"3":17,"4":45,"5":7,"6":5,"7":3,"8":1,"9":2,"10":7,"11":5,"15":34,"16":10,"17":16,"18":3,"19":44,"20":32,"21":1,"22":16,"23":1,"24":1,"25":2,"26":1,"27":2,"29":8,"30":1,"33":2,"34":3,"35":1,"36":1,"37":1,"38":1,"39":2,"40":4,"41":10,"43":2,"44":2,"45":5,"47":10,"50":2,"52":1,"53":1,"55":1,"59":1,"63":1,"65":1,"66":1,"68":2,"69":4,"71":2,"72":2,"73":4,"74":3,"75":2,"76":4,"78":1,"80":5,"81":2,"82":1,"83":3}}],["oneto",{"2":{"20":2,"73":2}}],["one",{"2":{"3":1,"4":3,"9":1,"16":2,"20":2,"23":1,"25":1,"26":1,"39":2,"69":2,"72":1,"78":3,"80":1,"82":1}}],["ones",{"2":{"1":4,"3":3,"4":1,"15":10,"18":1,"20":2,"27":4,"32":1}}],["only",{"2":{"2":1,"3":1,"4":1,"5":1,"15":3,"17":4,"20":4,"39":2,"45":1,"65":1,"69":1,"78":1,"80":1,"81":1,"83":1}}],["on",{"2":{"0":6,"1":1,"2":3,"3":1,"4":2,"5":1,"10":1,"11":1,"15":3,"16":2,"19":4,"20":4,"21":1,"22":3,"23":1,"25":3,"26":2,"29":1,"34":1,"40":1,"41":2,"45":1,"56":1,"59":2,"69":1,"70":1,"81":2}}],["away",{"2":{"69":1}}],["aware",{"2":{"23":1,"50":1}}],["a1",{"2":{"69":4}}],["aimed",{"2":{"51":1}}],["aggregate",{"2":{"45":1}}],["again",{"2":{"16":1,"29":1}}],["a=rand",{"2":{"80":1}}],["a=falses",{"2":{"66":1}}],["a=3",{"2":{"28":1}}],["a=1",{"2":{"13":1}}],["aug",{"2":{"45":6,"73":1}}],["auxiliary",{"2":{"26":1,"56":1}}],["autodetection",{"0":{"74":1}}],["automata",{"2":{"56":1}}],["automated",{"2":{"20":1}}],["automatic",{"2":{"0":1,"4":1,"10":1}}],["automatically",{"2":{"0":1,"4":3,"7":1,"26":1,"39":1,"73":2,"74":1}}],["autoposition",{"2":{"10":2}}],["autospan",{"2":{"8":2,"73":1}}],["autovalues",{"2":{"4":1,"73":1}}],["autolookup",{"2":{"4":3}}],["autoorder",{"2":{"4":3,"7":2,"73":1}}],["auto",{"2":{"2":1}}],["amazing",{"2":{"25":1}}],["amp",{"0":{"25":1},"1":{"26":1}}],["ambiguity",{"2":{"2":1,"11":1,"20":1,"23":1,"71":1}}],["after",{"2":{"15":1,"19":3,"22":3,"45":1}}],["affine",{"2":{"4":1}}],["affect",{"2":{"0":1}}],["apr",{"2":{"45":6,"73":2}}],["applicable",{"2":{"20":1}}],["applications",{"2":{"69":1}}],["application",{"2":{"19":1,"34":1}}],["applied",{"2":{"4":1,"16":1,"19":2,"66":1,"83":1}}],["applying",{"2":{"19":2}}],["apply",{"2":{"16":3,"46":1}}],["api",{"0":{"14":1},"1":{"15":1,"16":1,"17":1,"18":1}}],["adherence",{"2":{"34":1}}],["adjoint",{"2":{"31":1,"83":1}}],["adjacent",{"2":{"5":1}}],["adapt",{"2":{"26":3}}],["added",{"2":{"22":3,"23":1,"35":1,"41":2}}],["additional",{"2":{"22":2,"73":1}}],["additionally",{"2":{"12":1}}],["adding",{"2":{"4":3,"22":2}}],["add",{"2":{"12":2,"22":1,"27":1,"73":1}}],["available",{"2":{"4":1,"11":2}}],["avoids",{"2":{"16":1,"19":2}}],["avoid",{"2":{"0":1,"5":1,"16":1,"22":1}}],["actual",{"2":{"26":1}}],["actually",{"2":{"2":1,"4":1}}],["acepted",{"2":{"15":4}}],["accessed",{"2":{"81":1}}],["accessors",{"2":{"70":1}}],["accessing",{"2":{"32":1}}],["access",{"2":{"27":1,"33":1}}],["accepted",{"2":{"22":2,"41":2,"69":1}}],["accept",{"2":{"15":1,"16":1,"38":1,"40":1,"69":1}}],["acceptable",{"2":{"8":1}}],["accepts",{"2":{"4":1,"5":1,"54":1}}],["accurate",{"2":{"8":1}}],["account",{"2":{"4":2}}],["atol=0",{"2":{"72":1}}],["atol=nothing",{"2":{"5":1}}],["atol",{"2":{"5":2,"17":6,"69":1}}],["attach",{"2":{"4":1}}],["attached",{"2":{"3":1,"37":1}}],["attempt",{"2":{"0":1}}],["at",{"2":{"0":1,"3":2,"4":6,"5":11,"9":3,"15":1,"16":3,"17":4,"19":2,"20":1,"22":5,"43":1,"45":1,"47":1,"50":1,"51":1,"72":2,"73":2,"75":2,"80":1}}],["astroimage",{"2":{"57":1}}],["astroimages",{"0":{"57":1},"2":{"57":1}}],["astronomical",{"2":{"57":1}}],["assumes",{"2":{"69":1}}],["assert",{"2":{"46":1}}],["associate",{"2":{"33":2}}],["assigned",{"2":{"4":9,"65":1,"74":1}}],["ascending",{"2":{"5":1}}],["as",{"2":{"0":6,"1":1,"2":3,"3":5,"4":8,"5":4,"8":1,"10":3,"15":7,"16":6,"17":4,"18":5,"19":5,"20":6,"22":2,"23":1,"25":2,"26":2,"31":1,"32":1,"33":1,"35":1,"37":1,"38":2,"39":4,"59":3,"60":1,"63":1,"69":3,"72":4,"73":1,"74":5}}],["above",{"2":{"44":2,"48":1}}],["about",{"2":{"0":1,"4":3,"11":1,"25":1,"70":1}}],["abstracdimarray",{"2":{"30":1}}],["abstractname",{"2":{"21":3}}],["abstraction",{"2":{"20":1}}],["abstractdimarry",{"2":{"42":1}}],["abstractdimarrays",{"2":{"3":1,"20":4,"21":1,"22":2,"30":1}}],["abstractdimarray",{"2":{"0":1,"3":2,"4":1,"11":2,"15":7,"16":5,"17":1,"18":4,"19":7,"20":17,"22":6,"26":2,"31":1,"35":1,"39":3,"40":2,"50":1,"51":1,"54":1,"56":2,"57":1,"59":1,"60":1,"66":1,"69":2,"76":1,"80":1,"83":1}}],["abstractdimtable",{"2":{"18":2}}],["abstractdimstack",{"2":{"16":4,"18":3,"19":5,"20":17,"22":5,"35":1,"40":1,"50":1,"53":1,"66":1,"69":2,"76":1,"80":1,"83":2}}],["abstractrng",{"2":{"15":2}}],["abstractrange",{"2":{"4":4,"19":2,"73":1,"74":1}}],["abstractbasicarray",{"2":{"15":1}}],["abstractbasicdimarray",{"2":{"15":2,"20":1}}],["abstractmetadata",{"2":{"11":3,"20":1}}],["abstractmatrix",{"2":{"8":1}}],["abstractsample",{"2":{"50":1}}],["abstractsampled",{"2":{"4":6,"35":1,"73":1}}],["abstractstring",{"2":{"4":1}}],["abstractcolumns",{"2":{"18":1}}],["abstractcategorical",{"2":{"4":4,"35":1}}],["abstractcyclic",{"2":{"4":2}}],["abstractarray",{"2":{"2":3,"3":2,"4":4,"5":1,"15":4,"16":2,"17":3,"19":4,"20":6,"27":1,"34":1,"37":1,"45":2,"73":1,"74":1,"80":1}}],["abstractvector",{"2":{"0":1,"4":4,"15":8}}],["abstract",{"2":{"0":7,"1":2,"3":4,"4":4,"5":3,"6":1,"10":1,"11":1,"15":4,"16":2,"18":1,"20":1,"21":1}}],["abs",{"2":{"13":1}}],["absent",{"2":{"3":1}}],["axis",{"2":{"0":6,"2":1,"3":2,"4":9,"10":3,"15":4,"17":1,"20":1,"37":1,"45":1,"59":1,"60":2,"72":2,"73":2}}],["axes",{"0":{"37":1},"2":{"0":1,"1":1,"4":1,"15":1,"20":3,"29":2,"31":1,"37":2,"60":2,"69":1}}],["alpha",{"2":{"13":1}}],["alpha=",{"2":{"13":1}}],["align",{"2":{"10":1}}],["aligned",{"2":{"4":6,"75":1}}],["although",{"2":{"4":1,"15":1,"59":1}}],["alone",{"2":{"4":2}}],["along",{"0":{"24":1},"2":{"0":1,"19":1,"31":1,"47":1,"73":1}}],["algorithms",{"2":{"3":1,"69":1}}],["always",{"2":{"1":1,"3":1,"9":1,"11":2,"15":1,"16":2,"20":2,"22":2,"39":1,"48":1,"50":1,"69":1}}],["already",{"2":{"0":1,"26":1}}],["also",{"2":{"0":3,"3":3,"5":2,"10":1,"11":1,"16":1,"19":1,"20":2,"29":1,"30":1,"31":1,"33":1,"37":1,"38":1,"39":1,"44":1,"45":3,"46":2,"50":1,"60":2,"71":1,"72":4,"73":1,"75":1,"79":1,"82":1}}],["allocate",{"2":{"76":1}}],["allocations",{"2":{"84":2}}],["allocation",{"2":{"20":1}}],["allocs",{"2":{"32":2}}],["allows",{"2":{"10":1,"19":1,"20":1}}],["allowing",{"2":{"4":1}}],["allow",{"2":{"4":1,"10":1,"11":1,"56":1}}],["all",{"2":{"0":5,"2":1,"3":3,"4":5,"5":6,"6":1,"11":1,"15":3,"16":5,"17":3,"20":12,"21":1,"22":2,"26":1,"30":1,"39":2,"41":2,"45":1,"47":1,"48":3,"50":1,"56":2,"65":1,"66":3,"72":1,"76":1,"80":2,"81":1,"82":1,"83":1,"84":1}}],["arviz",{"0":{"53":1},"2":{"35":1,"53":2}}],["archgdal",{"2":{"34":1}}],["around",{"2":{"19":3}}],["arbitrary",{"0":{"28":1},"2":{"17":1,"19":2,"28":1,"45":1}}],["arg",{"2":{"22":3,"41":3,"69":1}}],["args",{"2":{"3":1,"20":3,"22":12,"39":1,"41":12}}],["argumenterror",{"2":{"29":1}}],["argument",{"2":{"2":1,"3":2,"4":4,"11":2,"15":2,"16":1,"20":3,"38":1,"39":3,"63":1}}],["arguments",{"2":{"0":1,"1":4,"3":4,"4":8,"8":1,"15":6,"16":1,"19":1,"20":5,"22":2,"26":1,"39":1,"41":2,"69":2}}],["arrays",{"0":{"15":1},"2":{"5":1,"15":5,"16":1,"19":1,"20":3,"21":1,"22":2,"24":1,"65":1,"66":3,"74":3,"75":1,"78":1,"79":1}}],["arrayselectors",{"2":{"5":1}}],["arrayselector",{"2":{"5":4}}],["array",{"0":{"16":1,"82":1},"2":{"0":3,"1":1,"2":2,"3":4,"4":16,"5":1,"9":1,"10":1,"11":1,"13":1,"15":6,"16":3,"17":3,"18":1,"19":1,"20":9,"21":2,"22":2,"23":1,"25":1,"26":3,"30":1,"31":1,"32":1,"35":2,"37":3,"40":2,"41":2,"44":1,"45":1,"54":1,"66":4,"69":4,"72":2,"73":1,"74":2,"75":1,"76":1,"84":1}}],["aren",{"2":{"75":1}}],["area",{"2":{"5":3}}],["are",{"2":{"0":7,"1":1,"2":2,"3":16,"4":15,"5":9,"7":1,"8":2,"9":2,"11":1,"15":9,"16":3,"17":4,"18":2,"19":1,"20":14,"22":13,"24":1,"26":2,"27":2,"29":1,"33":4,"34":2,"35":5,"39":2,"41":10,"43":1,"45":1,"47":1,"50":2,"56":2,"60":1,"65":2,"69":3,"73":2,"74":9,"75":1,"76":3,"82":2,"83":1,"84":1}}],["analysis",{"2":{"45":1,"52":1,"53":1}}],["answer",{"2":{"34":1}}],["ansi",{"2":{"22":1}}],["anomalies",{"2":{"19":1}}],["another",{"2":{"4":1,"15":1,"16":1,"17":2,"20":1,"28":1,"42":1,"51":1,"69":1,"72":1,"75":1,"81":1,"82":2}}],["anonymous",{"2":{"0":1}}],["anondim",{"2":{"0":2}}],["annual",{"2":{"4":1}}],["anything",{"2":{"2":1,"20":1}}],["any",{"2":{"0":1,"1":5,"2":1,"3":4,"4":5,"5":3,"11":2,"15":5,"19":8,"20":2,"22":2,"26":1,"27":10,"33":2,"38":3,"39":1,"44":7,"45":11,"46":3,"47":2,"54":1,"73":1,"79":1,"80":1,"83":1}}],["an",{"2":{"0":2,"1":8,"2":1,"3":5,"4":9,"5":5,"6":1,"7":1,"8":1,"9":1,"10":3,"11":2,"15":21,"16":1,"17":6,"18":3,"19":7,"20":8,"21":1,"22":6,"23":1,"26":1,"29":1,"30":2,"31":1,"33":1,"37":1,"39":1,"40":2,"44":1,"45":3,"46":1,"47":6,"53":2,"63":1,"72":2,"73":2,"74":1,"76":1,"80":2}}],["and",{"0":{"23":1,"44":1,"76":1},"1":{"24":1,"77":1,"78":1,"79":1},"2":{"0":9,"2":7,"3":9,"4":27,"5":9,"7":2,"8":3,"10":2,"11":4,"13":1,"15":17,"16":13,"17":2,"18":3,"19":5,"20":12,"21":1,"22":12,"23":1,"24":2,"25":1,"26":4,"27":2,"28":2,"29":1,"30":3,"33":2,"34":5,"35":1,"37":2,"38":1,"39":3,"40":3,"41":6,"45":4,"46":1,"47":2,"48":2,"50":7,"51":2,"56":2,"57":1,"59":3,"60":4,"65":1,"66":2,"69":2,"70":1,"71":1,"72":3,"73":3,"74":8,"75":1,"76":5,"78":3,"79":1,"80":1,"81":1,"83":1,"84":2}}],["a",{"0":{"63":1},"2":{"0":30,"1":30,"2":11,"3":34,"4":50,"5":26,"6":1,"7":2,"8":4,"9":1,"10":6,"11":8,"13":6,"15":68,"16":32,"17":16,"18":5,"19":45,"20":49,"21":2,"22":13,"23":3,"24":5,"25":5,"26":1,"27":7,"28":3,"30":2,"33":4,"35":2,"36":1,"37":2,"39":1,"40":2,"41":4,"42":2,"43":1,"44":8,"45":14,"46":4,"47":64,"48":73,"50":5,"51":1,"53":1,"54":2,"55":1,"56":1,"59":2,"60":6,"62":1,"63":3,"64":2,"65":1,"66":10,"67":9,"68":2,"69":13,"70":4,"71":14,"72":59,"73":14,"74":6,"75":5,"77":5,"78":33,"79":9,"80":5,"81":14,"82":27,"83":41,"84":5}}],["m=rand",{"2":{"81":1}}],["my",{"2":{"69":3}}],["mydimstack",{"2":{"16":2}}],["mutable",{"2":{"65":1}}],["much",{"2":{"25":1,"59":1,"69":1}}],["multi",{"0":{"16":1},"2":{"37":1}}],["multiple",{"2":{"4":1,"16":3,"19":1,"48":1,"68":1}}],["must",{"2":{"4":3,"5":3,"15":2,"16":2,"20":1,"22":2,"26":2,"36":1,"37":3,"39":1,"40":1,"65":1,"80":1}}],["mixing",{"2":{"29":1}}],["mix",{"2":{"29":1,"83":1}}],["mixed",{"2":{"16":2,"17":2,"35":1}}],["mime",{"2":{"22":5}}],["mid",{"2":{"5":1}}],["min",{"2":{"32":4}}],["minus",{"2":{"4":1}}],["minimum",{"2":{"3":1,"31":1,"44":1,"83":2}}],["missingval",{"2":{"50":1}}],["missing",{"2":{"3":1,"40":1,"50":1}}],["measures",{"2":{"84":1}}],["means",{"2":{"3":1,"5":1,"7":1,"10":1,"18":1,"24":1,"26":1,"33":1,"37":1,"48":2,"72":1}}],["mean",{"2":{"3":1,"4":1,"9":1,"15":1,"16":4,"19":10,"23":1,"24":2,"31":1,"32":4,"44":3,"45":3,"46":1,"83":3}}],["meaning",{"2":{"2":1,"4":1,"17":1}}],["merging",{"2":{"81":1}}],["merges",{"2":{"68":1}}],["merge",{"2":{"29":1,"78":1,"81":5}}],["merged",{"2":{"20":3}}],["mergedims=",{"2":{"78":1}}],["mergedims=nothing",{"2":{"18":3}}],["mergedims",{"0":{"68":1},"2":{"18":1,"20":5,"68":1}}],["mergedlookup",{"2":{"4":3,"20":3,"29":1}}],["median",{"2":{"31":1,"32":4,"44":1}}],["memory",{"2":{"32":2}}],["mem",{"2":{"25":1}}],["messy",{"2":{"19":2}}],["metadata=dict",{"2":{"27":5,"69":1}}],["metadata=metadata",{"2":{"16":1}}],["metadata=nometadata",{"2":{"4":3,"15":1,"16":1}}],["metadata",{"0":{"11":1},"2":{"3":1,"4":16,"11":16,"15":11,"19":3,"20":3,"22":9,"26":1,"27":5,"39":1,"41":8,"44":7,"45":11,"46":2,"65":1,"69":5}}],["method",{"2":{"1":4,"3":3,"4":4,"9":1,"11":2,"15":7,"17":1,"20":2,"22":3,"39":1,"41":2}}],["methods",{"0":{"1":1,"2":1,"3":1,"19":1,"20":1},"1":{"21":1,"22":1},"2":{"0":2,"1":1,"3":4,"4":3,"7":1,"15":1,"16":5,"19":1,"20":2,"22":2,"31":1,"33":1,"35":1,"39":1,"46":1,"47":1,"48":1,"52":1}}],["m",{"2":{"0":1,"4":3,"67":2,"69":2,"71":3,"78":1,"81":2}}],["mon",{"2":{"73":2}}],["monthabbr",{"2":{"73":2}}],["months",{"2":{"19":5,"45":4,"73":1}}],["monthly",{"2":{"19":2}}],["month",{"2":{"0":6,"15":1,"19":4,"24":13,"43":1,"44":2,"45":13,"73":5}}],["moving",{"2":{"59":1,"66":1}}],["moved",{"2":{"26":2}}],["move",{"2":{"25":1}}],["moves",{"2":{"15":1}}],["mod",{"2":{"66":2}}],["models",{"2":{"53":1,"56":1}}],["model",{"2":{"26":1,"55":1}}],["modification",{"2":{"26":1}}],["modified",{"2":{"5":1}}],["modifying",{"0":{"65":1},"1":{"66":1,"67":1,"68":1,"69":1,"70":1,"71":1}}],["modify",{"0":{"66":1},"2":{"6":1,"20":6,"25":1,"65":1,"66":6}}],["module",{"2":{"0":3,"4":2}}],["mostly",{"2":{"15":1,"20":2,"59":1,"60":1}}],["most",{"2":{"4":1,"16":4,"20":2,"22":1,"25":1,"34":1,"35":1,"69":1,"73":1,"74":1}}],["more",{"2":{"0":2,"4":4,"13":1,"15":1,"18":1,"22":1,"39":2,"51":1,"64":1,"66":1,"70":1,"72":1}}],["magic",{"0":{"70":1}}],["made",{"2":{"50":1}}],["masking",{"2":{"50":1}}],["mar",{"2":{"45":6,"73":1}}],["markersize=15",{"2":{"64":1}}],["markers",{"0":{"64":1},"2":{"10":1}}],["max",{"2":{"32":4}}],["maximum",{"2":{"5":1,"22":1,"31":1,"44":1,"83":3}}],["manipulation",{"2":{"50":1}}],["mandatory",{"2":{"22":4,"41":2}}],["many",{"2":{"16":4,"22":2,"31":1,"84":1}}],["manually",{"2":{"4":5,"19":2,"39":1,"73":2,"74":1,"84":1}}],["mapped",{"2":{"50":1}}],["mapslices",{"2":{"31":1}}],["mapreduce",{"2":{"31":1}}],["map",{"2":{"16":5,"19":4,"20":1}}],["maintains",{"2":{"15":1}}],["main",{"2":{"15":1,"22":4}}],["makie",{"0":{"60":1},"1":{"61":1,"62":1,"63":1,"64":1},"2":{"59":2,"60":3,"62":1,"64":1}}],["making",{"2":{"0":1}}],["makes",{"2":{"21":1,"47":1}}],["make",{"2":{"4":1,"5":1,"17":2,"33":1,"69":1,"73":1}}],["math",{"2":{"30":1}}],["matrix",{"2":{"8":1,"27":3,"66":3,"83":1}}],["matter",{"2":{"3":1,"17":1}}],["match",{"2":{"1":3,"2":2,"3":3,"4":1,"5":1,"15":3,"19":1,"20":3,"76":1,"81":1,"83":1}}],["matches",{"2":{"1":1,"5":1,"15":1,"19":1,"22":4,"41":4,"69":1}}],["matching",{"2":{"0":2,"1":1,"3":1,"4":3,"15":1,"16":2,"19":2,"38":2,"72":1,"75":1}}],["macro",{"2":{"0":2,"3":1}}],["may",{"2":{"0":2,"4":5,"5":4,"6":1,"8":1,"11":2,"16":2,"22":1,"45":6,"69":2,"71":1,"73":3}}],["mdash",{"2":{"0":15,"1":4,"2":5,"3":12,"4":23,"5":10,"6":1,"7":6,"8":5,"9":3,"10":6,"11":4,"15":14,"16":2,"17":3,"18":2,"19":9,"20":11,"21":3,"22":6}}]],"serializationVersion":2}';export{e as default}; diff --git a/dev/assets/chunks/@localSearchIndexroot.CNY_hrbc.js b/dev/assets/chunks/@localSearchIndexroot.CNY_hrbc.js deleted file mode 100644 index 38fe806fb..000000000 --- a/dev/assets/chunks/@localSearchIndexroot.CNY_hrbc.js +++ /dev/null @@ -1 +0,0 @@ -const e='{"documentCount":85,"nextId":85,"documentIds":{"0":"/DimensionalData.jl/dev/api/dimensions#dimensions","1":"/DimensionalData.jl/dev/api/dimensions#Exported-methods","2":"/DimensionalData.jl/dev/api/dimensions#Non-exported-methods","3":"/DimensionalData.jl/dev/api/dimensions#Primitive-methods","4":"/DimensionalData.jl/dev/api/lookuparrays#lookups","5":"/DimensionalData.jl/dev/api/lookuparrays#selectors","6":"/DimensionalData.jl/dev/api/lookuparrays#Lookup-traits","7":"/DimensionalData.jl/dev/api/lookuparrays#order","8":"/DimensionalData.jl/dev/api/lookuparrays#span","9":"/DimensionalData.jl/dev/api/lookuparrays#sampling","10":"/DimensionalData.jl/dev/api/lookuparrays#positions","11":"/DimensionalData.jl/dev/api/lookuparrays#metadata","12":"/DimensionalData.jl/dev/api/reference#API-Reference","13":"/DimensionalData.jl/dev/api/reference#arrays","14":"/DimensionalData.jl/dev/api/reference#Multi-array-datasets","15":"/DimensionalData.jl/dev/api/reference#Dimension-generators","16":"/DimensionalData.jl/dev/api/reference#Tables.jl/TableTraits.jl-interface","17":"/DimensionalData.jl/dev/api/reference#Group-by-methods","18":"/DimensionalData.jl/dev/api/reference#Utility-methods","19":"/DimensionalData.jl/dev/api/reference#name","20":"/DimensionalData.jl/dev/api/reference#Internal-interface","21":"/DimensionalData.jl/dev/basics#installation","22":"/DimensionalData.jl/dev/basics#basics","23":"/DimensionalData.jl/dev/broadcast_dims#broadcast_dims-and-broadcast_dims!","24":"/DimensionalData.jl/dev/broadcast_dims#Example:-scaling-along-the-time-dimension","25":"/DimensionalData.jl/dev/cuda#CUDA-and-GPUs","26":"/DimensionalData.jl/dev/cuda#GPU-Integration-goals","27":"/DimensionalData.jl/dev/dimarrays#dimarrays","28":"/DimensionalData.jl/dev/dimarrays#Constructing-DimArray-with-arbitrary-dimension-names","29":"/DimensionalData.jl/dev/dimarrays#Dimensional-Indexing","30":"/DimensionalData.jl/dev/dimarrays#Begin-End-indexing","31":"/DimensionalData.jl/dev/dimarrays#dims-keywords","32":"/DimensionalData.jl/dev/dimarrays#performance","33":"/DimensionalData.jl/dev/dimensions#dimensions","34":"/DimensionalData.jl/dev/diskarrays#DiskArrays.jl-compatibility","35":"/DimensionalData.jl/dev/extending_dd#Extending-DimensionalData","36":"/DimensionalData.jl/dev/extending_dd#dims","37":"/DimensionalData.jl/dev/extending_dd#Dimension-axes","38":"/DimensionalData.jl/dev/extending_dd#dims-keywords","39":"/DimensionalData.jl/dev/extending_dd#rebuild","40":"/DimensionalData.jl/dev/extending_dd#format","41":"/DimensionalData.jl/dev/extending_dd#Interfaces.jl-interface-testing","42":"/DimensionalData.jl/dev/get_info#getters","43":"/DimensionalData.jl/dev/get_info#predicates","44":"/DimensionalData.jl/dev/groupby#Group-By","45":"/DimensionalData.jl/dev/groupby#Grouping-functions","46":"/DimensionalData.jl/dev/groupby#Grouping-and-reducing","47":"/DimensionalData.jl/dev/groupby#binning","48":"/DimensionalData.jl/dev/groupby#Select-by-Dimension","49":"/DimensionalData.jl/dev/integrations#integrations","50":"/DimensionalData.jl/dev/integrations#rasters-jl","51":"/DimensionalData.jl/dev/integrations#yaxarrays-jl","52":"/DimensionalData.jl/dev/integrations#climatebase-jl","53":"/DimensionalData.jl/dev/integrations#arviz-jl","54":"/DimensionalData.jl/dev/integrations#jump-jl","55":"/DimensionalData.jl/dev/integrations#cryogrid-jl","56":"/DimensionalData.jl/dev/integrations#dynamicgrids-jl","57":"/DimensionalData.jl/dev/integrations#astroimages-jl","58":"/DimensionalData.jl/dev/integrations#timeseriestools-jl","59":"/DimensionalData.jl/dev/object_modification#Modifying-objects","60":"/DimensionalData.jl/dev/object_modification#modify","61":"/DimensionalData.jl/dev/object_modification#reorder","62":"/DimensionalData.jl/dev/object_modification#mergedims","63":"/DimensionalData.jl/dev/object_modification#rebuild","64":"/DimensionalData.jl/dev/object_modification#rebuild-magic","65":"/DimensionalData.jl/dev/object_modification#set","66":"/DimensionalData.jl/dev/plots#plots-jl","67":"/DimensionalData.jl/dev/plots#makie-jl","68":"/DimensionalData.jl/dev/plots#Test-series-plots","69":"/DimensionalData.jl/dev/plots#default-colormap","70":"/DimensionalData.jl/dev/plots#A-different-colormap","71":"/DimensionalData.jl/dev/plots#with-markers","72":"/DimensionalData.jl/dev/selectors#selectors","73":"/DimensionalData.jl/dev/selectors#lookups","74":"/DimensionalData.jl/dev/selectors#Lookup-autodetection","75":"/DimensionalData.jl/dev/selectors#DimSelector","76":"/DimensionalData.jl/dev/stacks#dimstacks","77":"/DimensionalData.jl/dev/stacks#NamedTuple-like-indexing","78":"/DimensionalData.jl/dev/stacks#Array-like-indexing","79":"/DimensionalData.jl/dev/stacks#Reducing-functions","80":"/DimensionalData.jl/dev/stacks#performance","81":"/DimensionalData.jl/dev/tables#Tables-and-DataFrames","82":"/DimensionalData.jl/dev/tables#example","83":"/DimensionalData.jl/dev/tables#Converting-to-DataFrame","84":"/DimensionalData.jl/dev/tables#Converting-to-CSV"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,307],"1":[2,1,133],"2":[3,1,137],"3":[2,1,344],"4":[1,1,490],"5":[1,1,332],"6":[2,1,41],"7":[1,3,73],"8":[1,3,93],"9":[1,3,66],"10":[1,3,100],"11":[1,1,148],"12":[2,1,1],"13":[1,2,338],"14":[3,2,226],"15":[2,2,233],"16":[4,2,115],"17":[3,1,359],"18":[2,1,418],"19":[1,2,62],"20":[2,2,183],"21":[1,1,40],"22":[1,1,164],"23":[4,1,50],"24":[7,4,191],"25":[4,1,176],"26":[3,4,110],"27":[1,1,228],"28":[6,1,75],"29":[2,1,258],"30":[3,1,129],"31":[2,1,118],"32":[1,1,92],"33":[1,1,102],"34":[3,1,77],"35":[2,1,68],"36":[1,2,18],"37":[2,3,55],"38":[2,3,47],"39":[1,2,106],"40":[1,2,54],"41":[4,2,91],"42":[1,1,216],"43":[1,1,59],"44":[2,1,22],"45":[2,2,114],"46":[3,2,213],"47":[1,2,300],"48":[3,2,141],"49":[1,1,1],"50":[2,1,69],"51":[2,1,38],"52":[2,1,12],"53":[2,1,18],"54":[2,1,24],"55":[2,1,18],"56":[2,1,34],"57":[2,1,15],"58":[2,1,9],"59":[2,1,39],"60":[1,2,84],"61":[1,2,82],"62":[1,2,23],"63":[1,2,188],"64":[2,3,51],"65":[1,2,138],"66":[2,1,51],"67":[2,1,66],"68":[3,2,1],"69":[2,5,21],"70":[3,5,32],"71":[2,5,19],"72":[1,1,209],"73":[1,1,215],"74":[2,1,157],"75":[1,1,323],"76":[1,1,89],"77":[3,1,172],"78":[3,1,127],"79":[2,1,144],"80":[1,1,68],"81":[3,1,71],"82":[1,3,115],"83":[3,3,251],"84":[3,3,85]},"averageFieldLength":[1.9882352941176467,1.6823529411764706,124.37647058823534],"storedFields":{"0":{"title":"Dimensions","titles":[]},"1":{"title":"Exported methods","titles":["Dimensions"]},"2":{"title":"Non-exported methods","titles":["Dimensions"]},"3":{"title":"Primitive methods","titles":["Dimensions"]},"4":{"title":"Lookups","titles":[]},"5":{"title":"Selectors","titles":["Lookups"]},"6":{"title":"Lookup traits","titles":["Lookups"]},"7":{"title":"Order","titles":["Lookups","Lookup traits"]},"8":{"title":"Span","titles":["Lookups","Lookup traits"]},"9":{"title":"Sampling","titles":["Lookups","Lookup traits"]},"10":{"title":"Positions","titles":["Lookups","Lookup traits"]},"11":{"title":"Metadata","titles":["Lookups"]},"12":{"title":"API Reference","titles":[]},"13":{"title":"Arrays","titles":["API Reference"]},"14":{"title":"Multi-array datasets","titles":["API Reference"]},"15":{"title":"Dimension generators","titles":["API Reference"]},"16":{"title":"Tables.jl/TableTraits.jl interface","titles":["API Reference"]},"17":{"title":"Group by methods","titles":[]},"18":{"title":"Utility methods","titles":[]},"19":{"title":"Name","titles":["Utility methods"]},"20":{"title":"Internal interface","titles":["Utility methods"]},"21":{"title":"Installation","titles":[]},"22":{"title":"Basics","titles":[]},"23":{"title":"broadcast_dims and broadcast_dims!","titles":[]},"24":{"title":"Example: scaling along the time dimension","titles":["broadcast_dims and broadcast_dims!"]},"25":{"title":"CUDA & GPUs","titles":[]},"26":{"title":"GPU Integration goals","titles":["CUDA & GPUs"]},"27":{"title":"DimArrays","titles":[]},"28":{"title":"Constructing DimArray with arbitrary dimension names","titles":["DimArrays"]},"29":{"title":"Dimensional Indexing","titles":["DimArrays"]},"30":{"title":"Begin End indexing","titles":["DimArrays"]},"31":{"title":"dims keywords","titles":["DimArrays"]},"32":{"title":"Performance","titles":["DimArrays"]},"33":{"title":"Dimensions","titles":[]},"34":{"title":"DiskArrays.jl compatibility","titles":[]},"35":{"title":"Extending DimensionalData","titles":[]},"36":{"title":"dims","titles":["Extending DimensionalData"]},"37":{"title":"Dimension axes","titles":["Extending DimensionalData","dims"]},"38":{"title":"dims keywords","titles":["Extending DimensionalData","dims"]},"39":{"title":"rebuild","titles":["Extending DimensionalData"]},"40":{"title":"format","titles":["Extending DimensionalData"]},"41":{"title":"Interfaces.jl interface testing","titles":["Extending DimensionalData"]},"42":{"title":"Getters","titles":[]},"43":{"title":"Predicates","titles":["Getters"]},"44":{"title":"Group By","titles":[]},"45":{"title":"Grouping functions","titles":["Group By"]},"46":{"title":"Grouping and reducing","titles":["Group By"]},"47":{"title":"Binning","titles":["Group By"]},"48":{"title":"Select by Dimension","titles":["Group By"]},"49":{"title":"Integrations","titles":[]},"50":{"title":"Rasters.jl","titles":["Integrations"]},"51":{"title":"YAXArrays.jl","titles":["Integrations"]},"52":{"title":"ClimateBase.jl","titles":["Integrations"]},"53":{"title":"ArviZ.jl","titles":["Integrations"]},"54":{"title":"JuMP.jl","titles":["Integrations"]},"55":{"title":"CryoGrid.jl","titles":["Integrations"]},"56":{"title":"DynamicGrids.jl","titles":["Integrations"]},"57":{"title":"AstroImages.jl","titles":["Integrations"]},"58":{"title":"TimeseriesTools.jl","titles":["Integrations"]},"59":{"title":"Modifying objects","titles":[]},"60":{"title":"modify","titles":["Modifying objects"]},"61":{"title":"reorder","titles":["Modifying objects"]},"62":{"title":"mergedims","titles":["Modifying objects"]},"63":{"title":"rebuild","titles":["Modifying objects"]},"64":{"title":"rebuild magic","titles":["Modifying objects","rebuild"]},"65":{"title":"set","titles":["Modifying objects"]},"66":{"title":"Plots.jl","titles":[]},"67":{"title":"Makie.jl","titles":[]},"68":{"title":"Test series plots","titles":["Makie.jl"]},"69":{"title":"default colormap","titles":["Makie.jl","Test series plots"]},"70":{"title":"A different colormap","titles":["Makie.jl","Test series plots"]},"71":{"title":"with markers","titles":["Makie.jl","Test series plots"]},"72":{"title":"Selectors","titles":[]},"73":{"title":"Lookups","titles":["Selectors"]},"74":{"title":"Lookup autodetection","titles":["Selectors"]},"75":{"title":"DimSelector","titles":["Selectors"]},"76":{"title":"DimStacks","titles":[]},"77":{"title":"NamedTuple-like indexing","titles":["DimStacks"]},"78":{"title":"Array-like indexing","titles":["DimStacks"]},"79":{"title":"Reducing functions","titles":["DimStacks"]},"80":{"title":"Performance","titles":["DimStacks"]},"81":{"title":"Tables and DataFrames","titles":[]},"82":{"title":"Example","titles":["Tables and DataFrames"]},"83":{"title":"Converting to DataFrame","titles":["Tables and DataFrames"]},"84":{"title":"Converting to CSV","titles":["Tables and DataFrames"]}},"dirtCount":0,"index":[["q",{"2":{"83":1}}],["quite",{"2":{"63":1}}],["quick",{"2":{"47":1}}],["quartals",{"2":{"17":1}}],["quarters",{"2":{"17":1}}],["quantity",{"2":{"5":1}}],["quot",{"2":{"3":2,"6":2,"13":4,"33":2}}],["query",{"2":{"1":16,"3":6,"13":16,"42":1}}],["─────┼──────────────────────────────────────────────────────────────────────────",{"2":{"83":1}}],["──────┼───────────────────────────────────────────",{"2":{"83":1}}],["──────┼───────────────────────────────────────────────",{"2":{"83":1}}],["──────┼──────────────────────────────────",{"2":{"83":1}}],["⋯",{"2":{"83":6}}],["$st",{"2":{"80":2}}],["$da4",{"2":{"32":2}}],["+",{"2":{"79":2}}],["├────────",{"2":{"60":1}}],["├───────────────┴─────────────────────────────────────────────",{"2":{"79":4}}],["├───────────────┴────────────────────────────────────────────",{"2":{"76":1,"77":6,"79":20}}],["├────────────────┴─────────────────────────────────",{"2":{"83":1}}],["├───────────────────┴─────────────────────────────────────",{"2":{"82":1}}],["├───────────────────",{"2":{"27":1,"28":1,"30":2,"32":1}}],["├────────────────────┴──────────────────────────────────────",{"2":{"78":1}}],["├────────────────────",{"2":{"27":5,"29":1,"65":1}}],["├─────────────────────┴─────────────────────────────────────",{"2":{"79":1}}],["├──────────────────────",{"2":{"27":1,"29":1}}],["├───────────────────────",{"2":{"16":1,"27":1}}],["├───────────────────────┴────────────────────────────────────────────────",{"2":{"5":1}}],["├───────────────────────┴───────────────────────────────",{"2":{"5":1}}],["├───────────────────────┴──────────────────────────────",{"2":{"5":2}}],["├─────────────────────────",{"2":{"27":3,"28":1,"29":1}}],["├─────────────────────────┴─────────────────────────────",{"2":{"74":1}}],["├─────────────────────────┴───────────────────────────────",{"2":{"22":1}}],["├─────────────────────────┴──────────────────────────────────",{"2":{"72":2}}],["├─────────────────────────┴───────────────────────────────────────",{"2":{"72":2}}],["├─────────────────────────┴─────────────────────────────────────────",{"2":{"15":1,"18":3}}],["├─────────────────────────┴──────────────────────────────────────────────",{"2":{"72":1,"75":2}}],["├─────────────────────────┴────────────────────────────────────────────",{"2":{"72":1}}],["├─────────────────────────┴───────────────────────────────────────────",{"2":{"18":1,"72":3}}],["├─────────────────────────┴──────────────────────────────────────────",{"2":{"4":1,"29":1}}],["├─────────────────────────┴─────────────────────────────────────",{"2":{"13":3,"18":1}}],["├─────────────────────────┴─────────────────────────────────",{"2":{"15":2,"72":4,"75":1}}],["├─────────────────────────┴───────────────────────",{"2":{"22":1}}],["├──────────────────────────┴────────────────────────────────",{"2":{"63":1,"65":4}}],["├──────────────────────────┴─────────────────────────────────",{"2":{"61":2}}],["├──────────────────────────┴───────────────────────────────────────────",{"2":{"65":1}}],["├──────────────────────────┴─────────────────────────────────────────────",{"2":{"0":1}}],["├──────────────────────────┴───────────────────────────────────────",{"2":{"17":1}}],["├───────────────────────────┴────────────────────────────────",{"2":{"75":1}}],["├───────────────────────────┴───────────────────────────────────",{"2":{"42":1}}],["├────────────────────────────┴───────────────────────────────",{"2":{"77":1}}],["├────────────────────────────┴──────────────────────────────────",{"2":{"75":1}}],["├────────────────────────────┴───────────────────────────────────────────",{"2":{"0":1,"48":2}}],["├─────────────────────────────",{"2":{"27":1}}],["├───────────────────────────────┴───────────────",{"2":{"72":2}}],["├───────────────────────────────┴─────────────────────────",{"2":{"47":1}}],["├───────────────────────────────┴──────────────────────────────",{"2":{"25":1}}],["├───────────────────────────────┴────────────────────────────────────────",{"2":{"24":2,"46":1,"47":1}}],["├───────────────────────────────┴─────────────────",{"2":{"47":1}}],["├─────────────────────────────────┴─────────────────────────",{"2":{"77":1}}],["├─────────────────────────────────┴──────────────────────────────────────",{"2":{"46":2}}],["├─────────────────────────────────┴─────────────────────────────────",{"2":{"46":1}}],["├───────────────────────────────────┴─────────────────────",{"2":{"82":1}}],["├───────────────────────────────────┴───────────────────────",{"2":{"63":1}}],["├────────────────────────────────────────────┴───────────────────────────",{"2":{"73":1}}],["├─────────────────────────────────────────────",{"2":{"47":1}}],["├──────────────────────────────────────────────────┴",{"2":{"47":1}}],["├──────────────────────────────────────────────────┴───────────────────",{"2":{"47":1}}],["├──────────────────────────────────────────────────┴─────────────────────",{"2":{"47":5}}],["├──────────────────────────────────────────────────────┴─────────────────",{"2":{"48":1}}],["├───────────────────────────────────────────────────────",{"2":{"47":1,"63":1,"82":1}}],["├─────────────────────────────────────────────────────────",{"2":{"78":1,"79":1}}],["├──────────────────────────────────────────────────────────",{"2":{"76":1,"77":6,"79":20}}],["├───────────────────────────────────────────────────────────",{"2":{"17":1,"46":1,"79":4}}],["├────────────────────────────────────────────────────────────────",{"2":{"47":1}}],["├──────────────────────────────────────────────────────────────────",{"2":{"47":7,"48":1}}],["├────────────────────────────────────────────────────────────────────",{"2":{"46":3,"47":7,"48":2}}],["├───────────────────────────────────────────────────────────────",{"2":{"46":1}}],["├──────────────────────────────────────────────────────────────",{"2":{"17":1}}],["├─────────────────────────────────────────────────────────────",{"2":{"17":2,"46":3}}],["├────────────────────────────────────────────────────────┴",{"2":{"47":1}}],["├─────────────────────────────────────────────────────",{"2":{"47":1}}],["├───────────────────────────────────────────────────┴────────────────────",{"2":{"47":1}}],["├───────────────────────────────────────────────────┴─────────────",{"2":{"17":1,"46":1}}],["├────────────────────────────────────────────────",{"2":{"18":1,"83":1}}],["├────────────────────────────────────────┴───────────────────────────────",{"2":{"24":1}}],["├───────────────────────────────────────",{"2":{"15":1}}],["├───────────────────────────────────────┴─────────────",{"2":{"13":1}}],["├───────────────────────────────────────┴───────────────",{"2":{"13":1}}],["├────────────────────────────────┴────────────────────────────────",{"2":{"17":1,"46":2}}],["├────────────────────────────────┴───────────────────────────────────────",{"2":{"0":1,"24":2,"46":1}}],["├─────────────────────────────┴────────────────",{"2":{"22":1}}],["├──────────────────────────",{"2":{"27":1}}],["├─────────────────────",{"2":{"1":1,"3":1,"13":1,"27":2,"31":2}}],["├──────────────────",{"2":{"27":1}}],["├────────────────",{"2":{"13":4,"60":2}}],["├──────────────┴────────────────",{"2":{"60":1}}],["├──────────────┴───────────────────────────────────",{"2":{"18":1}}],["▆",{"2":{"32":1}}],["▅▇",{"2":{"32":1}}],["▂",{"2":{"32":4}}],["▇▁█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▆▁▁█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▁▂",{"2":{"32":1}}],["▇",{"2":{"32":1}}],["██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█▁█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█▁█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",{"2":{"32":1}}],["█",{"2":{"32":3}}],["σ",{"2":{"32":4}}],["±",{"2":{"32":8}}],["┊",{"2":{"32":6}}],["~",{"2":{"30":2}}],["└",{"2":{"30":2}}],["└─────────────────────────┘",{"2":{"28":1,"30":2,"32":1}}],["└──────────────────────────┘",{"2":{"27":5,"29":1,"65":1}}],["└────────────────────────────┘",{"2":{"29":1}}],["└───────────────────────────────┘",{"2":{"27":2,"28":1,"29":1}}],["└────────────────────────────────┘",{"2":{"27":1}}],["└───────────────────────────────────────┘",{"2":{"60":1}}],["└─────────────────────────────────────────────────────┘",{"2":{"72":2}}],["└───────────────────────────────────────────────────────┘",{"2":{"22":1,"47":1}}],["└────────────────────────────────────────────────────────┘",{"2":{"18":1,"83":1}}],["└───────────────────────────────────────────────────────────┘",{"2":{"13":1}}],["└───────────────────────────────────────────────────────────────┘",{"2":{"22":1,"47":1,"82":2}}],["└──────────────────────────────────────────────────────────────────┘",{"2":{"61":2,"72":2,"75":1,"76":1,"77":7,"79":20}}],["└───────────────────────────────────────────────────────────────────┘",{"2":{"47":1,"79":4}}],["└────────────────────────────────────────────────────────────────────┘",{"2":{"25":1}}],["└────────────────────────────────────────────────────────────────────────┘",{"2":{"17":1}}],["└─────────────────────────────────────────────────────────────────────────┘",{"2":{"15":1,"18":3,"46":1}}],["└────────────────────────────────────────────────────────────────────────────┘",{"2":{"47":1,"65":1,"72":1}}],["└──────────────────────────────────────────────────────────────────────────────┘",{"2":{"0":3,"5":1,"24":5,"46":4,"47":7,"48":3,"72":1,"73":1,"75":2}}],["└───────────────────────────────────────────────────────────────────────────┘",{"2":{"18":1,"72":3}}],["└──────────────────────────────────────────────────────────────────────────┘",{"2":{"4":1,"29":1}}],["└───────────────────────────────────────────────────────────────────────┘",{"2":{"17":2,"46":3,"72":2}}],["└─────────────────────────────────────────────────────────────────────┘",{"2":{"13":3,"18":1,"42":1,"75":1}}],["└─────────────────────────────────────────────────────────────────┘",{"2":{"15":2,"63":2,"65":4,"72":4,"75":1,"77":1,"78":1,"79":1}}],["└─────────────────────────────────────────────────────────────┘",{"2":{"5":1,"13":1,"74":1}}],["└────────────────────────────────────────────────────────────┘",{"2":{"5":2}}],["└────────────────────────────────────────────────────┘",{"2":{"22":1}}],["└─────────────────────────────────────────────┘",{"2":{"15":1}}],["└───────────────────────────────────┘",{"2":{"27":1}}],["└─────────────────────────────┘",{"2":{"16":1,"27":1}}],["└───────────────────────────┘",{"2":{"1":1,"3":1,"13":1,"31":2}}],["└────────────────────────┘",{"2":{"27":1}}],["└──────────────────────┘",{"2":{"13":4,"60":2}}],["┌",{"2":{"30":2}}],["⋱",{"2":{"24":2,"25":1,"46":1,"48":2,"75":2,"82":1,"83":1}}],["|>",{"2":{"22":1}}],["╭────────────────╮",{"2":{"83":1}}],["╭───────────────────╮",{"2":{"82":1}}],["╭─────────────────────╮",{"2":{"79":1}}],["╭──────────────────────╮",{"2":{"13":4,"60":2}}],["╭────────────────────────╮",{"2":{"27":1}}],["╭─────────────────────────╮",{"2":{"4":1,"13":3,"15":3,"18":5,"22":2,"28":1,"29":1,"30":2,"32":1,"72":13,"74":1,"75":3}}],["╭───────────────────────────╮",{"2":{"1":1,"3":1,"13":1,"31":2,"42":1,"75":1}}],["╭───────────────────────────────╮",{"2":{"24":2,"25":1,"27":2,"28":1,"29":1,"46":1,"47":3,"72":2}}],["╭─────────────────────────────────╮",{"2":{"46":3,"77":1}}],["╭───────────────────────────────────╮",{"2":{"27":1,"63":1,"82":1}}],["╭────────────────────────────────────────────╮",{"2":{"73":1}}],["╭──────────────────────────────────────────────────────╮",{"2":{"48":1}}],["╭───────────────────────────────────────────────────╮",{"2":{"17":1,"46":1,"47":1}}],["╭──────────────────────────────────────────────────╮",{"2":{"47":7}}],["╭─────────────────────────────────────────────╮",{"2":{"15":1}}],["╭────────────────────────────────────────╮",{"2":{"24":1}}],["╭───────────────────────────────────────╮",{"2":{"13":2}}],["╭────────────────────────────────╮",{"2":{"0":1,"17":1,"24":2,"27":1,"46":3}}],["╭─────────────────────────────╮",{"2":{"16":1,"22":1,"27":1}}],["╭────────────────────────────╮",{"2":{"0":1,"29":1,"48":2,"75":1,"77":1}}],["╭──────────────────────────╮",{"2":{"0":1,"17":1,"27":5,"29":1,"61":2,"63":1,"65":6}}],["╭───────────────────────╮",{"2":{"5":4}}],["╭────────────────────╮",{"2":{"78":1}}],["╭───────────────╮",{"2":{"76":1,"77":6,"79":24}}],["╭──────────────╮",{"2":{"18":1,"60":1}}],["⋮",{"2":{"17":3,"24":4,"25":1,"45":8,"46":8,"47":3,"48":3,"75":3,"78":1,"82":2,"83":24,"84":1}}],["𝐓",{"2":{"5":2}}],[">=",{"2":{"72":1}}],[">",{"2":{"5":3,"14":1,"47":2,"72":1}}],["94",{"2":{"83":1}}],["9447511416331498",{"2":{"84":1}}],["944751",{"2":{"83":2}}],["94412",{"2":{"29":1}}],["947312",{"2":{"82":1}}],["947741",{"2":{"27":1}}],["9436941638102098",{"2":{"78":1}}],["946655",{"2":{"75":1}}],["946824",{"2":{"42":1}}],["94196",{"2":{"75":1}}],["941133",{"2":{"15":1}}],["942925",{"2":{"74":1}}],["94018e",{"2":{"46":1}}],["948976",{"2":{"42":1}}],["948512",{"2":{"27":3}}],["945371",{"2":{"29":1}}],["949105",{"2":{"27":3}}],["925267535912165",{"2":{"78":1,"80":2}}],["925873",{"2":{"27":3}}],["92977",{"2":{"75":1}}],["929995",{"2":{"25":1}}],["92",{"2":{"75":1}}],["921567",{"2":{"83":1}}],["921958",{"2":{"82":1,"83":2}}],["921012",{"2":{"42":1}}],["921145",{"2":{"42":1}}],["920736",{"2":{"29":1}}],["92721",{"2":{"25":1}}],["924417",{"2":{"24":2}}],["991119595116132e",{"2":{"79":1}}],["9919365440188083",{"2":{"78":2,"79":2}}],["994295",{"2":{"75":1}}],["994",{"2":{"75":4}}],["990294",{"2":{"75":1}}],["992316",{"2":{"29":1}}],["993498",{"2":{"27":1}}],["999193",{"2":{"46":1}}],["99903",{"2":{"46":1}}],["99999",{"2":{"46":1}}],["999983",{"2":{"46":1}}],["999708",{"2":{"46":1}}],["999815",{"2":{"46":1}}],["999816",{"2":{"27":1}}],["999846",{"2":{"46":1}}],["999678",{"2":{"27":1}}],["999",{"2":{"25":1}}],["9982064541308482",{"2":{"79":2}}],["998",{"2":{"25":1}}],["997672",{"2":{"27":3}}],["997",{"2":{"25":1}}],["99719",{"2":{"24":1}}],["996",{"2":{"25":1}}],["995",{"2":{"25":1}}],["995683",{"2":{"25":1}}],["995899",{"2":{"24":1}}],["99",{"2":{"24":2,"46":1,"48":2,"64":2,"72":1,"83":1}}],["983904",{"2":{"83":1}}],["98893",{"2":{"83":1}}],["985377",{"2":{"82":1,"83":1}}],["98534418543618",{"2":{"79":2}}],["985407",{"2":{"75":1}}],["986606",{"2":{"75":1}}],["987",{"2":{"75":1}}],["981865",{"2":{"46":1}}],["98193",{"2":{"25":1}}],["980256",{"2":{"31":1}}],["98985",{"2":{"42":1}}],["989571",{"2":{"27":3}}],["989952",{"2":{"25":1}}],["982762",{"2":{"25":1}}],["98",{"2":{"24":2,"46":1,"48":2,"75":1,"83":1}}],["9770663775826343",{"2":{"84":1}}],["977066",{"2":{"83":2}}],["973",{"2":{"75":1}}],["973586",{"2":{"75":1}}],["973622",{"2":{"74":1}}],["970459",{"2":{"29":1}}],["97999",{"2":{"24":1}}],["974596",{"2":{"24":2}}],["97",{"2":{"24":2,"46":2,"48":1,"83":1}}],["936495",{"2":{"83":1}}],["938732432349465",{"2":{"78":1}}],["938732",{"2":{"77":1}}],["938771",{"2":{"75":1}}],["931705",{"2":{"75":1}}],["930699",{"2":{"75":1}}],["930599",{"2":{"48":1}}],["930332",{"2":{"15":1}}],["932968",{"2":{"42":1}}],["93358",{"2":{"77":1}}],["933",{"2":{"32":1}}],["934609",{"2":{"29":1}}],["93479",{"2":{"22":1}}],["935096",{"2":{"27":1}}],["951145",{"2":{"83":1}}],["95213",{"2":{"75":1}}],["95217",{"2":{"25":1}}],["952489",{"2":{"75":1}}],["950007",{"2":{"75":1}}],["950143",{"2":{"42":1}}],["950645",{"2":{"29":1}}],["956616",{"2":{"83":1}}],["956031",{"2":{"29":1}}],["95636",{"2":{"22":1}}],["959028",{"2":{"24":2}}],["959434",{"2":{"15":1}}],["95",{"2":{"22":1,"83":1}}],["909847",{"2":{"83":1}}],["9003647810614493",{"2":{"78":1}}],["900394",{"2":{"25":1}}],["907202",{"2":{"61":2,"63":2,"65":6}}],["904604",{"2":{"29":1}}],["904961",{"2":{"29":2}}],["90251",{"2":{"27":3}}],["90309",{"2":{"25":1}}],["906705",{"2":{"42":1}}],["906838",{"2":{"25":1}}],["90645",{"2":{"25":1}}],["9063",{"2":{"15":2}}],["90u",{"2":{"5":1}}],["960726",{"2":{"83":1}}],["963657",{"2":{"82":1}}],["964227",{"2":{"77":1}}],["964964",{"2":{"75":1}}],["966",{"2":{"75":1}}],["966106",{"2":{"27":2}}],["9698812177371097",{"2":{"78":1,"79":2}}],["969881",{"2":{"77":1}}],["969079",{"2":{"72":3}}],["96951",{"2":{"24":1}}],["965831",{"2":{"28":2,"30":2}}],["967865",{"2":{"24":2}}],["96",{"2":{"5":2,"46":2,"48":1,"75":1,"83":1}}],["914911",{"2":{"82":1}}],["91495",{"2":{"25":1}}],["9130495399200352",{"2":{"78":1}}],["91305",{"2":{"77":1}}],["915251",{"2":{"74":1}}],["9155",{"2":{"25":1}}],["91666",{"2":{"75":1}}],["916216",{"2":{"46":1}}],["916702",{"2":{"29":1}}],["917143",{"2":{"75":1}}],["91732",{"2":{"29":1}}],["917457",{"2":{"29":1}}],["917672",{"2":{"27":1}}],["917543",{"2":{"27":3}}],["912065",{"2":{"27":3}}],["919763",{"2":{"22":1}}],["91",{"2":{"5":2,"22":1}}],["9",{"2":{"4":2,"15":2,"18":2,"22":2,"24":1,"42":7,"45":1,"47":18,"73":1,"75":6,"77":3,"82":2,"83":4,"84":2}}],["7×5",{"2":{"74":1}}],["7×3",{"2":{"29":1}}],["750622",{"2":{"75":1}}],["750947",{"2":{"75":1}}],["750906",{"2":{"29":1}}],["753744",{"2":{"75":1}}],["753597",{"2":{"75":1}}],["75275",{"2":{"47":4}}],["758149",{"2":{"74":1}}],["758865",{"2":{"29":1}}],["75847",{"2":{"25":1}}],["754468",{"2":{"28":1,"30":2}}],["75568",{"2":{"25":1}}],["70",{"2":{"74":3}}],["706417",{"2":{"46":1}}],["706267",{"2":{"28":1,"30":2}}],["708321",{"2":{"29":1}}],["704858",{"2":{"27":1}}],["7076921858340348",{"2":{"27":1}}],["707692",{"2":{"27":2}}],["702944",{"2":{"25":1}}],["70597",{"2":{"22":1}}],["738445",{"2":{"83":1}}],["734751",{"2":{"75":1}}],["735973",{"2":{"77":1}}],["73591",{"2":{"25":1}}],["735391",{"2":{"75":1}}],["73",{"2":{"47":1}}],["730",{"2":{"46":2}}],["73011",{"2":{"31":1}}],["736525",{"2":{"46":1}}],["73623",{"2":{"25":1}}],["736214",{"2":{"24":2}}],["739241",{"2":{"29":1}}],["7938317326707394",{"2":{"84":1}}],["793832",{"2":{"83":2}}],["793532",{"2":{"77":1}}],["798655984630017",{"2":{"84":1}}],["798656",{"2":{"83":2}}],["798",{"2":{"75":2}}],["795274",{"2":{"75":1}}],["791844",{"2":{"74":1}}],["792553",{"2":{"74":1}}],["792885",{"2":{"24":2}}],["794017",{"2":{"29":2}}],["794163",{"2":{"29":1}}],["790283",{"2":{"24":2}}],["729706",{"2":{"75":1}}],["728852",{"2":{"75":1}}],["72217",{"2":{"74":1}}],["727464",{"2":{"75":2}}],["727997",{"2":{"48":1}}],["727149",{"2":{"42":1}}],["727554",{"2":{"29":1}}],["721331",{"2":{"29":1}}],["724709",{"2":{"27":1}}],["723438",{"2":{"27":2}}],["725738",{"2":{"24":2}}],["72",{"2":{"22":1,"47":1}}],["773256",{"2":{"83":1}}],["775634",{"2":{"77":1}}],["770101",{"2":{"75":1}}],["770553",{"2":{"61":2,"63":2,"65":6}}],["772277",{"2":{"72":5}}],["777391",{"2":{"75":2}}],["777",{"2":{"30":2}}],["778122",{"2":{"77":1}}],["778166",{"2":{"27":2}}],["778222",{"2":{"25":1}}],["77",{"2":{"22":1}}],["774731",{"2":{"22":1}}],["774092",{"2":{"13":1,"15":1}}],["74172",{"2":{"82":1,"83":1}}],["74191",{"2":{"27":1}}],["743407",{"2":{"82":1}}],["747615",{"2":{"75":1}}],["748884",{"2":{"75":1}}],["748041",{"2":{"72":8}}],["749553",{"2":{"77":1}}],["749731",{"2":{"74":1}}],["749267",{"2":{"46":1,"48":2}}],["749253",{"2":{"42":1}}],["745856",{"2":{"65":1}}],["745673",{"2":{"13":1,"15":2}}],["742852",{"2":{"48":1}}],["740523",{"2":{"27":1}}],["740735",{"2":{"27":1}}],["74",{"2":{"22":2}}],["7683418213117802",{"2":{"84":1}}],["768342",{"2":{"83":2}}],["768924169642427",{"2":{"84":1}}],["768924",{"2":{"83":2}}],["768488",{"2":{"72":3}}],["76448",{"2":{"77":1}}],["764613",{"2":{"27":3}}],["767151",{"2":{"75":1}}],["76547e",{"2":{"46":1}}],["762533",{"2":{"46":1}}],["762794",{"2":{"22":1}}],["760111",{"2":{"31":1}}],["760205",{"2":{"27":3}}],["761212",{"2":{"29":1}}],["76163",{"2":{"24":2}}],["769313",{"2":{"29":1}}],["76",{"2":{"22":2}}],["713814",{"2":{"83":1}}],["7140841681506571",{"2":{"78":1}}],["714084",{"2":{"77":1}}],["714286",{"2":{"28":1,"30":2}}],["717841",{"2":{"75":1}}],["717006",{"2":{"75":1}}],["712342",{"2":{"75":2}}],["712711",{"2":{"27":1}}],["715102",{"2":{"42":1}}],["711133",{"2":{"72":12}}],["711714",{"2":{"31":1}}],["71194",{"2":{"27":1}}],["719779",{"2":{"83":1}}],["719495",{"2":{"29":1}}],["719974",{"2":{"25":1}}],["710967",{"2":{"27":3}}],["71",{"2":{"22":2}}],["789667",{"2":{"83":1}}],["789637",{"2":{"48":2}}],["781497",{"2":{"77":1}}],["788252",{"2":{"75":1}}],["786147",{"2":{"29":1}}],["7802406914680406",{"2":{"78":1}}],["78028",{"2":{"25":1}}],["780196",{"2":{"27":1}}],["780132",{"2":{"27":2}}],["78",{"2":{"22":3}}],["7",{"2":{"4":4,"5":5,"22":1,"24":1,"27":102,"29":6,"42":9,"45":10,"46":1,"47":5,"73":1,"74":1,"77":3,"79":21,"82":1,"83":12,"84":2}}],["rows",{"2":{"83":4}}],["row",{"2":{"83":4}}],["rot180",{"2":{"79":2}}],["rotr90",{"2":{"79":2}}],["rotl90",{"2":{"79":2}}],["rotated",{"2":{"4":1,"79":1}}],["rotations",{"2":{"3":1}}],["runtime",{"2":{"32":1}}],["running",{"2":{"25":1,"47":1}}],["right",{"2":{"22":3,"65":2,"67":2}}],["r",{"2":{"13":2,"83":1}}],["rtoldefault",{"2":{"5":1}}],["rtol=nothing",{"2":{"5":1}}],["rtol",{"2":{"5":3}}],["rainclouds",{"2":{"67":1}}],["raw",{"2":{"47":1}}],["rarely",{"2":{"34":1}}],["rasterization",{"2":{"50":1}}],["rasterize",{"2":{"5":1}}],["raster",{"2":{"35":1,"50":3}}],["rasterstack",{"2":{"35":1,"50":1}}],["rasters",{"0":{"50":1},"2":{"4":3,"34":1,"35":1,"50":2,"51":1}}],["randn",{"2":{"18":2}}],["random",{"2":{"13":3}}],["rand",{"2":{"4":3,"13":9,"15":3,"17":1,"18":1,"22":3,"24":1,"25":1,"27":6,"28":1,"29":1,"31":1,"41":4,"42":1,"46":1,"61":1,"67":1,"69":1,"72":1,"74":1,"75":3,"77":3,"82":2}}],["ranges",{"2":{"5":1,"17":1,"30":1,"47":6,"72":3,"74":4}}],["range",{"2":{"4":2,"5":1,"13":2,"18":1,"32":2,"40":1,"45":2,"47":1,"50":1,"72":1,"74":1}}],["rather",{"2":{"3":1,"4":2,"5":1,"9":1,"17":3,"26":1,"59":1,"61":1}}],["red",{"2":{"70":1,"71":1}}],["reductions",{"2":{"13":1,"34":1}}],["reducing",{"0":{"46":1,"79":1},"2":{"13":1,"17":3}}],["reduce",{"2":{"3":1,"17":2,"31":1,"79":2}}],["reduced",{"2":{"3":1}}],["reducedims",{"2":{"3":1}}],["receive",{"2":{"39":1}}],["recommended",{"2":{"21":1}}],["reconstruction",{"2":{"13":1,"39":1}}],["rev",{"2":{"18":2}}],["reversal",{"2":{"18":1}}],["reverseordered",{"2":{"4":5,"7":3,"42":15,"43":14,"47":1,"61":5,"74":2,"75":2,"79":8}}],["reverse",{"2":{"4":1,"7":1,"18":4,"31":1,"42":1,"61":1,"79":1}}],["reversed",{"2":{"4":1}}],["reordering",{"2":{"18":1}}],["reorder",{"0":{"61":1},"2":{"18":8,"61":4,"67":1}}],["relationships",{"2":{"34":1}}],["related",{"2":{"26":1}}],["relying",{"2":{"17":2}}],["reliable",{"2":{"4":1}}],["reasons",{"2":{"50":1}}],["reason",{"2":{"26":1,"50":1}}],["readlines",{"2":{"84":1}}],["read",{"2":{"20":2}}],["reading",{"2":{"17":1}}],["real",{"2":{"4":1}}],["really",{"2":{"3":1,"64":1}}],["removing",{"2":{"14":1}}],["removed",{"2":{"5":1}}],["reshape",{"2":{"23":1,"62":1}}],["reshaping",{"2":{"18":2}}],["restored",{"2":{"18":1}}],["resolve",{"2":{"14":1,"30":1}}],["result",{"2":{"5":1,"14":1,"18":3,"25":1,"30":1,"81":1}}],["results",{"2":{"5":2,"17":2,"66":1}}],["rebuilt",{"2":{"13":1,"18":1,"59":1}}],["rebuilding",{"2":{"18":1}}],["rebuild",{"0":{"39":1,"63":1,"64":1},"1":{"64":1},"2":{"4":2,"13":3,"14":2,"18":5,"20":54,"26":1,"35":1,"39":7,"41":40,"63":6,"64":2,"65":1}}],["requires",{"2":{"38":1,"47":1}}],["require",{"2":{"9":1}}],["required",{"2":{"0":1,"3":1,"11":1,"16":1,"18":4,"26":1}}],["repl",{"2":{"73":1}}],["replaces",{"2":{"3":1,"26":1}}],["replaced",{"2":{"3":1,"8":1}}],["replace",{"2":{"3":2,"18":1,"60":1}}],["represents",{"2":{"37":1,"76":1}}],["representing",{"2":{"4":1}}],["represent",{"2":{"4":1,"10":1}}],["refdim",{"2":{"20":1}}],["refdims=refdims",{"2":{"14":1}}],["refdims=",{"2":{"13":1}}],["refdims",{"2":{"13":9,"18":2,"20":21,"39":1,"41":12,"63":2}}],["refence",{"2":{"13":1}}],["reference",{"0":{"12":1},"1":{"13":1,"14":1,"15":1,"16":1},"2":{"3":2,"13":3,"20":1,"35":1}}],["refer",{"2":{"0":1,"9":1}}],["ref",{"2":{"3":1}}],["rewraps",{"2":{"3":1}}],["retrieved",{"2":{"33":1}}],["retrieves",{"2":{"5":1,"42":1}}],["retrieve",{"2":{"2":1,"5":1,"42":1}}],["returning",{"2":{"3":1,"11":1,"18":2,"79":1}}],["returns",{"2":{"2":1,"3":3,"5":1,"11":2,"13":3,"14":2,"15":1,"17":1,"20":2,"41":2,"42":1,"47":3,"78":1}}],["returned",{"2":{"1":1,"3":2,"4":1,"11":1,"13":1,"17":2,"18":2,"33":1,"43":1}}],["return",{"2":{"1":3,"3":3,"4":8,"5":2,"13":6,"14":7,"17":7,"18":7,"36":1,"37":2,"38":2,"42":1,"43":1,"45":1,"78":2,"80":1}}],["regular",{"2":{"0":5,"2":1,"4":7,"5":4,"8":4,"10":2,"13":5,"15":2,"16":1,"17":2,"18":10,"22":4,"23":1,"24":10,"25":3,"29":2,"35":1,"38":1,"42":30,"43":28,"46":2,"47":1,"48":5,"61":2,"63":2,"65":5,"72":7,"73":3,"74":3,"75":6,"76":2,"77":15,"78":1,"79":49,"82":4,"83":2}}],["k",{"2":{"83":1}}],["kind",{"2":{"45":1}}],["kinds",{"2":{"13":4,"27":1}}],["knowing",{"2":{"29":1}}],["knows",{"2":{"24":1,"35":1}}],["know",{"2":{"17":1,"23":1,"63":1,"64":1}}],["known",{"2":{"4":5,"10":1,"29":1}}],["kw",{"2":{"3":4,"4":1,"11":1,"13":10,"14":5,"18":3,"20":17,"39":2,"41":10,"63":2}}],["kernels",{"2":{"26":1}}],["kernelabstractions",{"2":{"26":1}}],["kernel",{"2":{"26":1}}],["keeping",{"2":{"3":1}}],["keep",{"2":{"3":1,"18":2,"19":1,"47":1}}],["key",{"2":{"18":3,"35":1,"81":1}}],["keys=",{"2":{"18":2}}],["keys=keys",{"2":{"18":2}}],["keys",{"2":{"0":1,"11":2,"14":1,"18":2,"20":4,"47":1,"77":2}}],["keywords",{"0":{"31":1,"38":1},"2":{"3":1,"4":2,"13":4,"15":2,"16":1,"17":5,"18":1,"20":5,"28":1,"30":1,"31":1,"39":1,"40":1,"41":2,"63":4,"64":1}}],["keyword",{"2":{"0":1,"4":3,"13":1,"14":1,"17":1,"18":3,"38":1,"39":2,"64":1}}],["kept",{"2":{"0":1,"3":1}}],["┤",{"2":{"1":1,"3":1,"13":5,"15":1,"16":1,"17":4,"18":1,"27":16,"28":2,"29":3,"30":2,"31":2,"32":1,"46":8,"47":18,"48":3,"60":3,"63":1,"65":1,"76":1,"77":6,"78":1,"79":25,"82":1,"83":1}}],["u",{"2":{"83":1}}],["utility",{"0":{"18":1},"1":{"19":1,"20":1}}],["updating",{"2":{"39":1}}],["update",{"2":{"18":3}}],["updates",{"2":{"13":1,"20":6,"41":6}}],["updated",{"2":{"3":2,"18":4,"20":6,"41":6}}],["upperbound",{"2":{"8":1}}],["upper",{"2":{"5":1,"8":1}}],["unrolled",{"2":{"81":1}}],["unambiguous",{"2":{"42":1}}],["unaltered",{"2":{"4":1}}],["unaligned",{"2":{"4":4}}],["unclosed",{"2":{"20":1}}],["unmerged",{"2":{"18":1}}],["unmergedims",{"2":{"18":2}}],["unmatched",{"2":{"1":1,"13":1}}],["unknown",{"2":{"15":1,"74":1}}],["underneath",{"2":{"64":1}}],["underlying",{"2":{"1":1,"13":1,"18":1}}],["undefined",{"2":{"4":1,"13":2,"17":1,"40":1}}],["unless",{"2":{"4":4,"5":1,"30":1,"74":1,"81":1}}],["unlike",{"2":{"3":2,"11":1,"15":1,"65":1}}],["unordered",{"2":{"4":6,"7":3,"47":3,"65":2,"73":2,"74":2}}],["unitrange",{"2":{"17":2,"47":3,"72":2}}],["unit",{"2":{"11":2}}],["unitful",{"2":{"5":3}}],["units",{"2":{"2":1,"11":5}}],["unionall",{"2":{"3":1}}],["union",{"2":{"2":1,"3":1,"4":5,"5":1,"11":3,"17":2,"18":2,"19":1}}],["us",{"2":{"11":1,"29":1,"33":1,"65":1}}],["user",{"2":{"34":1}}],["uses",{"2":{"4":1,"8":1,"26":2,"33":1,"55":1,"58":1,"63":1}}],["useful",{"2":{"1":1,"3":3,"4":6,"15":1,"18":1,"42":1,"60":1,"63":1}}],["use",{"2":{"0":3,"3":1,"4":2,"5":3,"7":1,"11":1,"13":2,"14":3,"15":1,"18":1,"19":3,"21":1,"25":1,"28":1,"29":1,"30":1,"39":1,"43":1,"46":1,"47":5,"63":1,"72":1,"75":1,"81":1}}],["used",{"2":{"0":7,"2":1,"3":5,"4":7,"5":4,"6":1,"8":1,"9":1,"10":7,"14":2,"15":4,"17":9,"18":4,"29":2,"30":2,"31":1,"33":1,"34":1,"39":3,"42":1,"45":1,"46":1,"56":1,"63":1,"67":1,"73":1,"74":3}}],["usually",{"2":{"0":1,"3":2,"13":1,"38":1,"45":1,"65":1,"72":1,"73":2,"80":1}}],["using",{"2":{"0":2,"1":4,"3":1,"4":5,"5":3,"11":2,"13":10,"14":1,"15":2,"16":2,"17":1,"18":9,"21":2,"22":1,"24":2,"26":1,"27":1,"28":1,"30":1,"31":1,"32":1,"33":1,"39":2,"41":1,"42":3,"45":2,"46":1,"60":1,"61":1,"72":2,"73":1,"76":1,"80":1,"82":2,"83":2}}],["v",{"2":{"83":1}}],["visualise",{"2":{"57":1}}],["via",{"2":{"34":1}}],["views",{"2":{"18":2,"55":1}}],["view",{"2":{"3":1,"13":1,"14":2,"15":1,"30":1}}],["versions",{"2":{"39":2}}],["version",{"2":{"14":1,"18":2,"21":1,"39":1,"63":1,"64":1,"81":1}}],["very",{"2":{"14":2,"51":1,"63":1,"80":1}}],["vectors",{"2":{"3":1,"29":1,"72":3}}],["vector",{"2":{"0":1,"4":2,"5":1,"14":1,"17":13,"18":2,"29":2,"42":2,"45":8,"47":4,"72":5,"73":3,"78":2,"84":1}}],["variable",{"2":{"59":1,"67":1}}],["var",{"2":{"31":1,"79":2}}],["vararg",{"2":{"1":4,"2":3,"3":6,"4":5,"13":10,"14":2,"16":1,"18":3,"20":1,"29":1}}],["valtype",{"2":{"3":1}}],["valid",{"2":{"3":1}}],["val",{"2":{"2":2,"3":1,"4":4,"11":1,"18":5,"33":2,"38":2,"42":3,"63":4}}],["val=",{"2":{"0":5}}],["value",{"2":{"0":1,"3":2,"4":2,"5":12,"8":1,"9":1,"10":1,"13":5,"14":3,"15":1,"17":7,"19":1,"27":1,"28":1,"33":1,"42":2,"72":4,"80":1}}],["values=autovalues",{"2":{"4":1}}],["values",{"2":{"0":1,"2":1,"3":5,"4":15,"5":12,"7":1,"9":2,"10":6,"13":1,"14":3,"15":5,"17":9,"18":2,"20":1,"37":1,"39":1,"45":1,"47":5,"59":1,"62":1,"63":1,"65":2,"66":1,"72":5,"73":5,"74":3,"75":1,"78":2}}],["`refdims`",{"2":{"41":2}}],["`dims`",{"2":{"41":2}}],["`da`",{"2":{"18":1}}],["`cuarray`",{"2":{"25":1}}],["`modify`",{"2":{"25":1}}],["`openinterval",{"2":{"5":1}}],["`",{"2":{"0":1}}],["nanoseconds",{"2":{"80":1}}],["names",{"0":{"28":1},"2":{"16":1,"18":1,"19":1,"23":1,"28":1,"33":2,"42":1,"72":1,"73":1}}],["name=nothing",{"2":{"14":1}}],["name=noname",{"2":{"13":1}}],["name=",{"2":{"13":1,"14":3,"27":5,"63":1,"82":1}}],["name2dim",{"2":{"3":3}}],["name",{"0":{"19":1},"2":{"2":1,"13":10,"16":2,"18":3,"19":11,"20":4,"26":3,"28":1,"33":2,"39":1,"41":4,"63":2,"72":1,"76":1,"77":2,"81":2}}],["namedtuple",{"0":{"77":1},"2":{"11":3,"14":12,"18":1,"20":2,"76":2,"77":1,"78":4,"80":1}}],["named",{"2":{"0":1,"10":2,"19":1,"27":1,"30":1,"33":1,"54":1,"70":1}}],["n=rand",{"2":{"77":1}}],["nt",{"2":{"64":2}}],["ntuple",{"2":{"1":3,"2":3,"13":5}}],["night",{"2":{"47":4}}],["nice",{"2":{"47":1}}],["ncdatasets",{"2":{"34":1}}],["ns",{"2":{"32":14,"80":2}}],["ndims",{"2":{"20":5,"41":3}}],["nvidia",{"2":{"18":1}}],["neighbor",{"2":{"75":1}}],["neighbour",{"2":{"15":1}}],["necessary",{"2":{"19":1}}],["necessarily",{"2":{"18":1}}],["netcdf",{"2":{"10":1,"34":1}}],["next",{"2":{"5":1}}],["needed",{"2":{"26":1,"63":1,"74":1}}],["needs",{"2":{"19":1,"20":1}}],["need",{"2":{"4":1,"14":3,"17":1,"18":2,"21":1,"26":3}}],["nearly",{"2":{"35":1}}],["nearest",{"2":{"5":3,"15":1,"75":1}}],["near",{"2":{"4":2,"5":6,"13":2,"15":2,"72":3,"75":2}}],["newdim",{"2":{"3":4}}],["newdims",{"2":{"3":4}}],["new",{"2":{"0":1,"3":5,"4":1,"13":2,"16":1,"18":13,"35":1,"39":1,"79":1}}],["nosampling",{"2":{"65":1}}],["nospan",{"2":{"65":1}}],["nov",{"2":{"47":4,"73":1}}],["now",{"2":{"45":1,"47":1,"54":1,"73":1,"78":1}}],["normalization",{"2":{"48":1}}],["normal",{"2":{"7":1,"19":1}}],["nometadata",{"2":{"4":3,"11":2,"13":1}}],["nolookup",{"2":{"4":11,"13":4,"18":1,"65":2,"73":9,"74":1}}],["no",{"2":{"2":1,"3":3,"4":2,"11":1,"18":2,"23":1,"32":1,"34":1,"65":1,"73":1,"74":1,"80":1}}],["noname",{"2":{"18":1,"19":5}}],["non",{"0":{"2":1},"2":{"13":2,"14":1}}],["notice",{"2":{"15":1,"17":1}}],["notably",{"2":{"14":2,"56":1}}],["note",{"2":{"5":1,"17":2,"18":1,"20":1,"47":2}}],["notes",{"2":{"4":1,"18":1}}],["nothing",{"2":{"1":1,"3":4,"4":1,"5":2,"8":2,"11":4,"13":1,"74":4}}],["not",{"2":{"0":1,"1":1,"3":4,"4":6,"5":8,"10":3,"11":4,"13":1,"15":2,"17":1,"18":6,"19":2,"20":4,"24":1,"26":1,"29":1,"30":2,"39":1,"40":1,"42":1,"47":3,"50":1,"61":1,"63":3,"65":1,"66":1,"72":4,"73":2,"74":1,"77":3,"78":1,"79":1,"81":1}}],["number",{"2":{"1":1,"3":1,"4":1,"5":1,"13":1,"17":5,"20":2,"41":2,"63":1,"74":1}}],["n",{"2":{"1":1,"2":3,"3":1,"4":3,"13":3,"47":1,"61":5,"63":4,"65":6,"77":3,"83":1}}],["nbsp",{"2":{"0":15,"1":4,"2":5,"3":12,"4":23,"5":10,"6":1,"7":6,"8":5,"9":3,"10":6,"11":4,"13":14,"14":2,"15":3,"16":2,"17":9,"18":11,"19":3,"20":6}}],["8219054655873324",{"2":{"78":1}}],["822008",{"2":{"75":1}}],["824659",{"2":{"75":1}}],["823123",{"2":{"75":1}}],["823656",{"2":{"13":1}}],["825204",{"2":{"74":1}}],["8288995877624121",{"2":{"84":1}}],["8289",{"2":{"83":2}}],["828161",{"2":{"82":1}}],["828515",{"2":{"48":2}}],["828395",{"2":{"29":1}}],["829714",{"2":{"42":1}}],["827852",{"2":{"31":1}}],["832538",{"2":{"75":1}}],["834418",{"2":{"75":1}}],["831617",{"2":{"42":1}}],["835674",{"2":{"75":1}}],["835",{"2":{"32":1}}],["835288",{"2":{"25":1}}],["837335",{"2":{"29":1}}],["836107",{"2":{"29":2}}],["839618",{"2":{"29":1}}],["830187",{"2":{"27":1}}],["83056",{"2":{"25":1}}],["8146121812750928",{"2":{"84":1}}],["8136963000324107",{"2":{"84":1}}],["813696",{"2":{"83":2}}],["819605",{"2":{"82":1,"83":1}}],["819928",{"2":{"46":1}}],["811917",{"2":{"75":1}}],["815253",{"2":{"75":1}}],["815365",{"2":{"27":2}}],["810377",{"2":{"75":1}}],["8107",{"2":{"27":1}}],["81253",{"2":{"27":1}}],["81708",{"2":{"25":1}}],["818644",{"2":{"24":2}}],["884385",{"2":{"83":1}}],["887294",{"2":{"82":1}}],["887979",{"2":{"75":1}}],["882656",{"2":{"74":1}}],["882085",{"2":{"65":1}}],["883323",{"2":{"74":1}}],["883222",{"2":{"72":9}}],["885929",{"2":{"28":1,"30":2}}],["885914",{"2":{"27":3}}],["888721",{"2":{"82":1}}],["88841",{"2":{"28":1,"30":2}}],["88869",{"2":{"25":1}}],["881149",{"2":{"25":1}}],["880853",{"2":{"75":1}}],["880796",{"2":{"29":2}}],["88092",{"2":{"25":1}}],["88058",{"2":{"25":1}}],["88",{"2":{"22":1,"75":1}}],["894053",{"2":{"83":1}}],["890574",{"2":{"82":1}}],["891596",{"2":{"75":1}}],["896624",{"2":{"75":1}}],["896257",{"2":{"74":1}}],["896315",{"2":{"24":2}}],["899356",{"2":{"75":1}}],["899864",{"2":{"46":1,"48":1}}],["899632",{"2":{"42":1}}],["89862",{"2":{"29":1}}],["895608",{"2":{"27":2}}],["89",{"2":{"22":1}}],["893537",{"2":{"15":1}}],["849707",{"2":{"83":1}}],["849576",{"2":{"65":1}}],["8428656510212863",{"2":{"84":1}}],["842866",{"2":{"83":2}}],["842029",{"2":{"77":1}}],["842792",{"2":{"46":1}}],["847872",{"2":{"75":1}}],["847018",{"2":{"29":1}}],["84475",{"2":{"75":2}}],["844547",{"2":{"22":1}}],["846736",{"2":{"75":1}}],["848624",{"2":{"75":1}}],["84",{"2":{"22":1,"75":1}}],["8719143923648308",{"2":{"84":1}}],["871914",{"2":{"83":2}}],["87656",{"2":{"77":1}}],["876112",{"2":{"42":1}}],["878565",{"2":{"75":1}}],["873218",{"2":{"75":1}}],["87255",{"2":{"72":3}}],["875108",{"2":{"48":1}}],["875221",{"2":{"24":2}}],["870348",{"2":{"74":1}}],["870276",{"2":{"29":2}}],["870485",{"2":{"15":1}}],["879774",{"2":{"29":1}}],["87436",{"2":{"25":1}}],["87",{"2":{"22":3,"46":1}}],["8560905731682101",{"2":{"84":1}}],["856091",{"2":{"83":2}}],["853553",{"2":{"29":1}}],["8542391508438596",{"2":{"78":1}}],["854239",{"2":{"77":1}}],["854076",{"2":{"27":2}}],["854739",{"2":{"25":1}}],["85",{"2":{"22":1,"83":1}}],["868917",{"2":{"83":1}}],["868966",{"2":{"42":1}}],["868587",{"2":{"83":1}}],["8612776980335002",{"2":{"84":1}}],["861278",{"2":{"83":2}}],["86112",{"2":{"83":1}}],["86174",{"2":{"25":1}}],["8632634208267141",{"2":{"78":2}}],["865713",{"2":{"75":1}}],["865233",{"2":{"29":2}}],["865298",{"2":{"27":2}}],["869012",{"2":{"72":3}}],["864128",{"2":{"42":1}}],["864765",{"2":{"29":1}}],["864856",{"2":{"15":1}}],["860933",{"2":{"27":2}}],["86",{"2":{"22":1}}],["867547",{"2":{"13":1,"15":1}}],["80023",{"2":{"77":1}}],["808889",{"2":{"75":1}}],["806495",{"2":{"75":1}}],["802776",{"2":{"72":4}}],["802122",{"2":{"29":1}}],["804846",{"2":{"61":2,"63":2,"65":6}}],["80455",{"2":{"25":1}}],["8030281996030815",{"2":{"78":1}}],["803446",{"2":{"61":2,"63":2,"65":6}}],["803293",{"2":{"29":1}}],["803192",{"2":{"22":1}}],["80",{"2":{"4":1,"22":1,"47":1}}],["8",{"2":{"0":1,"4":1,"5":2,"14":1,"22":1,"24":1,"29":4,"42":7,"45":1,"46":2,"47":11,"72":8,"73":2,"75":7,"77":3,"82":2,"83":12,"84":2}}],["6×10",{"2":{"77":1,"79":30}}],["6×6",{"2":{"75":3}}],["6×3",{"2":{"72":2}}],["6am",{"2":{"47":1}}],["648179",{"2":{"83":1}}],["64534",{"2":{"83":1}}],["645678",{"2":{"82":1}}],["645795",{"2":{"46":1,"48":2}}],["6445457662038467",{"2":{"78":2}}],["640974",{"2":{"77":1}}],["640311",{"2":{"42":1}}],["642187",{"2":{"75":1}}],["642908",{"2":{"25":1}}],["647225",{"2":{"74":1}}],["64",{"2":{"47":1}}],["634377",{"2":{"83":1}}],["634499",{"2":{"29":1}}],["636476",{"2":{"82":1}}],["631878",{"2":{"75":1}}],["63",{"2":{"46":1}}],["639499",{"2":{"46":1}}],["639212",{"2":{"42":1}}],["633956",{"2":{"42":1}}],["635963",{"2":{"42":1}}],["637077",{"2":{"13":2}}],["6730273352488979",{"2":{"84":1}}],["673027",{"2":{"83":2}}],["673966",{"2":{"29":1}}],["670607",{"2":{"82":1,"83":1}}],["6702922824659258",{"2":{"78":2}}],["674061",{"2":{"82":1}}],["674881",{"2":{"42":1}}],["675459",{"2":{"75":1}}],["675435",{"2":{"22":1}}],["677543",{"2":{"75":2}}],["679296",{"2":{"75":1}}],["679221",{"2":{"29":2}}],["679453",{"2":{"74":1}}],["679632",{"2":{"83":1}}],["6796",{"2":{"48":2}}],["678022",{"2":{"29":1}}],["687921",{"2":{"74":1}}],["68781",{"2":{"42":1}}],["687223",{"2":{"24":2}}],["683795",{"2":{"74":1}}],["683712",{"2":{"46":1}}],["683091",{"2":{"29":1}}],["683696",{"2":{"29":1}}],["680987",{"2":{"74":1}}],["68072e",{"2":{"46":1}}],["680352",{"2":{"29":1}}],["680225",{"2":{"29":2}}],["684587",{"2":{"27":1}}],["622735",{"2":{"83":1}}],["620473",{"2":{"82":1}}],["620055",{"2":{"28":1,"30":2}}],["621527",{"2":{"75":1}}],["621662",{"2":{"74":1}}],["621603",{"2":{"72":4}}],["623124",{"2":{"75":1}}],["625435",{"2":{"29":1}}],["625296",{"2":{"27":3}}],["625257",{"2":{"27":3}}],["624685",{"2":{"22":1}}],["6150940338022266",{"2":{"84":1}}],["615094",{"2":{"83":2}}],["615764",{"2":{"29":1}}],["6146564273146751",{"2":{"84":1}}],["614656",{"2":{"83":2}}],["61781",{"2":{"75":1}}],["613895",{"2":{"75":1}}],["610173",{"2":{"75":1}}],["61025",{"2":{"25":1}}],["611961",{"2":{"27":1}}],["612779",{"2":{"24":2}}],["666938",{"2":{"83":1}}],["66622",{"2":{"25":1}}],["66996622586129",{"2":{"78":1}}],["669966",{"2":{"77":1}}],["669021",{"2":{"29":1}}],["668226",{"2":{"77":1}}],["668984",{"2":{"61":2,"63":2,"65":6}}],["661444",{"2":{"75":1}}],["662413",{"2":{"75":1}}],["662833",{"2":{"75":1}}],["660657",{"2":{"75":1}}],["667841",{"2":{"74":1}}],["664642",{"2":{"75":1}}],["664038",{"2":{"42":1}}],["6642",{"2":{"28":1,"30":2}}],["665742",{"2":{"25":1}}],["66",{"2":{"22":1}}],["656243",{"2":{"83":1}}],["650842",{"2":{"75":1}}],["657054",{"2":{"75":1}}],["657441",{"2":{"27":3}}],["655684",{"2":{"24":2}}],["651784",{"2":{"24":2}}],["652353",{"2":{"24":2}}],["65",{"2":{"22":5,"47":1}}],["699976",{"2":{"75":1}}],["694278906020718",{"2":{"84":1}}],["694279",{"2":{"83":2}}],["694066",{"2":{"82":1}}],["69461",{"2":{"61":2,"63":2,"65":6}}],["694796",{"2":{"46":1,"48":1}}],["691687",{"2":{"77":1}}],["691887",{"2":{"31":1}}],["691162",{"2":{"15":1}}],["690695",{"2":{"29":1}}],["69506",{"2":{"25":1}}],["69635",{"2":{"24":2}}],["69",{"2":{"22":1}}],["692209",{"2":{"15":2}}],["692235",{"2":{"13":1}}],["608366",{"2":{"83":1}}],["600816",{"2":{"48":1}}],["602631",{"2":{"77":1}}],["602",{"2":{"75":1}}],["602315",{"2":{"42":1}}],["602923",{"2":{"27":1}}],["605324",{"2":{"29":1}}],["605217",{"2":{"27":1}}],["60",{"2":{"4":1,"5":1,"74":1,"78":1}}],["6",{"2":{"0":1,"4":2,"5":18,"14":1,"15":4,"18":4,"22":1,"24":2,"25":1,"42":7,"45":11,"46":6,"47":20,"72":14,"73":1,"75":3,"76":1,"77":12,"78":4,"79":19,"83":12,"84":2}}],["436605",{"2":{"82":1}}],["436168",{"2":{"75":1}}],["43471177733076",{"2":{"79":2}}],["434061",{"2":{"48":1}}],["439711995898844",{"2":{"78":1}}],["43915",{"2":{"75":1}}],["433769",{"2":{"77":1}}],["433955",{"2":{"31":1}}],["433527",{"2":{"27":1}}],["417756",{"2":{"75":1,"83":1}}],["412078",{"2":{"75":1}}],["415714",{"2":{"72":3}}],["41",{"2":{"47":1}}],["418968",{"2":{"42":1}}],["411529",{"2":{"28":1,"30":2}}],["410463",{"2":{"27":2}}],["41334",{"2":{"25":1}}],["462859",{"2":{"75":1}}],["462981",{"2":{"25":1}}],["460775",{"2":{"75":1}}],["460633",{"2":{"46":1,"48":2}}],["461631",{"2":{"61":2,"63":2,"65":6}}],["464482",{"2":{"42":1}}],["464554",{"2":{"25":1}}],["467484",{"2":{"29":1}}],["465631",{"2":{"28":1,"30":2}}],["46668",{"2":{"27":1}}],["469388",{"2":{"27":1}}],["468968",{"2":{"29":1}}],["468184",{"2":{"27":1}}],["468066",{"2":{"27":1}}],["449491",{"2":{"82":1,"83":2}}],["4492",{"2":{"25":1}}],["4408839264303761",{"2":{"78":2}}],["440884",{"2":{"77":1}}],["44818",{"2":{"75":1}}],["442111",{"2":{"74":1}}],["442542",{"2":{"46":1}}],["444708",{"2":{"29":1}}],["441181",{"2":{"74":1}}],["44119",{"2":{"27":2}}],["441735",{"2":{"28":1,"30":2}}],["44104",{"2":{"27":1}}],["443494",{"2":{"13":1,"15":1}}],["457841",{"2":{"82":1,"83":1}}],["457891",{"2":{"29":1}}],["450701",{"2":{"82":1,"83":2}}],["450109",{"2":{"61":2,"63":2,"65":6}}],["45983648216629247",{"2":{"79":1}}],["4526944925375208",{"2":{"78":1}}],["452694",{"2":{"77":1}}],["454047",{"2":{"75":1}}],["454886",{"2":{"27":2}}],["455255",{"2":{"75":1}}],["458427",{"2":{"75":1}}],["45804",{"2":{"25":1}}],["456688",{"2":{"83":1}}],["45655",{"2":{"82":1}}],["456",{"2":{"32":1}}],["45152471334016764",{"2":{"78":1}}],["451525",{"2":{"77":1}}],["451425",{"2":{"29":1}}],["4518",{"2":{"27":2}}],["453973",{"2":{"24":2}}],["474535",{"2":{"77":1}}],["476387",{"2":{"75":2}}],["476495",{"2":{"27":2}}],["471877",{"2":{"42":1}}],["475569",{"2":{"42":1}}],["479126",{"2":{"25":1}}],["47",{"2":{"22":1,"47":2}}],["48952511607945026",{"2":{"84":1}}],["489525",{"2":{"83":2}}],["489762",{"2":{"24":1}}],["4802202427553709",{"2":{"78":10,"79":2}}],["48022",{"2":{"77":1}}],["484929",{"2":{"77":1}}],["4854948068259556",{"2":{"78":1}}],["485952",{"2":{"75":1}}],["485687",{"2":{"15":1}}],["48240020633837055",{"2":{"78":1}}],["482654",{"2":{"75":1}}],["48275",{"2":{"25":1}}],["488473",{"2":{"83":1}}],["488458",{"2":{"46":1}}],["48889263023704055",{"2":{"78":1}}],["48817",{"2":{"29":1}}],["487563",{"2":{"46":1}}],["487578",{"2":{"22":1}}],["487601",{"2":{"25":1}}],["48124",{"2":{"75":1}}],["481184",{"2":{"29":1}}],["48113",{"2":{"24":1}}],["48101",{"2":{"24":1}}],["48",{"2":{"22":1,"47":1}}],["4×5",{"2":{"22":1}}],["4×6",{"2":{"15":1}}],["49057852962217935",{"2":{"79":1}}],["49097",{"2":{"25":1}}],["490968",{"2":{"24":1}}],["495624",{"2":{"75":1}}],["497346",{"2":{"29":1}}],["49795",{"2":{"24":1}}],["49224",{"2":{"75":1}}],["492332",{"2":{"46":1}}],["492377",{"2":{"24":1}}],["492141",{"2":{"27":3}}],["493065",{"2":{"83":1}}],["493417",{"2":{"27":2}}],["493708",{"2":{"24":1}}],["496665",{"2":{"24":1}}],["496201",{"2":{"24":1}}],["496108",{"2":{"24":2}}],["491767",{"2":{"24":2}}],["49",{"2":{"22":2,"47":1}}],["49853441854361796",{"2":{"79":1}}],["498465",{"2":{"46":1}}],["498669",{"2":{"46":1}}],["498606",{"2":{"17":1}}],["498996",{"2":{"46":1}}],["498388",{"2":{"46":1,"47":1}}],["498895",{"2":{"46":1}}],["498832",{"2":{"46":1,"47":1}}],["498801",{"2":{"17":1}}],["498764",{"2":{"29":1}}],["498704",{"2":{"17":1}}],["498145",{"2":{"17":1}}],["499307",{"2":{"75":1}}],["49935",{"2":{"47":1}}],["499474",{"2":{"47":1}}],["499687",{"2":{"47":1}}],["499667",{"2":{"46":1}}],["499218",{"2":{"46":1}}],["499298",{"2":{"17":1}}],["49973",{"2":{"75":1}}],["499719",{"2":{"24":1}}],["499762",{"2":{"17":1}}],["499594",{"2":{"17":1}}],["499985",{"2":{"17":1}}],["4278264986513013",{"2":{"84":1}}],["427328",{"2":{"13":1,"15":1}}],["429822",{"2":{"83":1}}],["422318",{"2":{"75":1}}],["428951",{"2":{"42":1}}],["42833",{"2":{"24":1}}],["423798",{"2":{"42":1}}],["4231",{"2":{"29":1}}],["421525",{"2":{"75":1}}],["42151",{"2":{"25":1}}],["421692",{"2":{"29":1}}],["42",{"2":{"22":1}}],["420756",{"2":{"15":1}}],["405912",{"2":{"75":1}}],["40584",{"2":{"25":1}}],["403836",{"2":{"75":1}}],["406397",{"2":{"61":2,"63":2,"65":6}}],["40687",{"2":{"31":1}}],["409622",{"2":{"29":2}}],["40409",{"2":{"25":1}}],["40065",{"2":{"24":1}}],["40",{"2":{"4":1,"13":3,"47":1,"74":1}}],["4",{"2":{"0":5,"3":1,"4":5,"5":12,"13":6,"14":2,"15":2,"17":1,"18":15,"22":6,"24":6,"25":2,"29":5,"31":1,"42":7,"45":1,"46":6,"47":8,"72":18,"73":1,"75":2,"77":1,"79":2,"80":3,"82":1,"83":12,"84":2}}],["09300753748828394",{"2":{"84":1}}],["0930075",{"2":{"83":2}}],["09016703141346892",{"2":{"79":1}}],["0905873",{"2":{"75":1}}],["0983553",{"2":{"75":1}}],["0980829",{"2":{"42":1}}],["09245174474290706",{"2":{"79":1}}],["092494",{"2":{"27":1}}],["0923954",{"2":{"75":1}}],["09558e",{"2":{"46":1}}],["095",{"2":{"32":2}}],["0959455",{"2":{"24":2}}],["0963009",{"2":{"77":1}}],["096",{"2":{"32":1}}],["0965083",{"2":{"27":3}}],["0967863",{"2":{"15":1}}],["0992684",{"2":{"29":1}}],["0999314",{"2":{"27":2}}],["0991336",{"2":{"15":2}}],["09",{"2":{"0":1,"24":3,"48":1,"73":1}}],["08553143289483933",{"2":{"78":1}}],["0852624",{"2":{"77":1}}],["0821229",{"2":{"75":1}}],["0831822",{"2":{"75":1}}],["0803513146650122",{"2":{"79":1}}],["0804518",{"2":{"25":1}}],["0802658",{"2":{"13":1}}],["08",{"2":{"0":1,"24":3,"48":1,"73":1,"75":1}}],["0768485",{"2":{"77":1}}],["0760101",{"2":{"75":1}}],["0760848",{"2":{"29":1}}],["07217595907727536",{"2":{"78":1}}],["072176",{"2":{"77":1}}],["07277",{"2":{"25":1}}],["0758114",{"2":{"77":1}}],["0787968",{"2":{"75":1}}],["0702987",{"2":{"61":2,"63":2,"65":6}}],["07151",{"2":{"31":1}}],["0778416",{"2":{"29":1}}],["0779205",{"2":{"27":1}}],["0740736",{"2":{"27":2}}],["07",{"2":{"0":1,"24":3,"48":1,"73":1}}],["0670357162417285e",{"2":{"79":1}}],["06317733925981239",{"2":{"78":2,"79":2}}],["0630398",{"2":{"75":1}}],["0661958",{"2":{"75":1}}],["0669452",{"2":{"27":1}}],["0653496",{"2":{"72":12}}],["061892",{"2":{"83":1}}],["0610019",{"2":{"31":1}}],["0613839",{"2":{"27":1}}],["06474",{"2":{"31":1}}],["0641884",{"2":{"29":1}}],["0649391",{"2":{"25":1}}],["06834164575276236",{"2":{"78":1}}],["0683416",{"2":{"77":1}}],["0684698",{"2":{"28":1,"30":2}}],["068913",{"2":{"24":2}}],["0609271",{"2":{"27":1}}],["062795",{"2":{"83":1}}],["0628947",{"2":{"75":1}}],["062593",{"2":{"42":1}}],["0621546",{"2":{"27":3}}],["0622255",{"2":{"27":2}}],["0697249",{"2":{"27":3}}],["06",{"2":{"0":1,"24":3,"48":1,"73":1}}],["053158",{"2":{"83":1}}],["051776",{"2":{"83":1}}],["054083",{"2":{"75":1}}],["0540645",{"2":{"29":3}}],["0506805",{"2":{"75":1}}],["0502944",{"2":{"24":2}}],["0574938",{"2":{"75":1}}],["05t03",{"2":{"48":4}}],["0559616",{"2":{"29":1}}],["0558987",{"2":{"27":1}}],["0557598",{"2":{"25":1}}],["0599431",{"2":{"25":1}}],["05",{"2":{"0":1,"24":3,"48":1,"72":1,"73":1}}],["0445446",{"2":{"83":1}}],["0446036",{"2":{"46":1}}],["0417586",{"2":{"75":2}}],["0416986",{"2":{"24":2}}],["0426808",{"2":{"75":1}}],["0429074",{"2":{"74":1}}],["0425477",{"2":{"27":2}}],["04060837507113502",{"2":{"78":10}}],["0406084",{"2":{"77":1}}],["0403793",{"2":{"46":1,"48":2}}],["0400372",{"2":{"27":2}}],["0474302",{"2":{"29":2}}],["04599641808658339",{"2":{"84":1}}],["0459964",{"2":{"83":2}}],["0450386",{"2":{"28":1,"30":2}}],["0458864",{"2":{"27":1}}],["0463176",{"2":{"28":2,"30":2}}],["04",{"2":{"0":1,"24":3,"48":1,"73":1,"75":3}}],["03613547354359734",{"2":{"79":1}}],["0315018",{"2":{"75":1}}],["0387029",{"2":{"75":1}}],["0300922",{"2":{"75":1}}],["0303789",{"2":{"15":1}}],["037",{"2":{"80":2}}],["0372362",{"2":{"42":1}}],["0375522",{"2":{"29":1}}],["0375769",{"2":{"27":1}}],["0325131",{"2":{"82":1}}],["0323182",{"2":{"29":1}}],["0320967",{"2":{"15":1}}],["0347024",{"2":{"27":1}}],["03",{"2":{"0":1,"24":3,"46":1,"48":2,"73":1}}],["023646798570656102",{"2":{"84":1}}],["0236468",{"2":{"83":2}}],["0239356",{"2":{"27":2}}],["022593",{"2":{"83":2}}],["0299112",{"2":{"77":1}}],["02976",{"2":{"24":1}}],["021",{"2":{"75":1}}],["0275306",{"2":{"29":1}}],["0205228",{"2":{"29":1}}],["0282382",{"2":{"22":1}}],["02",{"2":{"0":2,"24":3,"46":1,"48":2,"73":1}}],["0",{"2":{"0":60,"1":6,"3":8,"4":28,"5":8,"13":92,"14":16,"15":81,"16":240,"17":19,"18":176,"22":20,"24":110,"25":69,"27":546,"28":28,"29":148,"30":50,"31":12,"32":25,"42":175,"43":42,"45":2,"46":63,"47":20,"48":53,"60":105,"61":50,"63":48,"65":141,"72":147,"73":7,"74":35,"75":243,"76":16,"77":133,"78":89,"79":155,"80":12,"82":48,"83":150,"84":36}}],["00816974",{"2":{"83":1}}],["00832284",{"2":{"42":1}}],["005163666306917225",{"2":{"84":1}}],["00516367",{"2":{"83":2}}],["00508449",{"2":{"42":1}}],["0019198597596568057",{"2":{"84":1}}],["00191986",{"2":{"83":2}}],["00110588",{"2":{"82":1}}],["006378200703587189",{"2":{"78":1,"79":2}}],["00686195",{"2":{"75":1}}],["007",{"2":{"75":3}}],["00337686",{"2":{"28":1,"30":2}}],["00",{"2":{"0":42,"24":96,"32":10,"45":4,"46":10,"48":37,"73":32}}],["015759978623873905",{"2":{"79":2}}],["01576",{"2":{"77":1}}],["0171909",{"2":{"77":1}}],["013144",{"2":{"77":1}}],["013967",{"2":{"48":2}}],["0164892",{"2":{"75":1}}],["0141696",{"2":{"77":1}}],["0149561",{"2":{"75":1}}],["014",{"2":{"75":1}}],["0143204",{"2":{"75":2}}],["0140644",{"2":{"27":3}}],["0184746",{"2":{"48":1}}],["011",{"2":{"47":2}}],["01t03",{"2":{"48":2}}],["01t02",{"2":{"48":1}}],["01t01",{"2":{"46":1,"48":2}}],["01t00",{"2":{"0":21,"24":48,"45":1,"46":2,"48":7,"73":16}}],["0192911",{"2":{"29":1}}],["0196808",{"2":{"29":1}}],["0197492",{"2":{"25":1}}],["012300334322905893",{"2":{"84":1}}],["0123003",{"2":{"83":2}}],["0120967",{"2":{"82":1}}],["0127924",{"2":{"27":3}}],["01282",{"2":{"24":1}}],["010277581356302745",{"2":{"79":2}}],["0102776",{"2":{"77":1}}],["010",{"2":{"18":2}}],["01",{"2":{"0":5,"24":9,"45":1,"46":6,"48":21,"73":3}}],["↗",{"2":{"0":1,"1":1,"3":1,"13":1,"16":1,"17":1,"18":1,"22":1,"24":3,"29":1,"31":2,"33":1,"82":3}}],["→",{"2":{"0":4,"1":3,"3":2,"4":2,"5":8,"13":13,"14":1,"15":12,"16":1,"17":3,"18":14,"22":4,"24":5,"25":2,"27":11,"28":1,"29":7,"30":2,"31":2,"32":1,"33":2,"42":7,"43":11,"46":3,"47":8,"48":5,"60":3,"61":4,"63":4,"65":11,"72":26,"74":2,"75":10,"76":2,"77":8,"79":24,"82":4,"83":1}}],["↓",{"2":{"0":5,"1":4,"3":3,"4":2,"5":8,"13":16,"14":1,"15":12,"16":1,"17":5,"18":14,"22":5,"24":8,"25":2,"27":11,"28":2,"29":8,"30":2,"31":2,"32":1,"33":2,"42":12,"43":15,"46":10,"47":19,"48":6,"60":3,"61":4,"63":4,"65":11,"72":28,"73":1,"74":2,"75":10,"76":2,"77":9,"78":1,"79":25,"82":4,"83":1}}],["┐",{"2":{"0":3,"4":1,"5":4,"13":5,"15":3,"17":3,"18":6,"22":3,"24":5,"25":1,"29":1,"42":1,"46":8,"47":12,"48":3,"60":1,"61":2,"63":2,"65":5,"72":15,"73":1,"74":1,"75":5,"76":1,"77":8,"78":1,"79":25,"82":2,"83":1}}],["│",{"2":{"0":6,"1":2,"3":2,"4":2,"5":8,"13":20,"15":8,"16":2,"17":6,"18":12,"22":6,"24":10,"25":2,"27":22,"28":4,"29":8,"30":4,"31":4,"32":2,"42":2,"46":16,"47":22,"48":6,"60":6,"61":4,"63":4,"65":12,"72":30,"73":2,"74":2,"75":10,"76":2,"77":16,"78":2,"79":50,"82":4,"83":74}}],["5201836703588896",{"2":{"78":1}}],["520184",{"2":{"77":1}}],["5203602669427675",{"2":{"78":1}}],["52036",{"2":{"77":1}}],["52735",{"2":{"77":1}}],["528009",{"2":{"75":1}}],["528669",{"2":{"27":1}}],["522989",{"2":{"46":1}}],["526688",{"2":{"29":1}}],["526295",{"2":{"27":2}}],["521021",{"2":{"29":2}}],["521762",{"2":{"27":1}}],["580091",{"2":{"82":1}}],["581131",{"2":{"82":1,"83":2}}],["581748",{"2":{"46":1,"48":1}}],["584048",{"2":{"75":1}}],["585756",{"2":{"42":1}}],["585057",{"2":{"27":1}}],["589895",{"2":{"29":1}}],["587556",{"2":{"27":3}}],["588506",{"2":{"27":2}}],["535124",{"2":{"83":1}}],["537046",{"2":{"77":1}}],["537469",{"2":{"48":1}}],["539197",{"2":{"75":1}}],["539076",{"2":{"15":1}}],["531012",{"2":{"75":1}}],["533041",{"2":{"75":1}}],["536911",{"2":{"72":6}}],["53",{"2":{"46":1}}],["530653",{"2":{"42":1}}],["534655",{"2":{"27":1}}],["534915",{"2":{"27":2}}],["5×1",{"2":{"72":1}}],["5×10",{"2":{"27":13}}],["5×5",{"2":{"28":1,"30":2}}],["5×4",{"2":{"4":1}}],["5663088629322468",{"2":{"78":2}}],["566574",{"2":{"42":1}}],["566557",{"2":{"24":2}}],["564657",{"2":{"75":1}}],["564589",{"2":{"24":2}}],["56",{"2":{"47":1}}],["561611",{"2":{"46":1}}],["563623",{"2":{"29":1}}],["567383",{"2":{"27":1}}],["568763",{"2":{"75":1}}],["568302",{"2":{"24":2}}],["568131",{"2":{"24":2}}],["516313",{"2":{"82":1}}],["51621",{"2":{"82":1}}],["516268",{"2":{"75":1}}],["517175",{"2":{"82":1}}],["5176046469253345",{"2":{"78":1}}],["517605",{"2":{"77":1}}],["5128894732327488",{"2":{"78":1}}],["512083",{"2":{"13":1,"15":1}}],["515445",{"2":{"77":1}}],["515061",{"2":{"24":2}}],["518483",{"2":{"77":1}}],["514714",{"2":{"27":1}}],["511078",{"2":{"27":1}}],["511086",{"2":{"24":2}}],["51",{"2":{"22":1}}],["5434869639181522",{"2":{"78":2}}],["543616",{"2":{"27":1}}],["545522",{"2":{"75":1}}],["545129",{"2":{"27":3}}],["54822",{"2":{"25":1}}],["54",{"2":{"22":1}}],["541806",{"2":{"22":1}}],["5501481631111826",{"2":{"84":1}}],["550148",{"2":{"83":2}}],["5514523568721104",{"2":{"78":2}}],["552153",{"2":{"75":1}}],["559878",{"2":{"46":1}}],["55745",{"2":{"31":1}}],["5573",{"2":{"29":1}}],["553558",{"2":{"27":3}}],["55351",{"2":{"24":1}}],["554791",{"2":{"27":3}}],["555456",{"2":{"24":2}}],["55",{"2":{"22":1}}],["597843",{"2":{"83":1}}],["59705",{"2":{"25":1}}],["599789",{"2":{"83":1}}],["599558",{"2":{"22":1}}],["590188929977547",{"2":{"79":2}}],["590953",{"2":{"75":1}}],["5962",{"2":{"31":1}}],["59",{"2":{"22":1}}],["574619",{"2":{"75":1}}],["574678",{"2":{"75":1}}],["578329",{"2":{"75":1}}],["578253",{"2":{"75":1}}],["578989",{"2":{"31":1}}],["575727",{"2":{"75":1}}],["575595",{"2":{"74":1}}],["575698",{"2":{"29":2}}],["571281",{"2":{"27":1}}],["571602",{"2":{"27":1}}],["570254",{"2":{"27":1}}],["57019",{"2":{"25":1}}],["57",{"2":{"5":1,"47":1}}],["5040228055200978",{"2":{"84":1}}],["504023",{"2":{"83":2}}],["5081446040814137e",{"2":{"79":1}}],["506221",{"2":{"74":1}}],["5055",{"2":{"47":4}}],["505946",{"2":{"24":1}}],["502391",{"2":{"46":1}}],["5074",{"2":{"31":1}}],["503183",{"2":{"75":1}}],["503561",{"2":{"46":1}}],["503967",{"2":{"27":1}}],["503823",{"2":{"27":1}}],["503719",{"2":{"24":1}}],["501732",{"2":{"46":1}}],["501369",{"2":{"46":1}}],["501379",{"2":{"17":1}}],["501068",{"2":{"24":1}}],["501643",{"2":{"17":1}}],["501105",{"2":{"17":1}}],["500769",{"2":{"48":2}}],["500757",{"2":{"46":1,"47":2}}],["500333",{"2":{"47":1}}],["500405",{"2":{"46":1}}],["50047",{"2":{"17":1}}],["500627",{"2":{"46":1}}],["500642",{"2":{"28":1,"30":2}}],["500644",{"2":{"17":1}}],["500277",{"2":{"46":1}}],["500913",{"2":{"46":1}}],["500157",{"2":{"27":3}}],["500533",{"2":{"17":1}}],["500874",{"2":{"17":1}}],["500032",{"2":{"47":1}}],["500093",{"2":{"46":1}}],["500083",{"2":{"17":1}}],["500064",{"2":{"17":1}}],["50",{"2":{"5":3,"13":9,"74":1}}],["5u",{"2":{"5":1}}],["5",{"2":{"0":1,"4":3,"5":21,"13":2,"14":1,"15":1,"18":5,"22":5,"24":2,"25":1,"27":10,"28":2,"29":6,"31":1,"42":9,"45":1,"46":2,"47":5,"60":3,"72":7,"73":2,"74":1,"76":3,"77":11,"78":1,"79":35,"83":12,"84":2}}],["331147",{"2":{"75":1}}],["33985840915074383",{"2":{"72":1}}],["339858",{"2":{"72":12}}],["339888",{"2":{"29":1}}],["338844",{"2":{"61":2,"63":2,"65":6}}],["336376",{"2":{"82":1}}],["336",{"2":{"47":1}}],["33",{"2":{"32":1,"47":2}}],["337",{"2":{"47":1}}],["337182",{"2":{"29":1}}],["337576",{"2":{"27":1}}],["330777",{"2":{"29":2}}],["334152",{"2":{"13":1,"15":1}}],["371583",{"2":{"75":1}}],["376",{"2":{"47":3}}],["370194",{"2":{"77":1}}],["370454",{"2":{"75":1}}],["370",{"2":{"47":2}}],["375166",{"2":{"42":1}}],["375182",{"2":{"29":1}}],["37963",{"2":{"25":1}}],["374026",{"2":{"25":1}}],["369225",{"2":{"77":1}}],["369",{"2":{"47":3}}],["368",{"2":{"47":3}}],["361536",{"2":{"75":1}}],["361",{"2":{"47":3}}],["362",{"2":{"46":1}}],["363442",{"2":{"83":1}}],["363373",{"2":{"83":1}}],["363918",{"2":{"75":1}}],["363",{"2":{"46":2}}],["365",{"2":{"46":2}}],["365341",{"2":{"29":1}}],["366873",{"2":{"75":1}}],["366",{"2":{"46":3}}],["364097",{"2":{"83":2}}],["364",{"2":{"45":18,"46":3}}],["364488",{"2":{"24":2}}],["360",{"2":{"4":2,"47":1}}],["319496",{"2":{"75":1}}],["312",{"2":{"47":1}}],["31",{"2":{"46":1}}],["313361",{"2":{"75":1}}],["313",{"2":{"47":1}}],["313711",{"2":{"46":1}}],["313279",{"2":{"46":1}}],["315591",{"2":{"42":1}}],["31572",{"2":{"31":1}}],["314535",{"2":{"42":1}}],["31468",{"2":{"31":1}}],["3162",{"2":{"29":1}}],["31065",{"2":{"24":2}}],["311448",{"2":{"13":1}}],["3434655288098666",{"2":{"84":1}}],["343493",{"2":{"27":1}}],["34882573131206984",{"2":{"78":1}}],["348826",{"2":{"77":1}}],["341133",{"2":{"82":1}}],["341976",{"2":{"72":4}}],["341835",{"2":{"29":1}}],["340557",{"2":{"61":2,"63":2,"65":6}}],["34589",{"2":{"75":1}}],["345",{"2":{"47":1}}],["345501",{"2":{"25":1}}],["344",{"2":{"47":1}}],["344408",{"2":{"27":3}}],["346013",{"2":{"46":1}}],["34",{"2":{"22":1}}],["3266527246823143",{"2":{"78":1}}],["32669",{"2":{"25":1}}],["3258728635315493",{"2":{"78":2,"80":2}}],["329",{"2":{"47":1}}],["329515",{"2":{"28":1,"30":2}}],["328",{"2":{"47":1}}],["32806",{"2":{"27":1}}],["321",{"2":{"47":1}}],["320",{"2":{"47":1}}],["320667",{"2":{"29":1}}],["322005",{"2":{"42":1}}],["322115",{"2":{"29":1}}],["32",{"2":{"22":2,"47":2,"79":1}}],["38167574879167476",{"2":{"84":1}}],["3863063388395396",{"2":{"78":1}}],["386306",{"2":{"77":1}}],["386433",{"2":{"27":3}}],["38714",{"2":{"48":2}}],["388768",{"2":{"75":1}}],["388907",{"2":{"31":1}}],["388243",{"2":{"22":1}}],["380161",{"2":{"29":1}}],["389839",{"2":{"27":1}}],["383632",{"2":{"22":1}}],["3a",{"2":{"14":1}}],["3×2",{"2":{"72":1}}],["3×14",{"2":{"61":2,"63":2,"65":6}}],["3×5",{"2":{"18":2,"60":10}}],["3×5×12",{"2":{"0":1}}],["3×4×1",{"2":{"31":1}}],["3×4×5",{"2":{"31":1}}],["3×4",{"2":{"18":5}}],["3×3",{"2":{"13":3,"15":1,"32":1,"72":3}}],["307616",{"2":{"83":1}}],["30391",{"2":{"75":1}}],["301659",{"2":{"74":1}}],["30t22",{"2":{"48":1}}],["30t23",{"2":{"45":1,"46":2,"48":2}}],["30×17520",{"2":{"47":3}}],["305",{"2":{"47":1}}],["309301",{"2":{"42":1}}],["30923",{"2":{"25":1}}],["306208",{"2":{"29":1}}],["30405878501189054",{"2":{"79":1}}],["304266",{"2":{"75":1}}],["30427",{"2":{"25":1}}],["3047",{"2":{"73":1}}],["304688",{"2":{"25":1}}],["3002782566445145",{"2":{"79":1}}],["300285",{"2":{"75":1}}],["300304",{"2":{"75":2}}],["300768",{"2":{"22":1}}],["300",{"2":{"18":1}}],["30",{"2":{"13":1,"14":2,"15":4,"18":9,"45":18,"46":2,"65":2,"74":1,"75":1}}],["359194",{"2":{"83":1}}],["359421",{"2":{"82":1}}],["35100608350331053",{"2":{"84":1}}],["351006",{"2":{"83":2}}],["351413",{"2":{"29":2}}],["358513",{"2":{"75":1}}],["358535",{"2":{"75":1}}],["358625",{"2":{"29":1}}],["357367",{"2":{"74":1}}],["353968",{"2":{"82":1}}],["353",{"2":{"47":1}}],["353691",{"2":{"29":1}}],["354046",{"2":{"29":1}}],["354868",{"2":{"15":1}}],["352592",{"2":{"61":2,"63":2,"65":6}}],["352",{"2":{"47":1}}],["352138",{"2":{"29":1}}],["352614",{"2":{"25":1}}],["350024",{"2":{"83":1}}],["350422",{"2":{"28":1,"30":2}}],["350104",{"2":{"27":2}}],["350546",{"2":{"15":1}}],["35",{"2":{"13":1,"22":1}}],["399",{"2":{"75":1}}],["399781",{"2":{"75":1}}],["397386",{"2":{"75":1}}],["395053",{"2":{"75":1}}],["395594",{"2":{"31":1}}],["391307",{"2":{"75":1}}],["391155",{"2":{"27":3}}],["396585",{"2":{"74":1}}],["394576",{"2":{"75":1}}],["394",{"2":{"32":1}}],["394703",{"2":{"29":1}}],["392334",{"2":{"75":1}}],["392377",{"2":{"29":1}}],["392848",{"2":{"27":3}}],["390081",{"2":{"25":1}}],["390033",{"2":{"24":2}}],["39",{"2":{"2":2,"3":1,"4":2,"15":1,"19":1,"29":2,"30":1,"32":1,"34":1,"51":1,"63":1,"64":1,"65":1,"66":6,"74":1,"75":1}}],["3",{"2":{"0":4,"1":3,"3":1,"4":7,"5":8,"13":3,"14":1,"15":12,"16":2,"17":6,"18":13,"20":2,"22":9,"24":8,"25":2,"28":2,"29":10,"31":6,"32":12,"33":2,"42":7,"45":1,"46":7,"47":23,"48":3,"60":3,"61":5,"63":4,"65":10,"72":3,"73":2,"75":1,"77":1,"79":1,"82":3,"83":8,"84":2}}],["145293",{"2":{"75":1}}],["144422",{"2":{"75":1}}],["143×23",{"2":{"75":1}}],["143704",{"2":{"28":2,"30":2}}],["14203",{"2":{"75":1}}],["14",{"2":{"75":2,"77":1}}],["140817",{"2":{"75":1}}],["140",{"2":{"42":6,"65":6}}],["147478",{"2":{"27":2}}],["175544",{"2":{"83":1}}],["17520",{"2":{"45":8,"48":1}}],["173013",{"2":{"83":1}}],["173513",{"2":{"29":1}}],["17715541586710937",{"2":{"78":1}}],["177423",{"2":{"25":1}}],["17",{"2":{"45":1,"47":2}}],["170",{"2":{"42":6}}],["176766",{"2":{"82":1}}],["17673",{"2":{"25":1}}],["176024",{"2":{"82":1}}],["17666e",{"2":{"46":1}}],["176197",{"2":{"27":1}}],["17645",{"2":{"25":1}}],["182707",{"2":{"83":1}}],["186811",{"2":{"83":1}}],["18969721875656995",{"2":{"79":1}}],["188976",{"2":{"75":1}}],["18",{"2":{"45":1,"75":6}}],["180397",{"2":{"75":1}}],["18035",{"2":{"25":1}}],["180",{"2":{"42":7}}],["180894",{"2":{"29":1}}],["184309",{"2":{"29":2}}],["183103",{"2":{"61":2,"63":2,"65":6}}],["183637",{"2":{"25":1}}],["183555",{"2":{"15":1}}],["16484",{"2":{"82":1}}],["164724",{"2":{"24":2}}],["168617",{"2":{"75":2}}],["168291",{"2":{"27":2}}],["166425",{"2":{"75":1}}],["16545e",{"2":{"46":1}}],["160352",{"2":{"83":1}}],["160403",{"2":{"75":1}}],["160",{"2":{"42":6}}],["161393",{"2":{"29":1}}],["167104",{"2":{"29":2}}],["167745",{"2":{"27":3}}],["162553",{"2":{"29":1}}],["162919",{"2":{"25":1}}],["16×16×3",{"2":{"16":1}}],["16",{"2":{"16":2,"22":1,"45":1,"47":4,"75":3}}],["132989",{"2":{"83":1}}],["132894",{"2":{"27":2}}],["1381833125394196",{"2":{"79":2}}],["138819",{"2":{"61":2,"63":2,"65":6}}],["13525245310587153",{"2":{"78":1}}],["133475",{"2":{"75":1}}],["133195",{"2":{"29":1}}],["130252",{"2":{"77":1}}],["130",{"2":{"42":6,"65":2}}],["13035",{"2":{"31":1}}],["139067",{"2":{"29":1}}],["137131",{"2":{"28":1,"30":2}}],["137619",{"2":{"27":2}}],["134246",{"2":{"27":2}}],["134186",{"2":{"25":1}}],["13",{"2":{"22":1,"32":1,"73":2,"75":1}}],["136551",{"2":{"15":1}}],["131798",{"2":{"15":1}}],["1a",{"2":{"14":1}}],["1u",{"2":{"5":2}}],["1985699519321249",{"2":{"84":1}}],["19857",{"2":{"83":2}}],["194849",{"2":{"82":1,"83":2}}],["194465",{"2":{"27":2}}],["193109",{"2":{"77":1}}],["193179",{"2":{"75":1}}],["195938",{"2":{"83":1}}],["195897",{"2":{"75":1}}],["195774",{"2":{"29":1}}],["197423",{"2":{"75":1}}],["196478",{"2":{"74":1}}],["191934",{"2":{"82":1,"83":2}}],["19122366809754",{"2":{"78":1}}],["191494",{"2":{"72":9}}],["191×20×30",{"2":{"17":1}}],["191×20×31",{"2":{"17":2}}],["191×20×32",{"2":{"17":1}}],["191×20×28",{"2":{"17":1}}],["190482",{"2":{"82":1}}],["19009332850891253",{"2":{"79":1}}],["190225",{"2":{"42":1}}],["190",{"2":{"42":7}}],["199484",{"2":{"82":1}}],["1999",{"2":{"25":1}}],["1998",{"2":{"25":1}}],["192183",{"2":{"24":2}}],["19",{"2":{"5":5,"45":1,"46":1,"75":3}}],["1×3",{"2":{"72":2}}],["1×2",{"2":{"5":3}}],["1×12",{"2":{"0":1}}],["153753",{"2":{"83":1}}],["153219",{"2":{"42":1}}],["15945803739833375",{"2":{"84":1}}],["159458",{"2":{"83":2}}],["15905863317294833",{"2":{"78":3}}],["15952e",{"2":{"46":1}}],["156538",{"2":{"72":3}}],["152765",{"2":{"28":1,"30":2}}],["15055904027841316",{"2":{"78":1}}],["150559",{"2":{"77":1}}],["150126",{"2":{"29":1}}],["150155",{"2":{"15":1}}],["150",{"2":{"13":3,"42":6}}],["15",{"2":{"5":3,"22":4,"45":1}}],["11925244363082943",{"2":{"84":1}}],["11996",{"2":{"29":2}}],["114915",{"2":{"83":1}}],["11115487324489237",{"2":{"78":1}}],["111155",{"2":{"77":1}}],["11773734015093373",{"2":{"78":1}}],["117737",{"2":{"77":1}}],["11787",{"2":{"75":1}}],["11×17520",{"2":{"47":1}}],["116",{"2":{"32":1}}],["11311",{"2":{"77":1}}],["113",{"2":{"22":1}}],["1151003460971078e",{"2":{"79":1}}],["115",{"2":{"22":2}}],["118",{"2":{"22":2}}],["110425",{"2":{"83":1}}],["110998",{"2":{"29":1}}],["110",{"2":{"22":2,"42":7}}],["112054",{"2":{"48":2}}],["112836",{"2":{"27":1}}],["112",{"2":{"22":1}}],["11",{"2":{"0":1,"4":1,"15":2,"17":6,"22":2,"24":4,"42":1,"46":6,"73":1,"75":3}}],["12764",{"2":{"83":1}}],["12713970284423626",{"2":{"78":1,"80":2}}],["12714",{"2":{"77":1}}],["127489",{"2":{"27":1}}],["12452",{"2":{"74":1}}],["1227",{"2":{"46":1}}],["128827",{"2":{"82":1}}],["128932",{"2":{"42":1}}],["128",{"2":{"22":1}}],["125477",{"2":{"83":1}}],["125",{"2":{"22":2}}],["125287",{"2":{"15":1}}],["12668",{"2":{"74":1}}],["126",{"2":{"22":2}}],["121746",{"2":{"83":1}}],["121186",{"2":{"27":1}}],["121",{"2":{"22":2,"32":1}}],["1208",{"2":{"46":1}}],["120",{"2":{"22":2,"42":6,"65":2}}],["12×2",{"2":{"17":1}}],["123",{"2":{"13":1,"22":2}}],["12",{"2":{"0":9,"4":1,"13":3,"14":1,"17":10,"18":1,"24":16,"32":1,"45":28,"46":15,"47":8,"48":3,"73":7,"75":5}}],["1",{"2":{"0":13,"1":8,"3":14,"4":26,"5":12,"13":32,"14":3,"15":21,"16":241,"17":19,"18":21,"20":2,"22":14,"24":28,"25":52,"27":101,"28":1,"29":4,"30":1,"31":6,"32":13,"33":10,"42":44,"43":28,"45":73,"46":48,"47":91,"48":30,"61":9,"63":12,"64":2,"65":18,"66":1,"72":98,"73":7,"75":51,"76":7,"77":24,"78":1,"79":80,"80":1,"82":14,"83":42,"84":10}}],["105273",{"2":{"48":2}}],["10×10",{"2":{"82":1,"83":27}}],["10×10×26",{"2":{"82":3}}],["10×1",{"2":{"79":30}}],["10×11",{"2":{"42":1}}],["10×6",{"2":{"76":3,"77":18,"79":12}}],["10×5",{"2":{"29":1}}],["10×7×5",{"2":{"29":1}}],["104763",{"2":{"82":1}}],["104261",{"2":{"77":1}}],["10454",{"2":{"75":1}}],["104",{"2":{"22":1}}],["10748",{"2":{"46":1}}],["107475",{"2":{"29":1}}],["1076",{"2":{"25":1}}],["107",{"2":{"22":1}}],["106224",{"2":{"27":1}}],["106",{"2":{"22":1,"32":1}}],["101231",{"2":{"72":5}}],["101×34",{"2":{"48":2}}],["101×384",{"2":{"47":2}}],["101×8030",{"2":{"47":1}}],["101×8760",{"2":{"47":1}}],["101×2856",{"2":{"47":1}}],["101×2928",{"2":{"47":3}}],["101×240",{"2":{"47":1}}],["101×0",{"2":{"47":1}}],["101×4416",{"2":{"47":5}}],["101×4320",{"2":{"47":2}}],["101×4392",{"2":{"47":2}}],["101×4368",{"2":{"47":3}}],["101×4344",{"2":{"47":2}}],["101×1",{"2":{"48":5}}],["101×1464",{"2":{"46":1}}],["101×1440",{"2":{"46":1}}],["101×1488",{"2":{"46":2}}],["101×1368",{"2":{"46":1}}],["101×17520",{"2":{"46":1}}],["101",{"2":{"22":2}}],["108592",{"2":{"24":2}}],["108",{"2":{"22":4}}],["102405",{"2":{"22":1}}],["10u",{"2":{"5":1}}],["100×28",{"2":{"83":1}}],["100×25×12",{"2":{"24":2}}],["1000×2000",{"2":{"25":1}}],["1000",{"2":{"25":3,"32":2}}],["10000",{"2":{"20":1,"32":2}}],["100u",{"2":{"5":2}}],["100",{"2":{"0":1,"3":1,"4":3,"13":10,"18":8,"24":7,"42":26,"43":14,"48":1,"67":1,"69":1,"73":2,"83":1}}],["10",{"2":{"0":7,"1":9,"3":6,"4":5,"5":19,"13":15,"14":5,"15":4,"17":2,"18":34,"22":6,"24":4,"27":10,"29":1,"41":9,"42":47,"43":28,"46":2,"63":2,"65":10,"66":1,"67":2,"69":2,"73":7,"74":5,"75":14,"76":7,"77":21,"78":1,"79":61,"82":10,"83":34,"84":10}}],["271591",{"2":{"83":1}}],["27181",{"2":{"24":2}}],["270915",{"2":{"83":1}}],["27",{"2":{"79":3}}],["278077",{"2":{"77":1}}],["27863",{"2":{"27":1}}],["276742",{"2":{"75":1}}],["27206",{"2":{"75":1}}],["294893",{"2":{"83":1}}],["294486",{"2":{"82":1}}],["296092",{"2":{"83":1}}],["296639",{"2":{"29":1}}],["291555",{"2":{"82":1}}],["291577",{"2":{"31":1}}],["29205",{"2":{"75":1}}],["293126",{"2":{"42":1}}],["290734",{"2":{"29":2}}],["299799",{"2":{"27":1}}],["295319",{"2":{"27":3}}],["295548",{"2":{"24":2}}],["298179",{"2":{"27":3}}],["298383",{"2":{"25":1}}],["29",{"2":{"22":1,"46":2,"75":2,"79":2}}],["297023",{"2":{"15":1}}],["28346307460586856",{"2":{"79":1}}],["2868262581079416",{"2":{"78":1}}],["286",{"2":{"75":1}}],["28035",{"2":{"61":2,"63":2,"65":6}}],["2855663183499576",{"2":{"78":1}}],["2858",{"2":{"31":1}}],["285965",{"2":{"25":1}}],["28438",{"2":{"31":1}}],["284399",{"2":{"28":1,"30":2}}],["28405",{"2":{"25":1}}],["28708",{"2":{"24":2}}],["28",{"2":{"22":1,"46":1,"75":2}}],["2601",{"2":{"84":1}}],["2600×5",{"2":{"83":1}}],["2600×4",{"2":{"83":2}}],["2600",{"2":{"83":3}}],["26069",{"2":{"27":3}}],["266342",{"2":{"82":1}}],["266013",{"2":{"75":1}}],["26×11",{"2":{"75":1}}],["263531",{"2":{"75":1}}],["269905",{"2":{"77":1}}],["269685",{"2":{"29":1}}],["26917",{"2":{"25":1}}],["268319",{"2":{"24":2}}],["26",{"2":{"22":2}}],["243195",{"2":{"75":1}}],["243803",{"2":{"42":1}}],["248873",{"2":{"75":1}}],["24524306337289326",{"2":{"84":1}}],["245671",{"2":{"82":1}}],["245638",{"2":{"75":1}}],["245",{"2":{"72":2}}],["24575",{"2":{"25":1}}],["2402",{"2":{"46":1}}],["2415",{"2":{"46":1}}],["2412",{"2":{"46":1}}],["241056",{"2":{"29":1}}],["24625",{"2":{"75":1}}],["246886",{"2":{"74":1}}],["2463",{"2":{"46":1}}],["246162",{"2":{"29":1}}],["246796",{"2":{"24":2}}],["247586",{"2":{"77":1}}],["247976",{"2":{"75":1}}],["247032",{"2":{"46":1,"48":2}}],["247198",{"2":{"27":1}}],["24737",{"2":{"27":2}}],["247683",{"2":{"22":1}}],["24",{"2":{"17":1,"22":1,"24":2,"45":1,"46":2,"47":2}}],["227082",{"2":{"83":1}}],["227865",{"2":{"75":1}}],["226699",{"2":{"75":1}}],["229792",{"2":{"75":1}}],["229418",{"2":{"74":1}}],["228415",{"2":{"83":1}}],["228081",{"2":{"75":1}}],["228248",{"2":{"74":1}}],["228964",{"2":{"27":3}}],["225583",{"2":{"31":1}}],["225865",{"2":{"29":1}}],["221163",{"2":{"29":1}}],["222482",{"2":{"27":2}}],["224375",{"2":{"25":1}}],["22",{"2":{"15":2,"45":1,"46":2,"83":1}}],["2a",{"2":{"14":1}}],["216905",{"2":{"75":1}}],["216524",{"2":{"22":1}}],["21316",{"2":{"61":2,"63":2,"65":6}}],["213826",{"2":{"29":1}}],["214909",{"2":{"46":1,"48":1}}],["215458",{"2":{"29":1}}],["215049",{"2":{"25":1}}],["219583",{"2":{"28":1,"30":2}}],["21149",{"2":{"27":1}}],["21714",{"2":{"24":2}}],["218579",{"2":{"15":1}}],["21",{"2":{"5":4,"15":2,"22":1,"45":1,"46":1,"73":1}}],["256817",{"2":{"83":1}}],["2599",{"2":{"83":3}}],["2598",{"2":{"83":3}}],["2597",{"2":{"83":3}}],["2596",{"2":{"83":3}}],["2595",{"2":{"83":3}}],["259597",{"2":{"75":1}}],["2594",{"2":{"83":3}}],["2571287355813575",{"2":{"78":1,"80":2}}],["257129",{"2":{"77":1}}],["257822",{"2":{"28":1,"30":2}}],["2585",{"2":{"83":3}}],["258764",{"2":{"75":1}}],["25825",{"2":{"47":4}}],["255579",{"2":{"75":1}}],["255916",{"2":{"29":1}}],["253984",{"2":{"27":1}}],["253849",{"2":{"13":2,"15":1}}],["25243",{"2":{"27":1}}],["2504949184379115",{"2":{"78":2}}],["250913",{"2":{"27":1}}],["250752",{"2":{"24":2}}],["25",{"2":{"5":2,"22":1,"24":6,"47":2,"72":2}}],["236866",{"2":{"83":1}}],["23502",{"2":{"75":1}}],["23546",{"2":{"24":2}}],["233997",{"2":{"83":1}}],["233685",{"2":{"75":1}}],["233778",{"2":{"42":1}}],["231283",{"2":{"48":2}}],["2379",{"2":{"46":1}}],["23788",{"2":{"25":1}}],["230047",{"2":{"29":1}}],["239878",{"2":{"27":1}}],["234458",{"2":{"29":1}}],["2344",{"2":{"24":2}}],["23",{"2":{"5":1,"22":1,"24":2,"32":1,"45":2,"46":2}}],["20636222545147498",{"2":{"84":1}}],["206362",{"2":{"83":2}}],["206406",{"2":{"29":1}}],["203",{"2":{"75":2}}],["201129",{"2":{"74":1}}],["201",{"2":{"72":1}}],["201734",{"2":{"24":2}}],["20758428874582302",{"2":{"84":1}}],["207584",{"2":{"83":2}}],["207735",{"2":{"75":1}}],["20779",{"2":{"25":1}}],["207882",{"2":{"61":2,"63":2,"65":6}}],["208365",{"2":{"29":1}}],["208384",{"2":{"27":1}}],["205929",{"2":{"27":1}}],["204879",{"2":{"83":1}}],["204084",{"2":{"77":1}}],["20412",{"2":{"27":1}}],["204559",{"2":{"27":1}}],["204551",{"2":{"24":2}}],["202035",{"2":{"48":2}}],["202743",{"2":{"27":2}}],["2021",{"2":{"0":25}}],["2005",{"2":{"73":1}}],["20051",{"2":{"28":1,"30":2}}],["2003",{"2":{"17":1}}],["2000",{"2":{"17":1,"24":50,"25":3,"45":32,"46":21,"48":16,"73":18}}],["2001",{"2":{"13":4,"45":28,"46":17,"48":3}}],["200",{"2":{"5":1,"13":9,"42":26,"43":14}}],["20",{"2":{"4":4,"5":18,"13":3,"17":2,"18":12,"45":1,"65":2,"74":1,"75":8,"78":1}}],["2×3",{"2":{"72":3}}],["2×3×2",{"2":{"1":1,"13":1}}],["2×10×3",{"2":{"22":2}}],["2×2",{"2":{"15":2,"72":1}}],["2×4",{"2":{"5":1,"13":4}}],["2×4×2",{"2":{"3":1}}],["2",{"2":{"0":10,"1":4,"3":3,"4":3,"5":14,"8":3,"13":16,"14":1,"15":10,"17":9,"18":10,"20":2,"22":6,"24":7,"25":5,"27":12,"28":1,"29":8,"30":2,"31":5,"32":3,"33":2,"42":8,"45":2,"46":17,"47":24,"48":6,"60":2,"61":4,"63":6,"64":3,"65":11,"72":62,"73":2,"74":1,"75":21,"77":2,"78":2,"79":5,"82":2,"83":8,"84":2}}],["==",{"2":{"18":1,"29":1,"48":1}}],["=======",{"2":{"17":2}}],["=>",{"2":{"1":10,"2":10,"3":15,"4":22,"11":6,"13":29,"17":4,"18":29,"19":2,"46":7,"47":18,"48":2,"61":1,"63":6,"65":7,"72":1,"83":1}}],["=",{"2":{"0":15,"1":4,"3":4,"4":10,"5":11,"13":7,"14":9,"15":4,"16":1,"17":7,"18":11,"20":1,"22":7,"24":5,"25":3,"27":3,"28":1,"29":2,"31":1,"32":1,"42":7,"45":3,"46":2,"47":1,"48":2,"60":3,"61":1,"63":3,"64":8,"67":1,"69":1,"72":2,"73":7,"74":1,"75":3,"76":2,"77":4,"78":84,"79":37,"80":8,"82":4}}],["few",{"2":{"63":2}}],["feb",{"2":{"47":6,"73":1}}],["fact",{"2":{"76":1}}],["facing",{"2":{"34":1}}],["facilitate",{"2":{"11":2,"73":1}}],["fails",{"2":{"24":1}}],["fail",{"2":{"23":1}}],["favours",{"2":{"67":1}}],["favour",{"2":{"18":1}}],["fale",{"2":{"43":1}}],["fallback",{"2":{"11":1}}],["falls",{"2":{"5":2,"72":1}}],["fall",{"2":{"5":2}}],["falses",{"2":{"60":1}}],["false",{"2":{"1":1,"3":6,"11":1,"13":1,"17":2,"43":27}}],["far",{"2":{"4":1}}],["fast",{"2":{"4":1,"73":1,"80":1}}],["fri",{"2":{"73":2}}],["friendly",{"2":{"26":1}}],["frequency",{"2":{"32":2}}],["freely",{"2":{"15":1}}],["freeunits",{"2":{"5":1}}],["free",{"2":{"3":1,"29":1}}],["fraction",{"2":{"17":1}}],["from",{"2":{"0":3,"1":1,"2":1,"3":3,"4":10,"5":3,"8":1,"13":3,"14":3,"15":1,"16":1,"17":7,"18":6,"20":13,"24":1,"29":1,"33":1,"35":1,"36":1,"37":1,"40":1,"41":10,"42":7,"50":1,"63":1,"72":1,"73":2,"74":1,"75":2,"80":1,"83":1}}],["further",{"2":{"39":1,"47":1}}],["future",{"2":{"4":1,"5":1,"18":1,"20":1,"71":1}}],["full",{"2":{"3":1,"4":3}}],["functionality",{"2":{"51":1}}],["functional",{"2":{"26":1}}],["functions",{"0":{"45":1,"79":1},"2":{"13":1,"17":2,"26":1,"31":1,"45":2,"63":1,"66":1,"67":1,"79":2}}],["function",{"2":{"1":4,"2":5,"3":13,"4":10,"5":2,"11":1,"13":11,"17":18,"18":13,"20":4,"39":1,"44":2,"45":2,"46":2,"47":4,"48":1,"72":1,"73":1}}],["foo",{"2":{"63":3}}],["follow",{"2":{"45":1,"66":1}}],["following",{"2":{"21":1}}],["four",{"2":{"17":2}}],["found",{"2":{"3":1,"7":1,"18":3,"30":2,"77":1}}],["forms",{"2":{"26":1}}],["formats",{"2":{"10":1}}],["format",{"0":{"40":1},"2":{"2":2,"8":1,"11":1,"35":1,"40":2}}],["forward",{"2":{"4":1,"7":1,"13":2}}],["forwardordered",{"2":{"0":6,"3":1,"4":6,"5":8,"7":3,"13":8,"15":6,"17":4,"18":11,"22":6,"24":9,"25":2,"42":15,"43":14,"46":9,"47":7,"48":5,"61":1,"63":4,"65":9,"72":28,"73":3,"74":6,"75":8,"76":2,"77":15,"78":1,"79":41,"82":6,"83":2}}],["for",{"2":{"0":12,"1":3,"2":2,"3":9,"4":40,"5":20,"7":2,"8":3,"10":1,"11":4,"13":17,"14":10,"15":5,"16":3,"17":12,"18":7,"19":3,"20":5,"24":1,"26":1,"27":2,"28":1,"29":1,"33":1,"38":1,"39":5,"41":6,"42":3,"44":1,"47":4,"50":3,"52":1,"53":1,"55":1,"56":2,"58":1,"60":1,"67":1,"71":1,"72":1,"73":1,"74":6,"76":2,"77":1,"78":2,"81":1,"83":3}}],["flexible",{"2":{"39":1}}],["float32",{"2":{"25":4}}],["float64",{"2":{"0":3,"1":1,"3":1,"4":1,"5":1,"13":9,"15":7,"16":1,"17":3,"18":15,"22":1,"24":4,"25":2,"27":12,"28":2,"29":4,"30":2,"31":2,"32":1,"42":18,"43":14,"46":9,"47":18,"48":5,"61":4,"63":4,"65":11,"72":30,"73":1,"74":1,"75":12,"76":6,"77":39,"78":9,"79":141,"82":3,"83":36}}],["flags",{"2":{"3":1}}],["final",{"2":{"47":1}}],["find",{"2":{"73":1}}],["findfirst",{"2":{"7":1}}],["finds",{"2":{"7":1}}],["fix",{"2":{"17":2}}],["fixed",{"2":{"8":1}}],["field",{"2":{"11":1,"13":1,"18":5,"39":1,"65":1}}],["fields",{"2":{"2":1,"3":1,"4":1,"6":1,"18":4,"20":1,"26":2,"39":3,"40":1}}],["firstindex",{"2":{"31":1}}],["first",{"2":{"3":3,"14":8,"18":1,"21":1,"22":1,"30":1,"42":2,"45":1,"47":1,"72":2}}],["filter",{"2":{"42":1,"43":1,"72":1}}],["filters",{"2":{"5":1}}],["fill",{"2":{"13":4,"27":4,"40":1,"73":1}}],["filled",{"2":{"2":1,"10":1}}],["file",{"2":{"0":1,"11":2,"50":1}}],["f",{"2":{"1":5,"3":10,"4":2,"5":1,"13":5,"15":3,"17":11,"18":11,"22":1,"69":1,"72":1,"83":1}}],["gc",{"2":{"32":6}}],["goals",{"0":{"26":1},"2":{"26":1}}],["got",{"2":{"24":1}}],["good",{"2":{"14":1}}],["gpus",{"0":{"25":1},"1":{"26":1},"2":{"19":1,"25":1,"56":1}}],["gpu",{"0":{"26":1},"2":{"18":2,"25":4,"26":7,"60":1}}],["gribdatasets",{"2":{"34":1}}],["grid",{"2":{"4":1}}],["gridded",{"2":{"4":1}}],["groupmeans",{"2":{"17":2}}],["grouped",{"2":{"17":1,"48":1}}],["groups",{"2":{"17":12,"46":2,"47":4}}],["groupings",{"2":{"45":1}}],["groupingfunction",{"2":{"17":2}}],["grouping",{"0":{"45":1,"46":1},"2":{"17":9,"44":4,"47":2,"48":1}}],["groupby",{"2":{"17":13,"44":1,"46":13,"47":21,"48":4}}],["group",{"0":{"17":1,"44":1},"1":{"45":1,"46":1,"47":1,"48":1},"2":{"17":9,"45":1,"46":3,"47":13,"48":2}}],["gis",{"2":{"50":2}}],["giving",{"2":{"5":1,"81":1}}],["given",{"2":{"18":1,"81":1}}],["give",{"2":{"3":2,"4":1,"5":1,"13":1,"27":1,"77":1}}],["gives",{"2":{"0":1,"14":2,"65":1}}],["github",{"2":{"4":1,"65":1}}],["guide",{"2":{"44":1}}],["guarantee",{"2":{"11":1}}],["guaranteed",{"2":{"3":1,"13":1}}],["guessed",{"2":{"2":1,"8":2}}],["guess",{"2":{"0":1,"45":1}}],["gt",{"2":{"1":2,"3":3,"5":1,"13":2,"17":1,"18":2}}],["g",{"2":{"0":1,"3":1,"4":2,"5":1,"13":1,"17":1,"22":1,"35":1,"60":1,"64":1,"69":1,"83":1}}],["geotiff",{"2":{"10":1}}],["geospatial",{"2":{"4":3,"50":1}}],["gets",{"2":{"72":2}}],["getting",{"2":{"13":1,"47":1}}],["getters",{"0":{"42":1},"1":{"43":1}}],["getter",{"2":{"4":1}}],["get",{"2":{"1":3,"2":1,"3":1,"11":3,"13":4,"16":1,"20":1,"28":1,"42":7,"72":2,"73":1,"78":1}}],["getindex",{"2":{"0":1,"3":2,"14":3,"15":1,"20":2,"30":1,"41":2}}],["generator",{"2":{"18":4}}],["generators",{"0":{"15":1},"2":{"34":1}}],["generates",{"2":{"17":7}}],["generate",{"2":{"3":1,"17":2,"20":1}}],["generated",{"2":{"3":1,"16":1,"39":1}}],["general",{"2":{"11":1}}],["generally",{"2":{"0":1}}],["generic",{"2":{"0":1,"4":1,"64":1}}],["p",{"2":{"83":1}}],["pythons",{"2":{"34":1}}],["pkg",{"2":{"21":2}}],["pkg>",{"2":{"21":2}}],["permafrost",{"2":{"55":1}}],["permutation",{"2":{"79":1}}],["permuteddimsarray",{"2":{"79":2}}],["permutedims",{"2":{"31":1,"79":3}}],["permute",{"2":{"23":1,"67":1}}],["permuting",{"2":{"18":2}}],["periods",{"2":{"17":3}}],["perform",{"2":{"31":1}}],["performed",{"2":{"4":1}}],["performance",{"0":{"32":1,"80":1},"2":{"4":3,"14":1,"50":1}}],["put",{"2":{"11":1}}],["pixels",{"2":{"5":1}}],["powerful",{"2":{"54":1,"60":1}}],["polygon",{"2":{"50":1}}],["positions",{"0":{"10":1}}],["position",{"2":{"4":1,"9":1,"10":6}}],["possible",{"2":{"4":2,"5":1,"7":1,"25":1,"31":1,"65":1,"66":1}}],["point",{"2":{"0":1,"4":2,"5":1,"9":1,"15":1,"73":1}}],["points",{"2":{"0":6,"4":7,"5":12,"8":2,"9":4,"13":5,"15":5,"17":4,"18":10,"22":4,"24":9,"25":2,"42":32,"43":28,"46":9,"47":4,"48":5,"61":2,"63":2,"65":4,"72":9,"73":1,"74":4,"75":10,"76":2,"77":15,"78":1,"79":49,"82":4,"83":2}}],["planned",{"2":{"71":1}}],["plasma",{"2":{"70":2}}],["places",{"2":{"67":2}}],["place",{"2":{"26":1,"59":1}}],["placed",{"2":{"18":1}}],["please",{"2":{"4":1}}],["plus",{"2":{"4":1}}],["plots",{"0":{"66":1,"68":1},"1":{"69":1,"70":1,"71":1},"2":{"0":1,"3":1,"11":1,"13":2,"66":2,"67":1,"71":1}}],["plotted",{"2":{"0":1,"4":1,"7":1,"9":1,"10":1}}],["plotting",{"2":{"0":1}}],["plot",{"2":{"0":3,"2":2,"66":2,"67":2}}],["printing",{"2":{"73":1}}],["principles",{"2":{"45":1}}],["prior",{"2":{"18":1}}],["primarily",{"2":{"3":1}}],["primitives",{"2":{"30":2}}],["primitive",{"0":{"3":1}}],["process",{"2":{"56":1,"64":1}}],["providing",{"2":{"50":1}}],["provides",{"2":{"42":1,"44":1,"57":1,"81":1}}],["provide",{"2":{"4":2}}],["provided",{"2":{"4":5,"5":3,"8":1,"18":2,"73":1}}],["projected",{"2":{"35":1,"50":1}}],["prod",{"2":{"31":1,"79":2}}],["probably",{"2":{"19":1,"45":1}}],["problems",{"2":{"4":1}}],["property",{"2":{"19":1}}],["properties",{"2":{"2":2,"18":1,"40":1,"73":1,"74":2}}],["programmatically",{"2":{"13":1}}],["predicates",{"0":{"43":1},"2":{"43":1}}],["predefined",{"2":{"33":1}}],["pressed",{"2":{"21":1}}],["preserved",{"2":{"18":1}}],["present",{"2":{"5":1,"15":1,"34":1}}],["prefereble",{"2":{"17":1}}],["preferable",{"2":{"17":1}}],["previously",{"2":{"18":1}}],["previous",{"2":{"3":1,"5":1}}],["precedence",{"2":{"0":1}}],["paaarnet",{"2":{"20":3,"41":3}}],["padding",{"2":{"47":1}}],["pad",{"2":{"17":6}}],["past",{"2":{"13":1}}],["pass",{"2":{"11":1,"14":1,"20":2,"40":1,"47":1,"65":1}}],["passing",{"2":{"3":2,"4":1,"17":2}}],["passed",{"2":{"0":1,"2":1,"3":4,"5":3,"15":1,"18":4,"20":1,"26":1,"39":1,"72":2}}],["partly",{"2":{"75":1}}],["part",{"2":{"20":1,"65":1}}],["parent",{"2":{"13":1,"17":2,"18":5,"20":13,"25":2,"26":1,"32":2,"40":1,"41":9,"60":5,"80":1}}],["parameters",{"2":{"3":1}}],["parameter",{"2":{"0":1,"11":1}}],["pair",{"2":{"11":1,"17":1,"18":4}}],["pairs",{"2":{"11":1,"17":1,"18":8}}],["packages",{"2":{"34":2,"35":1,"45":1,"66":1,"81":1}}],["package",{"2":{"4":1,"17":1,"21":1,"22":1,"51":1,"53":1,"54":1}}],["d=rand",{"2":{"76":1}}],["dynamicgrids",{"0":{"56":1},"2":{"26":1,"56":2}}],["dropdims",{"2":{"31":1,"79":1}}],["dropped",{"2":{"20":2,"41":2}}],["drop=true",{"2":{"18":3}}],["dd",{"2":{"5":3,"18":3,"33":1,"38":2,"45":1,"50":1,"52":1,"64":2,"65":1,"67":1,"81":1}}],["da4",{"2":{"32":1}}],["da5",{"2":{"31":2}}],["das",{"2":{"20":1}}],["daily",{"2":{"17":1}}],["dayofyear",{"2":{"45":2,"47":3}}],["dayofweek",{"2":{"45":1}}],["day",{"2":{"17":3,"45":2,"47":4}}],["days",{"2":{"4":1,"47":1}}],["da3",{"2":{"14":2}}],["da2",{"2":{"14":2,"29":5}}],["da1",{"2":{"14":2,"28":2,"29":1,"30":2}}],["da",{"2":{"4":2,"18":10,"27":2,"29":2}}],["dataframe",{"0":{"83":1},"2":{"83":8}}],["dataframes",{"0":{"81":1},"1":{"82":1,"83":1,"84":1},"2":{"5":1,"81":1,"82":1}}],["data2",{"2":{"82":1,"83":2,"84":1}}],["data2=rand",{"2":{"82":1}}],["data1",{"2":{"82":2,"83":2,"84":1}}],["dataset",{"2":{"35":2,"53":1}}],["datasets",{"0":{"14":1},"2":{"4":1,"51":1}}],["dataapi",{"2":{"17":1}}],["data=autovalues",{"2":{"4":1}}],["data",{"2":{"0":2,"1":1,"2":1,"4":17,"11":1,"13":5,"14":6,"16":1,"17":2,"18":8,"20":3,"22":2,"24":5,"25":2,"26":2,"33":1,"34":1,"39":2,"47":1,"50":2,"51":1,"52":1,"55":1,"56":1,"58":1,"60":1,"63":3,"81":1,"82":2,"83":2,"84":1}}],["date",{"2":{"4":2,"73":1}}],["datetime",{"2":{"0":13,"5":1,"13":4,"17":2,"24":19,"45":5,"46":3,"48":11,"73":10,"74":1}}],["dates",{"2":{"0":15,"4":2,"13":1,"17":1,"24":24,"45":4,"46":4,"48":12,"73":9,"82":1}}],["d",{"2":{"3":2,"4":2,"15":1,"18":3,"22":1,"63":2,"69":1,"74":3,"76":1,"77":6,"78":23,"79":28,"80":2,"83":2}}],["dsl",{"2":{"54":1}}],["dst",{"2":{"18":6}}],["ds",{"2":{"3":1,"4":2,"18":4}}],["docs",{"2":{"41":2}}],["documented",{"2":{"18":1}}],["doing",{"2":{"15":1,"47":1,"63":1,"75":1}}],["do",{"2":{"4":2,"11":1,"17":1,"18":3,"21":1,"31":1,"47":1,"61":1,"65":2}}],["doesn",{"2":{"15":1,"29":1,"30":1,"64":1}}],["does",{"2":{"4":1,"39":1,"45":1,"47":1,"77":1,"79":1,"81":1}}],["dotview",{"2":{"3":1}}],["done",{"2":{"13":1,"18":1,"81":1}}],["don",{"2":{"2":1,"4":1,"29":1,"63":1,"65":1}}],["direct",{"2":{"34":1}}],["directly",{"2":{"15":1,"32":1,"34":1,"47":1,"80":1,"84":1}}],["difficult",{"2":{"26":1}}],["different",{"0":{"70":1},"2":{"3":1,"5":3,"10":1,"11":1,"18":1,"42":1}}],["divide",{"2":{"17":1}}],["di",{"2":{"15":2}}],["dicts",{"2":{"26":1,"59":1}}],["dict",{"2":{"4":4,"11":3,"13":1,"17":3,"18":1,"27":5,"46":7,"47":11,"48":2,"63":2}}],["dictates",{"2":{"2":1}}],["discrete",{"2":{"47":1}}],["discarded",{"2":{"5":1,"13":1}}],["distinguishing",{"2":{"42":1}}],["distance",{"2":{"4":2,"5":1}}],["diskarray",{"2":{"51":1}}],["diskarrays",{"0":{"34":1},"2":{"17":1,"34":2}}],["disk",{"2":{"34":1}}],["dispatch",{"2":{"0":1,"11":1}}],["dimmatrix",{"2":{"67":1}}],["dimgroupbyarray",{"2":{"17":6,"46":1,"47":8,"48":1}}],["dimname",{"2":{"17":1}}],["dimnum",{"2":{"1":4,"13":4,"38":1}}],["dimcolumn",{"2":{"16":1}}],["dimtype",{"2":{"17":1}}],["dimtable",{"2":{"16":4,"83":4}}],["dimtuple",{"2":{"14":1,"42":4}}],["dimpoints",{"2":{"15":4}}],["dimindices",{"2":{"15":9,"29":2,"37":1,"75":1}}],["dimz",{"2":{"5":2,"14":4}}],["dimselector",{"0":{"75":1}}],["dimselectors",{"2":{"15":7,"75":3}}],["dimsmatch",{"2":{"3":2}}],["dimstoreduce",{"2":{"3":1}}],["dimstacks",{"0":{"76":1},"1":{"77":1,"78":1,"79":1,"80":1},"2":{"23":1}}],["dimstackinterface",{"2":{"20":2,"41":6}}],["dimstack",{"2":{"2":1,"14":19,"18":3,"41":7,"42":1,"60":2,"76":3,"77":11,"78":2,"79":25,"81":1,"82":2,"83":2,"84":2}}],["dims2indices",{"2":{"2":1}}],["dims=",{"2":{"18":1,"24":2}}],["dims=ti",{"2":{"0":1,"14":2,"17":1,"18":1,"31":1}}],["dims=z",{"2":{"0":1}}],["dims=y",{"2":{"0":1,"18":1,"79":11}}],["dims=x",{"2":{"0":1}}],["dims",{"0":{"23":2,"31":1,"36":1,"38":1},"1":{"24":2,"37":1,"38":1},"2":{"0":4,"1":11,"2":8,"3":13,"4":18,"5":6,"11":2,"13":42,"14":3,"15":14,"16":1,"17":9,"18":44,"20":26,"22":3,"23":3,"24":7,"25":1,"27":11,"28":3,"29":5,"30":4,"31":4,"32":1,"33":1,"35":1,"36":1,"37":1,"38":5,"39":2,"40":2,"41":17,"42":24,"43":29,"46":9,"47":19,"48":6,"60":5,"61":2,"63":4,"65":6,"72":15,"73":1,"74":1,"75":5,"76":5,"77":30,"78":5,"79":114,"82":4,"83":27}}],["dimarrays",{"0":{"27":1},"1":{"28":1,"29":1,"30":1,"31":1,"32":1},"2":{"27":1}}],["dimarrayinterface",{"2":{"20":2,"41":6}}],["dimarray",{"0":{"28":1},"2":{"0":4,"1":5,"2":1,"3":2,"4":6,"5":11,"13":37,"14":11,"15":6,"16":2,"17":10,"18":10,"22":7,"23":1,"24":8,"25":2,"26":1,"27":17,"28":4,"29":4,"30":2,"31":2,"32":1,"41":4,"42":7,"46":13,"47":39,"48":8,"55":1,"58":1,"60":3,"61":2,"63":2,"65":6,"72":16,"73":4,"74":2,"75":5,"76":1,"77":3,"82":1,"83":1}}],["dim",{"2":{"0":11,"1":2,"2":4,"3":9,"4":12,"11":2,"13":7,"16":3,"18":16,"28":1,"31":1,"33":3,"37":1,"82":1}}],["dimensionmismatch",{"2":{"24":1,"77":1}}],["dimensionality",{"2":{"18":1}}],["dimensional",{"0":{"29":1},"2":{"0":1,"3":1,"14":1,"20":2,"37":1,"44":1,"78":1}}],["dimensionaldata",{"0":{"35":1},"1":{"36":1,"37":1,"38":1,"39":1,"40":1,"41":1},"2":{"0":22,"1":9,"2":5,"3":18,"4":35,"5":21,"6":1,"7":6,"8":5,"9":3,"10":6,"11":4,"13":20,"14":3,"15":3,"16":4,"17":10,"18":16,"19":3,"20":8,"21":3,"22":1,"24":1,"25":2,"26":3,"27":1,"30":6,"33":3,"34":1,"35":1,"36":1,"39":1,"40":2,"41":10,"42":3,"44":1,"45":2,"50":1,"51":1,"59":1,"60":1,"61":1,"63":1,"67":1,"72":2,"73":1,"76":1,"81":1,"82":1}}],["dimension",{"0":{"15":1,"24":1,"28":1,"37":1,"48":1},"2":{"0":21,"1":27,"2":11,"3":32,"4":24,"5":3,"10":2,"11":2,"13":75,"14":3,"15":9,"16":7,"17":2,"18":34,"20":4,"23":1,"24":2,"27":2,"29":3,"30":1,"31":3,"33":3,"37":1,"38":5,"39":1,"40":2,"41":2,"42":6,"44":1,"46":1,"48":2,"61":1,"62":1,"63":4,"65":1,"72":2,"73":2,"74":1,"76":1,"78":1,"79":1,"81":2,"83":2}}],["dimensions",{"0":{"0":1,"33":1},"1":{"1":1,"2":1,"3":1},"2":{"0":30,"1":13,"2":7,"3":32,"4":39,"5":11,"6":1,"7":6,"8":5,"9":3,"10":8,"11":5,"13":25,"14":3,"15":5,"16":1,"17":3,"18":22,"20":6,"23":1,"24":1,"27":1,"29":4,"30":4,"32":1,"33":7,"36":2,"37":1,"41":4,"42":3,"43":2,"48":2,"62":2,"63":1,"67":1,"72":1,"74":1,"76":1,"77":1,"78":1,"81":2,"82":1,"83":2}}],["during",{"2":{"0":1,"34":1,"56":1}}],["declarative",{"2":{"61":1}}],["dec",{"2":{"47":4,"73":1}}],["december",{"2":{"17":2}}],["demo",{"2":{"45":1}}],["developers",{"2":{"39":1,"51":1}}],["development",{"2":{"34":1,"66":1}}],["devicebuffer",{"2":{"25":1}}],["dest",{"2":{"18":4}}],["descriptive",{"2":{"17":1}}],["designed",{"2":{"34":1,"35":1}}],["design",{"2":{"14":2}}],["deprecated",{"2":{"18":1,"66":1}}],["depreciated",{"2":{"5":1}}],["dependencies",{"2":{"50":1}}],["dependency",{"2":{"34":1}}],["dependent",{"2":{"0":1}}],["dependentdim",{"2":{"0":4}}],["depending",{"2":{"1":1,"13":1}}],["detect",{"2":{"4":2,"13":4,"40":1}}],["detected",{"2":{"4":4,"40":1,"73":2,"74":5}}],["determine",{"2":{"7":1,"73":1}}],["determined",{"2":{"4":1}}],["determines",{"2":{"3":1,"15":1}}],["details",{"2":{"0":1,"20":2,"33":1}}],["definition",{"2":{"20":2,"41":2}}],["defining",{"2":{"4":2}}],["defines",{"2":{"4":1,"8":1,"15":1,"18":1,"20":2,"41":3,"42":1,"54":1}}],["defined",{"2":{"3":1,"4":1,"14":1,"18":3,"33":1,"39":1,"46":1}}],["define",{"2":{"0":1,"3":1,"4":1,"9":1,"17":1,"24":1,"27":1,"42":1,"46":1,"74":1,"75":1,"82":1}}],["default",{"0":{"69":1},"2":{"0":1,"1":3,"3":11,"4":7,"10":1,"13":4,"15":2,"17":5,"19":1,"66":1,"67":1}}],["w",{"2":{"83":1}}],["would",{"2":{"15":2,"23":1,"42":1,"47":1}}],["wont",{"2":{"5":1}}],["works",{"2":{"4":1,"18":1,"23":1,"30":2,"47":2,"56":1,"77":2}}],["work",{"2":{"2":1,"4":4,"5":1,"10":2,"11":1,"13":1,"14":1,"17":1,"18":1,"23":1,"26":3,"30":3,"33":1,"39":2,"45":1,"51":1,"64":1,"66":1,"67":2,"73":1,"79":1}}],["working",{"2":{"1":1,"14":2}}],["word",{"2":{"0":1}}],["want",{"2":{"20":2,"21":1,"42":1,"47":2,"61":1,"65":2}}],["way",{"2":{"4":1,"18":1,"39":1,"63":1,"65":1}}],["warning",{"2":{"3":2,"30":2,"63":1}}],["warn",{"2":{"3":2}}],["whose",{"2":{"18":3}}],["whole",{"2":{"5":2}}],["what",{"2":{"18":1,"42":2,"45":1,"47":1,"61":1,"63":1,"65":1}}],["whatever",{"2":{"15":1,"42":1}}],["whitespace",{"2":{"17":2}}],["which",{"2":{"4":1,"17":1,"18":5,"23":1,"31":1,"42":1,"50":1,"70":1,"72":3,"75":1}}],["whichever",{"2":{"3":1}}],["while",{"2":{"3":1,"11":1,"14":2,"15":1}}],["wherever",{"2":{"18":1,"47":1}}],["where",{"2":{"3":4,"4":9,"5":7,"7":1,"8":2,"9":1,"10":2,"11":1,"14":1,"18":4,"31":1,"42":1,"47":1,"60":1,"63":1,"72":4,"74":1}}],["whether",{"2":{"1":1,"13":1}}],["whenever",{"2":{"26":1}}],["when",{"2":{"0":5,"2":1,"4":6,"5":2,"11":1,"14":2,"15":1,"17":3,"18":1,"19":1,"26":1,"29":1,"30":1,"37":1,"40":1,"47":1,"73":1,"74":1,"77":1}}],["write",{"2":{"84":2}}],["writing",{"2":{"3":1,"18":1}}],["wraps",{"2":{"37":1}}],["wrapping",{"2":{"3":1,"4":1,"42":5,"51":1,"73":4}}],["wrapper",{"2":{"4":4,"11":1,"17":1,"18":2,"19":2,"33":1,"47":1,"63":1}}],["wrappers",{"2":{"0":2,"4":1,"5":1,"11":2,"19":1,"27":2,"29":1,"60":1}}],["wrapped",{"2":{"3":2,"17":1,"18":1,"33":1,"64":1}}],["wrap",{"2":{"0":2,"17":3,"33":3,"73":1}}],["weds",{"2":{"73":2}}],["were",{"2":{"30":2}}],["well",{"2":{"16":1,"29":1,"72":2}}],["weeks",{"2":{"4":1}}],["week",{"2":{"4":1}}],["we",{"2":{"0":1,"4":3,"5":1,"14":1,"15":2,"17":2,"18":2,"23":3,"24":1,"27":2,"28":1,"29":2,"33":1,"41":2,"42":1,"45":1,"46":3,"47":13,"48":2,"51":1,"61":2,"72":3,"73":6,"74":1,"75":4,"77":2,"78":3,"83":2,"84":1}}],["winter",{"2":{"47":1}}],["wish",{"2":{"5":1}}],["wider",{"2":{"40":1}}],["wide",{"2":{"4":1,"50":1,"81":1}}],["widely",{"2":{"1":1}}],["within",{"2":{"5":1,"15":1,"72":2}}],["without",{"2":{"3":1,"4":2,"11":1,"14":1,"18":2,"29":1,"39":1,"60":1,"64":1,"73":1,"78":1}}],["with",{"0":{"28":1,"71":1},"2":{"0":3,"1":5,"2":2,"3":10,"4":13,"5":10,"7":1,"8":1,"10":8,"11":1,"13":12,"14":8,"15":7,"16":1,"17":7,"18":10,"20":3,"21":1,"23":2,"24":2,"25":1,"26":1,"27":1,"28":1,"29":3,"30":2,"31":1,"32":3,"33":5,"34":1,"37":1,"39":2,"41":2,"42":1,"43":1,"44":3,"46":8,"47":11,"48":3,"51":2,"52":1,"60":2,"62":1,"63":5,"64":1,"66":2,"67":1,"72":10,"73":1,"74":2,"75":3,"77":5,"78":2,"79":1,"80":1,"81":1,"83":1}}],["will",{"2":{"0":7,"1":1,"2":2,"3":6,"4":13,"5":7,"7":2,"8":2,"10":3,"11":2,"13":10,"14":7,"16":1,"17":6,"18":11,"29":2,"38":2,"39":2,"42":1,"44":1,"45":2,"63":1,"64":1,"66":1,"67":3,"72":1,"73":2,"79":1,"83":2}}],["btime",{"2":{"80":2}}],["blue",{"2":{"70":1,"71":1}}],["block",{"2":{"20":1}}],["blocks",{"2":{"20":1,"47":2}}],["blockwidth",{"2":{"20":4}}],["b=rand",{"2":{"76":1}}],["b=falses",{"2":{"60":1}}],["b=1",{"2":{"22":1,"28":1}}],["building",{"2":{"34":1}}],["but",{"2":{"0":1,"1":2,"3":9,"4":4,"5":1,"8":1,"11":1,"13":2,"14":3,"15":3,"17":6,"20":2,"24":1,"25":1,"29":2,"30":1,"34":2,"35":1,"42":1,"45":1,"47":1,"48":1,"50":1,"54":1,"61":1,"62":1,"63":2,"64":1,"65":1,"67":1,"72":1,"73":2,"74":1,"75":1}}],["bitmatrix",{"2":{"60":2}}],["bit",{"2":{"22":1}}],["bin",{"2":{"47":4}}],["binning",{"0":{"47":1},"2":{"17":2}}],["bins",{"2":{"17":15,"44":1,"47":5}}],["bar",{"2":{"63":3}}],["bayesian",{"2":{"53":1}}],["band",{"2":{"16":2}}],["backend",{"2":{"26":1}}],["back",{"2":{"5":1,"11":1}}],["basic",{"2":{"30":1}}],["basics",{"0":{"22":1}}],["basically",{"2":{"3":1,"17":1,"63":1}}],["base",{"2":{"3":2,"5":2,"13":10,"14":3,"17":1,"18":7,"20":4,"23":1,"26":1,"30":1,"41":2,"73":2,"79":1}}],["basetypeof",{"2":{"3":5}}],["basedims",{"2":{"3":2}}],["based",{"2":{"2":1,"20":1,"34":1,"63":1}}],["brackets",{"2":{"63":1}}],["break",{"2":{"47":1}}],["breaking",{"2":{"4":1,"20":1,"64":1}}],["broken",{"2":{"65":1}}],["brought",{"2":{"33":1}}],["broadcasts",{"2":{"23":1,"26":1,"79":1}}],["broadcast",{"0":{"23":2},"1":{"24":2},"2":{"17":3,"18":6,"23":4,"24":6,"25":1,"34":1,"79":2}}],["broadcasting",{"2":{"3":1,"18":1,"46":1}}],["bonus",{"2":{"23":1}}],["box",{"2":{"20":1,"66":1}}],["boundaries",{"2":{"5":1}}],["bounds",{"2":{"4":9,"8":6,"42":8,"73":1,"74":2}}],["both",{"2":{"4":1,"34":2,"51":1,"62":1,"77":1}}],["bool",{"2":{"1":3,"3":6,"4":2,"5":1,"13":11,"17":1,"60":7,"72":2}}],["bytes",{"2":{"32":2,"80":2}}],["by",{"0":{"17":1,"44":1,"48":1},"1":{"45":1,"46":1,"47":1,"48":1},"2":{"0":1,"1":2,"3":13,"4":8,"5":4,"9":1,"13":2,"15":1,"17":8,"18":1,"24":1,"28":1,"32":2,"33":1,"34":1,"39":2,"46":2,"47":2,"48":3,"67":1,"70":1,"72":4}}],["b",{"2":{"0":7,"3":4,"4":2,"5":5,"13":9,"14":3,"15":1,"18":4,"22":3,"28":3,"30":2,"33":2,"48":3,"60":2,"61":2,"63":5,"64":3,"65":3,"66":1,"67":1,"69":2,"70":1,"72":27,"74":3,"75":3,"76":1,"77":4,"78":23,"79":40,"80":2,"83":2}}],["best",{"2":{"65":1}}],["benchmarktools",{"2":{"32":3,"80":1}}],["benchmark",{"2":{"32":3}}],["become",{"2":{"83":1}}],["becomes",{"2":{"16":2}}],["because",{"2":{"17":2,"23":1}}],["behaves",{"2":{"15":2,"35":1}}],["behaviour",{"2":{"4":4,"5":1,"6":1,"14":2,"17":1,"40":1,"66":1,"73":1,"76":1}}],["behaviours",{"2":{"4":1,"51":1,"64":1}}],["begin+1",{"2":{"30":1}}],["beginendsteprange",{"2":{"10":2}}],["beginendrange",{"2":{"10":2}}],["begin",{"0":{"30":1},"2":{"10":4,"30":2}}],["better",{"2":{"5":1}}],["between",{"2":{"0":1,"4":5,"5":18,"10":1,"11":1,"13":1,"14":2}}],["been",{"2":{"2":1,"3":1,"14":1,"18":1}}],["be",{"2":{"0":5,"1":5,"2":4,"3":10,"4":33,"5":14,"6":1,"7":2,"8":3,"10":4,"11":3,"13":10,"14":4,"15":3,"17":9,"18":11,"19":1,"20":3,"21":1,"24":1,"26":4,"29":3,"30":1,"31":1,"33":3,"35":1,"37":1,"39":1,"40":1,"45":1,"47":1,"59":1,"60":2,"61":1,"63":1,"65":1,"72":2,"73":3,"74":2,"77":1,"79":1}}],["ecosystem",{"2":{"81":1}}],["edges",{"2":{"47":1}}],["edge",{"2":{"17":2}}],["equally",{"2":{"17":1}}],["equivalent",{"2":{"14":1,"15":1,"18":2}}],["estimate",{"2":{"32":4}}],["essentially",{"2":{"15":1,"17":1}}],["especially",{"2":{"15":1,"67":1}}],["effects",{"2":{"13":2}}],["enforce",{"2":{"76":1}}],["entries",{"2":{"63":2}}],["entry",{"2":{"17":3,"46":7,"47":11,"48":2}}],["engine",{"2":{"56":1}}],["enables",{"2":{"34":1}}],["enable",{"2":{"8":1}}],["end",{"0":{"30":1},"2":{"5":4,"9":1,"10":6,"17":3,"18":1,"30":3,"42":1}}],["evaluations",{"2":{"32":2}}],["evaluated",{"2":{"5":1}}],["everything",{"2":{"35":1,"59":1,"63":1}}],["everywhere",{"2":{"33":1}}],["every",{"2":{"4":1,"5":1,"8":1,"18":2}}],["even",{"2":{"4":1,"15":1,"23":1,"30":1,"64":1,"73":1,"79":1}}],["error",{"2":{"3":1,"5":2,"24":1,"29":2,"63":1,"77":1}}],["errors",{"2":{"2":1,"3":1}}],["empty",{"2":{"3":1,"13":2,"20":2,"41":2,"74":1}}],["eltype",{"2":{"18":2,"60":2,"76":4,"77":22,"78":4,"79":88,"82":2,"83":26}}],["else",{"2":{"2":1,"17":1,"59":1,"63":1}}],["element",{"2":{"0":1,"2":1,"13":2,"17":2,"22":1,"24":3,"28":1,"29":2,"30":1,"42":2,"45":8,"46":7,"47":13,"48":1,"72":3,"73":3,"77":1,"78":2,"79":1,"84":1}}],["either",{"2":{"1":1,"2":1,"3":1,"4":2,"11":1,"13":2,"15":1,"17":4}}],["early",{"2":{"20":2}}],["easiest",{"2":{"39":1}}],["easier",{"2":{"19":1,"38":1}}],["easily",{"2":{"0":1,"4":1,"35":2,"63":1}}],["eachindex",{"2":{"37":2}}],["eachslice",{"2":{"18":4,"24":2,"31":1,"48":1}}],["each",{"2":{"0":1,"3":2,"4":5,"5":1,"8":1,"14":1,"15":2,"16":1,"17":1,"24":1,"42":2,"46":1,"66":1,"73":1,"78":1,"80":1,"83":3}}],["except",{"2":{"26":1}}],["exact",{"2":{"4":1,"9":1,"15":2,"17":1}}],["exactly",{"2":{"4":1,"5":1,"47":1,"72":1}}],["examples",{"2":{"0":2,"18":2,"35":2}}],["example",{"0":{"24":1,"82":1},"2":{"0":5,"1":4,"3":2,"4":5,"5":7,"13":12,"14":2,"15":2,"16":1,"17":2,"18":6,"24":1,"26":1,"39":1,"42":1}}],["extrema",{"2":{"31":1,"79":2}}],["extra",{"2":{"0":1,"74":1}}],["extent",{"2":{"42":9}}],["extents",{"2":{"42":2}}],["extensible",{"2":{"35":1,"39":1}}],["extension",{"2":{"23":1,"54":1}}],["extends",{"2":{"50":1,"52":1}}],["extend",{"2":{"14":1}}],["extended",{"2":{"4":1,"20":2,"35":2}}],["extending",{"0":{"35":1},"1":{"36":1,"37":1,"38":1,"39":1,"40":1,"41":1},"2":{"4":3,"36":1}}],["exploratory",{"2":{"53":1}}],["explicit",{"2":{"4":1,"8":1,"41":1}}],["explicitly",{"2":{"4":2,"8":1,"17":1}}],["expected",{"2":{"18":1}}],["exported",{"0":{"1":1,"2":1}}],["existing",{"2":{"5":1,"18":1,"20":1,"44":1}}],["exists",{"2":{"3":1,"50":1}}],["exist",{"2":{"2":1,"59":1}}],["e",{"2":{"0":1,"3":1,"4":2,"5":2,"13":1,"15":1,"17":1,"22":1,"35":1,"48":1,"60":1,"64":1,"69":1,"70":1,"74":3,"77":2,"83":1}}],["etc",{"2":{"0":2,"3":1,"14":1,"18":1}}],["l",{"2":{"42":2,"61":2,"63":2,"65":3,"73":9,"83":1}}],["lj",{"2":{"34":1}}],["lick",{"2":{"72":1}}],["line",{"2":{"66":1}}],["linearmap",{"2":{"4":1}}],["list",{"2":{"17":1,"70":1}}],["listed",{"2":{"8":1,"43":1,"63":1}}],["little",{"2":{"5":1,"22":1}}],["lies",{"2":{"14":2}}],["lie",{"2":{"5":1}}],["likely",{"2":{"4":1,"20":2}}],["like",{"0":{"77":1,"78":1},"2":{"0":1,"3":2,"4":5,"5":2,"13":1,"14":1,"15":4,"17":2,"18":3,"19":1,"29":3,"31":1,"33":1,"37":1,"40":1,"42":2,"47":3,"50":1,"61":1,"62":1,"63":1,"65":1,"72":6,"74":1,"75":2,"76":1,"77":1,"79":1}}],["legend",{"2":{"66":1}}],["less",{"2":{"47":1}}],["letting",{"2":{"33":1}}],["let",{"2":{"32":1}}],["lets",{"2":{"11":1,"19":1,"40":1,"45":2,"46":1,"47":1}}],["left",{"2":{"20":1,"22":3}}],["leans",{"2":{"25":1}}],["leave",{"2":{"13":1}}],["leaves",{"2":{"3":1}}],["leap",{"2":{"4":1}}],["least",{"2":{"3":1,"20":4}}],["level",{"2":{"3":2}}],["length=365",{"2":{"45":1}}],["lengths",{"2":{"3":1,"24":1,"77":1}}],["length",{"2":{"0":1,"3":6,"4":5,"8":1,"13":4,"17":4,"20":3,"37":1,"41":2,"81":1}}],["lazily",{"2":{"81":1}}],["lazy",{"2":{"16":1,"34":1}}],["largest",{"2":{"79":1,"81":1}}],["large",{"2":{"51":1}}],["larger",{"2":{"24":1}}],["language",{"2":{"25":1}}],["lastindex",{"2":{"31":1}}],["last",{"2":{"17":2,"30":1,"42":1}}],["layermetadata",{"2":{"20":1,"63":1}}],["layerdims",{"2":{"20":5,"41":2,"63":1}}],["layernames=nothing",{"2":{"16":1}}],["layered",{"2":{"14":2}}],["layer",{"2":{"14":5,"18":2,"26":2,"29":1,"78":1,"79":1,"81":2,"83":1}}],["layersfrom=",{"2":{"83":2}}],["layersfrom=nothing",{"2":{"14":1,"16":1}}],["layersfrom",{"2":{"16":1}}],["layers",{"2":{"14":9,"16":1,"18":6,"60":2,"76":4,"77":9,"78":2,"79":28,"80":2,"81":2,"82":1,"83":1}}],["layout",{"2":{"0":1}}],["later",{"2":{"17":1}}],["latitude",{"2":{"0":1}}],["lat",{"2":{"0":1}}],["labelled",{"2":{"66":1}}],["labelling",{"2":{"13":1}}],["labels=x",{"2":{"47":2}}],["labels",{"2":{"11":1,"17":21,"67":1}}],["label",{"2":{"0":3,"2":5,"33":1}}],["lt",{"2":{"0":12,"1":2,"3":4,"5":1,"13":2,"17":14,"38":3,"56":1,"57":1,"78":1}}],["lot",{"2":{"47":1,"71":1}}],["log",{"2":{"32":1}}],["losing",{"2":{"17":2,"60":1}}],["looping",{"2":{"81":1}}],["loop",{"2":{"81":1}}],["look",{"2":{"45":1}}],["lookuparray",{"2":{"65":1}}],["lookupdim",{"2":{"18":1}}],["lookupcomponent",{"2":{"18":1}}],["lookuptrait",{"2":{"6":1,"7":1,"8":1,"9":1,"10":1,"18":1}}],["lookups",{"0":{"4":1,"73":1},"1":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1},"2":{"2":3,"3":2,"4":34,"5":11,"6":1,"7":6,"8":5,"9":3,"10":6,"11":4,"13":1,"15":2,"18":2,"27":1,"33":2,"37":1,"42":1,"50":1,"61":1,"72":1,"73":4,"74":1,"75":1}}],["lookup",{"0":{"6":1,"74":1},"1":{"7":1,"8":1,"9":1,"10":1},"2":{"0":4,"1":1,"2":13,"3":2,"4":52,"5":1,"6":2,"7":6,"9":1,"10":4,"13":9,"15":2,"17":2,"18":11,"35":3,"37":1,"40":3,"42":18,"43":8,"47":2,"62":1,"63":1,"65":1,"72":2,"73":10,"74":4,"76":1}}],["loosely",{"2":{"6":1}}],["location",{"2":{"9":1}}],["located",{"2":{"5":1}}],["locus",{"2":{"0":1,"4":13,"5":3,"9":2,"10":5,"42":6}}],["lowerbound",{"2":{"8":1}}],["lower",{"2":{"5":1,"8":1}}],["low",{"2":{"3":1}}],["long",{"2":{"38":1,"39":1,"80":1}}],["longitudes",{"2":{"4":1}}],["longitude",{"2":{"0":1}}],["longer",{"2":{"0":1,"3":1,"4":1}}],["lon",{"2":{"0":1}}],["loading",{"2":{"0":1}}],["load",{"2":{"0":1,"4":1,"45":1,"50":1,"57":1}}],["csv",{"0":{"84":1},"2":{"81":1,"84":5}}],["c=rand",{"2":{"76":1}}],["cryogridoutput",{"2":{"55":1}}],["cryogrid",{"0":{"55":1},"2":{"55":2}}],["crs",{"2":{"50":1}}],["create",{"2":{"4":2,"10":2,"13":4,"17":1,"18":3,"22":1,"25":1,"45":2,"65":1,"72":1,"73":5}}],["created",{"2":{"0":1}}],["creating",{"2":{"0":1,"27":1}}],["c54bc6c",{"2":{"17":2}}],["climate",{"2":{"52":1}}],["climatebase",{"0":{"52":1},"2":{"52":1}}],["cloud",{"2":{"34":1}}],["closest",{"2":{"72":1}}],["closely",{"2":{"51":1}}],["close",{"2":{"20":3,"72":1}}],["closed",{"2":{"5":3,"47":35}}],["closedinterval",{"2":{"5":1}}],["clashes",{"2":{"0":1,"5":1}}],["cycling",{"2":{"4":1}}],["cyclical",{"2":{"73":1}}],["cyclicbins",{"2":{"17":4}}],["cyclic",{"2":{"4":5,"17":1,"73":5}}],["cycle=month",{"2":{"73":1}}],["cycle=24",{"2":{"47":1}}],["cycle=12",{"2":{"47":3}}],["cycles",{"2":{"17":1,"73":1}}],["cycled",{"2":{"4":3}}],["cycle",{"2":{"4":9,"17":5}}],["cua2",{"2":{"25":2}}],["cua",{"2":{"25":2}}],["cuarray",{"2":{"18":1,"25":2,"60":1}}],["cuda",{"0":{"25":1},"1":{"26":1},"2":{"25":2,"26":1}}],["current",{"2":{"4":1,"13":1}}],["curresponding",{"2":{"4":2}}],["customise",{"2":{"64":1}}],["custom=dd",{"2":{"18":1}}],["custom=10",{"2":{"18":1}}],["custom",{"2":{"0":4,"3":1,"16":2,"17":1,"18":9,"26":1,"35":2,"48":1}}],["center",{"2":{"5":5,"9":2,"10":4,"42":7,"65":1,"74":1}}],["central",{"2":{"0":1}}],["cellular",{"2":{"56":1}}],["cells",{"2":{"9":1,"10":1,"72":1}}],["cell",{"2":{"3":1,"5":1}}],["choosing",{"2":{"72":1}}],["choose",{"2":{"39":1,"66":1}}],["chosen",{"2":{"2":1,"15":1,"17":2}}],["child",{"2":{"18":1}}],["chunked",{"2":{"34":1}}],["chunk",{"2":{"17":1}}],["channel",{"2":{"22":1}}],["channel=",{"2":{"22":1}}],["changing",{"2":{"4":1,"18":1,"64":1}}],["changes",{"2":{"20":1}}],["change",{"2":{"3":1,"4":4,"18":5,"65":1}}],["changed",{"2":{"3":1}}],["char",{"2":{"0":1,"3":1,"4":1,"15":2,"22":1,"61":2,"63":2,"65":3,"74":1,"82":2,"83":3}}],["check=true",{"2":{"3":1}}],["check",{"2":{"1":2,"3":1,"4":1,"5":1,"13":2,"21":1,"63":1}}],["cost",{"2":{"32":1}}],["cover",{"2":{"44":1}}],["cov",{"2":{"31":1}}],["core",{"2":{"63":1}}],["cor",{"2":{"31":1}}],["correctly",{"2":{"41":2}}],["correct",{"2":{"4":2,"5":1,"10":1,"26":1}}],["corresponding",{"2":{"4":1}}],["correspond",{"2":{"3":1,"10":3}}],["coordinate",{"2":{"35":1}}],["coordinatetransformations",{"2":{"4":2}}],["coordination",{"2":{"34":1}}],["coords",{"2":{"18":2}}],["copy",{"2":{"18":8}}],["code",{"2":{"14":2,"20":2,"25":1}}],["coded",{"2":{"6":1}}],["could",{"2":{"5":1,"24":1,"47":1}}],["counted",{"2":{"5":1}}],["colours",{"2":{"70":1}}],["color=",{"2":{"70":2,"71":1}}],["color",{"2":{"70":1}}],["colormap",{"0":{"69":1,"70":1},"2":{"70":2}}],["colormap=",{"2":{"67":1}}],["colon",{"2":{"2":2,"3":1,"14":1}}],["collected",{"2":{"81":1}}],["collection",{"2":{"76":1}}],["collect",{"2":{"60":1}}],["column",{"2":{"16":2,"83":3}}],["columns",{"2":{"1":1,"8":1,"13":1,"16":3,"81":2,"83":3}}],["command",{"2":{"21":1}}],["commands",{"2":{"21":1}}],["commondatamodel",{"2":{"34":1}}],["commondims",{"2":{"3":5}}],["commonly",{"2":{"4":1}}],["common",{"2":{"0":2,"4":1,"17":1,"24":1,"45":1,"50":1,"63":1}}],["compile",{"2":{"80":1}}],["compilation",{"2":{"80":1}}],["components",{"2":{"20":4,"41":4}}],["compatibility",{"0":{"34":1}}],["compatible",{"2":{"16":1}}],["comparing",{"2":{"3":1}}],["comparisons",{"2":{"3":2}}],["compare",{"2":{"3":6}}],["compared",{"2":{"3":1}}],["comparedims",{"2":{"3":4}}],["complicated",{"2":{"5":1,"22":1}}],["combines",{"2":{"5":1,"42":1}}],["combined",{"2":{"4":1,"15":1,"18":1,"29":1,"62":1}}],["combinedims",{"2":{"3":1}}],["combine",{"2":{"3":1,"16":1}}],["combinations",{"2":{"15":2}}],["combination",{"2":{"1":1,"13":1,"34":2}}],["confusing",{"2":{"39":1}}],["confused",{"2":{"5":1}}],["consistency",{"2":{"76":1}}],["consistent",{"2":{"42":1}}],["consecutive",{"2":{"29":2}}],["constraint",{"2":{"29":1}}],["constructing",{"0":{"28":1},"2":{"40":1}}],["constructionbase",{"2":{"18":1,"39":2,"64":2}}],["construction",{"2":{"4":1,"10":1}}],["construct",{"2":{"16":1}}],["constructors",{"2":{"13":1,"40":2}}],["constructor",{"2":{"4":1,"14":1,"25":1,"63":1}}],["constructed",{"2":{"0":1,"3":1,"4":1,"14":1,"20":2,"36":1}}],["const",{"2":{"5":1,"18":1,"45":1}}],["concatenate",{"2":{"18":4}}],["concrete",{"2":{"0":1,"1":2,"3":3,"4":2,"13":3,"14":1}}],["converging",{"2":{"51":1}}],["conversion",{"2":{"11":1}}],["conversions",{"2":{"10":1}}],["converting",{"0":{"83":1,"84":1}}],["convertible",{"2":{"26":1}}],["converts",{"2":{"2":1,"26":1}}],["convert",{"2":{"2":1,"3":1,"4":1,"26":1,"73":1}}],["converted",{"2":{"0":1,"3":1,"4":1,"16":1,"26":1}}],["controlled",{"2":{"70":1}}],["contents",{"2":{"11":1}}],["contexts",{"2":{"4":3}}],["context",{"2":{"3":1,"4":1,"13":1,"20":1}}],["contained",{"2":{"4":1,"5":1,"15":1,"59":1}}],["contain",{"2":{"2":1,"5":2,"18":2}}],["contains",{"2":{"1":1,"4":2,"5":9,"13":1,"15":2,"17":1,"18":1,"72":2,"75":1}}],["containing",{"2":{"1":1,"3":1,"13":2}}],["cairomakie",{"2":{"67":1}}],["caveats",{"2":{"63":1}}],["cartesianindex",{"2":{"29":2}}],["cartesianindices",{"2":{"15":4,"29":1,"75":1}}],["category",{"2":{"82":5,"83":10,"84":1}}],["categorises",{"2":{"11":1}}],["categories",{"2":{"4":3,"73":1}}],["categorical",{"2":{"0":2,"3":2,"4":8,"5":3,"13":3,"15":2,"22":2,"47":4,"61":2,"63":2,"65":4,"67":1,"72":15,"73":5,"74":3,"82":2}}],["cat",{"2":{"18":2,"31":1}}],["cases",{"2":{"35":1,"37":1}}],["case",{"2":{"18":1,"65":1}}],["calculate",{"2":{"17":1}}],["call",{"2":{"20":1,"47":1}}],["calling",{"2":{"18":1,"38":1,"40":1}}],["callable",{"2":{"17":1}}],["called",{"2":{"3":2,"26":1,"40":1}}],["captions",{"2":{"13":1}}],["capable",{"2":{"4":1}}],["caution",{"2":{"5":1}}],["cant",{"2":{"73":1}}],["cannot",{"2":{"7":1}}],["can",{"2":{"0":2,"1":4,"2":3,"3":7,"4":18,"5":5,"10":3,"11":2,"13":9,"14":2,"15":4,"16":1,"17":9,"18":6,"21":1,"23":1,"24":1,"27":1,"28":1,"29":4,"30":2,"31":2,"33":5,"35":1,"39":1,"41":2,"42":1,"43":1,"45":3,"46":2,"47":7,"48":2,"59":1,"60":1,"63":2,"64":1,"70":1,"72":7,"73":1,"74":2,"75":4,"77":3,"79":1,"80":1,"83":2,"84":1}}],["c",{"2":{"0":6,"3":2,"4":2,"13":9,"15":3,"18":3,"22":2,"48":2,"61":2,"63":2,"65":3,"66":1,"67":1,"69":1,"72":33,"74":3,"75":2,"76":1,"77":8,"78":23,"79":28,"80":2,"82":3,"83":2}}],["zarr",{"2":{"34":1}}],["zip",{"2":{"34":1}}],["zero",{"2":{"20":2,"72":1,"78":1}}],["zeros",{"2":{"0":1,"13":6,"18":1,"27":4,"41":2}}],["z=dd",{"2":{"18":1}}],["z=",{"2":{"18":1}}],["zdim",{"2":{"0":4}}],["z",{"2":{"0":8,"1":9,"3":4,"13":9,"18":12,"29":13,"33":3,"41":2,"65":2,"67":1,"82":4,"83":22,"84":9}}],["yaxarray",{"2":{"35":1,"51":1}}],["yaxarrays",{"0":{"51":1},"2":{"34":1,"51":1}}],["y=near",{"2":{"78":1}}],["y=not",{"2":{"72":1}}],["y=4",{"2":{"78":1,"80":1}}],["y=where",{"2":{"72":1}}],["y=at",{"2":{"72":2}}],["y=begin+1",{"2":{"30":1}}],["y=end",{"2":{"30":1}}],["y=dimarray",{"2":{"18":1}}],["y=>isodd",{"2":{"17":2}}],["yet",{"2":{"10":1,"20":2}}],["yearday",{"2":{"45":1}}],["yearmonthday",{"2":{"45":1}}],["yearmonth",{"2":{"45":1}}],["year",{"2":{"4":4,"17":1,"45":1}}],["years",{"2":{"4":3}}],["your",{"2":{"5":1,"18":1,"22":1,"39":2}}],["yourdimarray",{"2":{"39":1}}],["yourdim",{"2":{"0":1}}],["you",{"2":{"4":2,"5":1,"16":1,"18":2,"20":2,"21":4,"30":1,"31":1,"33":1,"39":1,"42":2,"45":1,"47":1,"59":1,"63":4,"65":4,"73":1,"77":1}}],["ydim",{"2":{"0":7}}],["y",{"2":{"0":16,"1":12,"3":8,"4":9,"5":15,"13":26,"14":2,"15":13,"16":2,"17":4,"18":12,"24":8,"25":2,"27":24,"29":7,"30":2,"31":3,"32":3,"33":3,"41":3,"42":31,"43":22,"60":8,"61":3,"63":2,"65":10,"67":2,"69":1,"72":16,"74":3,"75":8,"76":10,"77":34,"78":4,"79":92,"82":10,"83":32,"84":1}}],["xy",{"2":{"83":2}}],["xarray",{"2":{"34":1}}],["xz",{"2":{"29":1}}],["x2",{"2":{"18":2}}],["x1",{"2":{"18":2}}],["x=not",{"2":{"72":1}}],["x=near",{"2":{"72":2}}],["x=where",{"2":{"72":1}}],["x=touches",{"2":{"72":1}}],["x=interval",{"2":{"72":1}}],["x=openinterval",{"2":{"72":1}}],["x=1",{"2":{"72":2,"78":1,"80":1}}],["x=contains",{"2":{"72":2}}],["x=at",{"2":{"72":3,"78":2}}],["x=all",{"2":{"5":1}}],["x=>",{"2":{"48":1}}],["x=>bins",{"2":{"47":2}}],["x=begin",{"2":{"30":1}}],["x=begin+1",{"2":{"30":1}}],["x=dimarray",{"2":{"18":1}}],["xs",{"2":{"2":1,"3":2,"4":6,"11":1,"13":2,"16":1}}],["xdim",{"2":{"0":7}}],["x3c",{"2":{"0":10,"4":12,"5":9,"7":6,"8":4,"9":3,"10":6,"11":2,"13":3,"14":1,"15":3,"16":2,"17":3,"19":2,"20":2,"32":2}}],["x",{"2":{"0":17,"1":27,"2":9,"3":22,"4":28,"5":31,"11":6,"13":65,"14":3,"15":17,"16":5,"17":2,"18":25,"24":8,"25":2,"27":24,"29":18,"30":2,"31":3,"32":3,"33":6,"39":1,"41":4,"42":29,"43":23,"45":3,"46":3,"47":14,"48":3,"60":8,"61":4,"63":5,"65":8,"66":1,"67":3,"69":1,"72":25,"73":7,"74":3,"75":8,"76":10,"77":25,"79":96,"82":10,"83":32,"84":1}}],["ideal",{"2":{"47":1}}],["identity",{"2":{"17":2,"47":2}}],["identical",{"2":{"4":2,"11":1,"76":1}}],["io",{"2":{"20":11}}],["images",{"2":{"57":1}}],["immutable",{"2":{"18":1,"26":1,"39":1,"65":1}}],["improving",{"2":{"65":1}}],["imperative",{"2":{"61":1}}],["implements",{"2":{"41":4,"81":1}}],["implemented",{"2":{"38":1,"41":2}}],["implement",{"2":{"14":1,"39":1,"81":1}}],["implementation",{"2":{"4":2,"14":1,"41":4,"55":1}}],["implementations",{"2":{"0":1}}],["important",{"2":{"4":3}}],["ignoring",{"2":{"13":1}}],["ignores",{"2":{"67":1}}],["ignore",{"2":{"3":2,"33":1,"39":1}}],["ignored",{"2":{"3":1}}],["irregular",{"2":{"4":3,"5":6,"8":5,"13":1,"15":2,"17":4,"18":2,"46":7,"47":6,"72":6,"73":3,"74":1,"75":4}}],["i",{"2":{"2":2,"3":3,"15":1,"22":1,"37":1,"38":1,"48":1,"69":1,"70":1,"83":1}}],["if",{"2":{"0":1,"1":2,"2":3,"3":5,"4":8,"5":3,"11":2,"13":2,"14":1,"15":2,"17":1,"18":6,"21":1,"37":1,"39":1,"42":1,"59":1,"63":2,"65":1,"67":1,"75":1,"78":2,"79":1}}],["isend",{"2":{"43":5}}],["isexplicit",{"2":{"43":5}}],["ispoints",{"2":{"43":6}}],["isintervals",{"2":{"43":6}}],["isreverse",{"2":{"43":5}}],["isregular",{"2":{"42":2,"43":5}}],["isforward",{"2":{"43":5}}],["isordered",{"2":{"43":6}}],["iscenter",{"2":{"43":5}}],["iscyclic",{"2":{"43":6}}],["iscategorical",{"2":{"43":7}}],["isstart",{"2":{"43":5}}],["issampled",{"2":{"43":7}}],["issue",{"2":{"4":1,"65":1}}],["isbits",{"2":{"19":1,"26":1}}],["isa",{"2":{"14":1}}],["isapprox",{"2":{"5":1}}],["is",{"2":{"0":7,"1":3,"2":4,"3":14,"4":31,"5":8,"6":1,"7":3,"8":2,"10":1,"11":2,"13":7,"14":3,"15":6,"17":13,"18":11,"19":3,"20":5,"21":1,"23":2,"25":3,"26":2,"30":2,"31":1,"33":1,"34":3,"35":2,"38":2,"39":5,"41":3,"42":6,"47":3,"48":1,"50":4,"51":3,"53":2,"54":1,"56":1,"57":1,"60":1,"61":1,"62":1,"63":3,"64":1,"65":3,"66":2,"70":1,"71":1,"72":7,"73":2,"74":5,"76":2,"80":2,"81":1,"83":1}}],["iter",{"2":{"22":1}}],["iter=1",{"2":{"22":1}}],["iterates",{"2":{"18":2}}],["iterate",{"2":{"15":1}}],["iterator",{"2":{"14":2}}],["iteration",{"2":{"14":2,"34":1}}],["its",{"2":{"13":1,"17":2,"18":3,"26":1,"35":1,"51":1,"54":1,"65":1}}],["it",{"2":{"0":1,"2":1,"3":2,"4":11,"5":3,"7":1,"11":1,"13":1,"14":2,"15":1,"17":4,"18":6,"19":2,"20":1,"21":3,"27":1,"29":1,"30":1,"31":1,"32":1,"33":2,"34":1,"37":1,"38":1,"39":1,"41":2,"42":1,"45":1,"47":2,"50":1,"51":1,"54":1,"61":1,"63":1,"65":2,"67":1,"72":3,"73":1,"77":2}}],["inverts",{"2":{"77":1}}],["invalid",{"2":{"29":1}}],["inferno",{"2":{"67":1}}],["information",{"2":{"4":3,"13":1,"42":1}}],["inner",{"2":{"18":1,"20":1,"60":2}}],["inbuilt",{"2":{"18":1}}],["initially",{"2":{"14":2}}],["inaccurate",{"2":{"8":1}}],["including",{"2":{"7":1,"34":1,"72":1}}],["included",{"2":{"3":1,"5":1,"11":1,"47":1}}],["include",{"2":{"2":1,"3":2,"5":1,"20":1,"72":1,"73":1}}],["installed",{"2":{"21":1}}],["install",{"2":{"21":1}}],["installation",{"0":{"21":1}}],["instead",{"2":{"5":2,"7":1,"11":1,"17":1,"30":1,"67":1,"75":1}}],["inside",{"2":{"5":1,"30":1,"72":1}}],["inserted",{"2":{"0":1}}],["inputs",{"2":{"38":1,"40":1}}],["input",{"2":{"3":1,"5":1,"8":1,"70":1}}],["inds",{"2":{"29":2}}],["individual",{"2":{"15":1}}],["indicate",{"2":{"5":1,"10":1,"31":1}}],["indicates",{"2":{"4":2,"7":3,"9":1,"10":1,"11":1}}],["indicating",{"2":{"4":5}}],["indices",{"2":{"2":2,"5":4,"13":1,"15":3,"18":2,"33":1,"72":3,"73":1,"75":1}}],["independent",{"2":{"0":1,"4":1}}],["independentdim",{"2":{"0":5}}],["indexes",{"2":{"72":1}}],["indexed",{"2":{"4":2,"14":2}}],["indexing",{"0":{"29":1,"30":1,"77":1,"78":1},"2":{"0":2,"4":4,"13":3,"14":2,"15":1,"28":1,"29":4,"30":3,"32":1,"50":1,"72":7,"78":1,"80":3}}],["index",{"2":{"0":2,"3":3,"4":5,"5":8,"6":1,"7":4,"8":4,"9":2,"10":5,"13":6,"14":2,"15":4,"16":2,"18":5,"29":2,"30":1,"33":1,"72":3,"75":1,"78":1}}],["inherits",{"2":{"51":1}}],["inherit",{"2":{"0":1,"1":1,"13":1}}],["int8",{"2":{"22":5}}],["intselectors",{"2":{"5":1}}],["intselector",{"2":{"5":4}}],["intentionally",{"2":{"34":1}}],["intended",{"2":{"5":1}}],["integrate",{"2":{"34":1}}],["integrations",{"0":{"49":1},"1":{"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1}}],["integration",{"0":{"26":1}}],["integers",{"2":{"45":1,"47":1}}],["integer",{"2":{"3":1,"13":4,"17":9,"38":1}}],["inteface",{"2":{"20":2}}],["interoperability",{"2":{"81":1}}],["interpolate",{"2":{"15":1}}],["interpolation",{"2":{"15":3,"75":1}}],["interact",{"2":{"5":1}}],["intermediate",{"2":{"5":1}}],["interfaces",{"0":{"41":1},"2":{"20":2,"41":5}}],["interface",{"0":{"16":1,"20":1,"41":1},"2":{"3":1,"20":4,"34":1,"35":1,"64":1,"81":2,"84":1}}],["internally",{"2":{"63":1}}],["internal",{"0":{"20":1},"2":{"3":1,"18":1}}],["intervalbounds",{"2":{"42":4,"72":1}}],["interval",{"2":{"0":1,"4":5,"5":12,"8":1,"9":2,"10":4,"15":1,"17":2,"42":2,"47":9,"72":3,"73":1,"74":1}}],["intervalsets",{"2":{"5":2,"17":1,"47":6,"72":2,"74":1}}],["intervals",{"2":{"0":1,"4":13,"5":10,"8":3,"9":4,"10":1,"15":1,"17":5,"42":1,"47":7,"65":2,"72":14,"73":6,"74":2}}],["int",{"2":{"1":5,"2":2,"5":1,"13":5,"14":2,"16":1,"17":5,"30":2,"31":1,"33":1,"38":1,"47":1,"72":4}}],["int64",{"2":{"0":2,"4":2,"5":11,"13":2,"15":2,"17":3,"18":3,"22":4,"24":5,"27":2,"29":6,"42":17,"43":14,"45":12,"46":11,"47":5,"65":2,"73":3,"74":1,"75":3,"82":4,"83":8}}],["into",{"2":{"0":3,"4":3,"15":2,"16":1,"17":1,"18":1,"25":1,"26":1,"33":2,"47":4,"55":1,"62":1,"67":1,"80":1}}],["in",{"2":{"0":7,"1":3,"2":2,"3":13,"4":12,"5":10,"7":3,"8":2,"9":1,"10":2,"11":2,"13":5,"14":6,"15":5,"17":6,"18":24,"19":1,"20":11,"23":1,"26":1,"29":2,"30":4,"31":1,"33":1,"34":2,"35":2,"37":1,"39":2,"40":2,"41":10,"42":2,"47":4,"59":1,"63":5,"64":1,"65":2,"66":1,"67":2,"71":1,"72":6,"73":3,"76":1,"79":2,"80":1,"81":1}}],["hundreds",{"2":{"81":1}}],["humidity",{"2":{"18":6}}],["histogram",{"2":{"32":2}}],["hierarchy",{"2":{"0":1}}],["h",{"2":{"22":1,"69":1,"83":1}}],["heatmap",{"2":{"67":1}}],["head",{"2":{"17":2}}],["her",{"2":{"47":1}}],["here",{"2":{"14":1,"15":1,"18":1,"27":1,"28":1,"47":2,"63":1,"67":1,"73":3}}],["helper",{"2":{"47":1}}],["help",{"2":{"20":2}}],["having",{"2":{"18":1}}],["have",{"2":{"0":1,"4":3,"8":2,"11":1,"13":1,"14":2,"16":1,"17":2,"18":4,"21":1,"29":1,"34":1,"35":1,"36":1,"37":1,"39":1,"47":1,"65":1,"67":1,"76":1,"83":1}}],["hard",{"2":{"6":1}}],["haskey",{"2":{"11":2}}],["hasselection",{"2":{"4":2}}],["hasn",{"2":{"2":1}}],["has",{"2":{"1":1,"3":2,"4":1,"11":1,"13":3,"14":1,"18":4,"26":1,"32":1,"37":1,"39":2,"40":1,"42":1,"74":1}}],["hasdim",{"2":{"1":6,"13":6}}],["hold",{"2":{"17":1,"37":1,"73":1,"74":1}}],["holds",{"2":{"4":4,"14":1,"73":1}}],["holding",{"2":{"1":1,"2":1,"8":1,"13":9,"15":1,"17":2,"62":1,"75":1}}],["however",{"2":{"5":1,"18":1}}],["how",{"2":{"4":2,"7":2,"33":1,"45":1,"61":1}}],["hours",{"2":{"17":4,"47":2}}],["hour",{"2":{"0":1,"17":1,"45":4,"46":1,"47":2,"48":3}}],["slower",{"2":{"80":1}}],["slowly",{"2":{"51":1}}],["slightly",{"2":{"47":1}}],["slicing",{"2":{"3":1}}],["sliced",{"2":{"14":1,"18":1}}],["slicedims",{"2":{"3":2,"13":1}}],["slices",{"2":{"13":1,"18":4}}],["slice",{"2":{"3":1,"13":1,"18":1}}],["smaller",{"2":{"28":1}}],["synchronisation",{"2":{"56":1}}],["symmetry",{"2":{"33":1}}],["symbol",{"2":{"1":1,"2":1,"3":4,"4":7,"11":1,"13":11,"14":6,"16":1,"17":3,"18":3,"19":3,"22":1,"38":2,"40":1,"42":1,"46":7,"47":15,"48":2,"63":2,"72":15,"74":2,"77":2,"81":1}}],["symbols",{"2":{"0":1,"1":1,"2":1,"3":1,"4":5,"11":1,"13":3,"26":1,"28":1,"31":1}}],["system",{"2":{"26":1,"35":1}}],["scalar",{"2":{"78":1}}],["scalars",{"2":{"24":3,"78":1}}],["scaled",{"2":{"24":4}}],["scale",{"2":{"24":1}}],["scaling",{"0":{"24":1}}],["scope",{"2":{"0":1,"4":1,"33":1}}],["src",{"2":{"18":4,"30":2}}],["sat",{"2":{"73":2}}],["save",{"2":{"50":1}}],["saving",{"2":{"11":2}}],["samples",{"2":{"9":1,"32":2}}],["sampled",{"2":{"0":6,"4":16,"5":8,"9":1,"13":5,"15":4,"17":4,"18":11,"22":4,"24":9,"25":2,"35":1,"42":24,"43":28,"46":9,"47":7,"48":5,"61":2,"63":2,"65":8,"72":13,"73":7,"74":3,"75":10,"76":2,"77":15,"78":1,"79":49,"82":4,"83":2}}],["sampling=dd",{"2":{"5":2}}],["sampling=intervals",{"2":{"4":2,"73":3}}],["sampling=points",{"2":{"4":2}}],["sampling",{"0":{"9":1},"2":{"0":1,"2":1,"3":1,"4":15,"5":1,"8":1,"9":6,"15":1,"18":1,"42":5,"63":1,"74":1}}],["same",{"2":{"0":2,"3":3,"4":1,"5":2,"11":1,"13":4,"15":2,"17":1,"18":3,"27":1,"29":1,"32":1,"37":2,"39":1,"42":1,"45":1,"66":1,"76":1,"81":1}}],["sharing",{"2":{"14":1}}],["share",{"2":{"14":1,"76":1}}],["shift",{"2":{"4":2}}],["shiftlocus",{"2":{"4":1}}],["show",{"2":{"20":9,"73":1}}],["shows",{"2":{"13":1}}],["shown",{"2":{"2":1}}],["should",{"2":{"2":1,"5":1,"13":1,"18":1,"20":2,"21":1,"37":1,"38":1,"39":1,"73":1,"83":1}}],["shortcuts",{"2":{"27":1}}],["shorthand",{"2":{"13":1,"73":1}}],["short",{"2":{"0":1}}],["swapping",{"2":{"18":1}}],["swap",{"2":{"3":1}}],["swapdims",{"2":{"3":3}}],["specialisations",{"2":{"17":1}}],["specify",{"2":{"10":5,"17":4,"18":2,"31":1,"33":1,"47":1,"65":1,"73":1,"83":1}}],["specifying",{"2":{"4":1,"9":1,"73":1}}],["specifies",{"2":{"7":1,"19":1,"29":1,"42":1}}],["specified",{"2":{"2":1,"3":1,"4":1,"13":1,"74":1}}],["specifically",{"2":{"18":1}}],["specific",{"2":{"4":5,"6":1,"8":1,"9":1,"33":1,"61":1}}],["space",{"2":{"18":2}}],["spaced",{"2":{"17":1}}],["spacing",{"2":{"4":2}}],["span=irregular",{"2":{"73":1}}],["span=regular",{"2":{"4":1,"73":1}}],["span=autospan",{"2":{"4":2}}],["span",{"0":{"8":1},"2":{"4":15,"8":7,"42":5,"63":1,"74":1}}],["spatial",{"2":{"0":1,"34":1,"50":1,"51":1,"56":2,"83":1}}],["signature",{"2":{"39":1}}],["sits",{"2":{"29":1}}],["sizes",{"2":{"47":1}}],["size",{"2":{"2":1,"3":1,"4":5,"8":1,"17":1,"18":8,"20":5,"24":1,"31":2,"41":3,"48":2,"60":2,"76":4,"77":22,"78":3,"79":88,"81":1,"82":2,"83":26}}],["single",{"2":{"1":8,"3":2,"4":1,"5":2,"9":1,"13":8,"14":1,"17":1,"18":1,"30":1,"39":1,"42":1,"62":1,"72":1,"78":1,"80":1}}],["simultaneously",{"2":{"62":1}}],["simulations",{"2":{"56":1}}],["simulation",{"2":{"56":1}}],["simulataneously",{"2":{"14":1}}],["similar",{"2":{"0":1,"4":1,"7":1,"9":1,"15":1,"48":1,"60":1}}],["simpler",{"2":{"45":1}}],["simple",{"2":{"44":1}}],["simply",{"2":{"0":1,"4":1,"5":1,"11":1,"13":1,"20":1,"42":1,"75":1}}],["simplicity",{"2":{"0":1}}],["st2",{"2":{"77":2}}],["st",{"2":{"60":4,"76":1,"77":8,"78":4,"79":35,"82":1,"83":2,"84":1}}],["storage",{"2":{"50":1}}],["stored",{"2":{"13":1,"76":1}}],["std",{"2":{"31":1,"79":2}}],["style",{"2":{"26":1}}],["still",{"2":{"11":1,"25":1,"30":1,"65":1}}],["standard",{"2":{"81":1}}],["standards",{"2":{"10":1}}],["status",{"2":{"21":2}}],["statistics",{"2":{"14":2,"24":1,"45":1,"79":1}}],["stage",{"2":{"20":2}}],["stack",{"2":{"14":2,"18":10,"20":4,"41":2,"60":1,"79":1,"80":1,"81":2}}],["stacks",{"2":{"14":1,"18":5,"80":1,"83":1,"84":1}}],["starts",{"2":{"60":1}}],["start=6",{"2":{"47":4}}],["start=1",{"2":{"47":1}}],["start=12",{"2":{"47":1}}],["start=january",{"2":{"47":1}}],["start=0",{"2":{"17":1}}],["start=dates",{"2":{"17":2}}],["starting",{"2":{"8":1,"47":2}}],["start",{"2":{"0":2,"4":6,"5":3,"9":1,"10":4,"17":9,"22":1,"42":1,"47":4,"72":5,"73":7}}],["stripped",{"2":{"26":1}}],["strings",{"2":{"5":1}}],["string",{"2":{"2":4,"3":1,"4":1,"13":1,"20":1,"47":2,"63":2,"73":3,"74":1,"84":1}}],["string=string",{"2":{"0":1}}],["strongly",{"2":{"18":1}}],["struct",{"2":{"3":1,"18":1,"59":2}}],["step=12",{"2":{"47":1}}],["step=2",{"2":{"47":1}}],["step=3",{"2":{"47":2}}],["step=hour",{"2":{"45":1}}],["step=autostep",{"2":{"8":1}}],["steps",{"2":{"17":1}}],["step",{"2":{"3":1,"4":1,"8":2,"17":7,"18":1,"74":1}}],["s",{"2":{"0":1,"1":4,"2":1,"3":4,"5":16,"13":5,"14":3,"16":1,"17":1,"18":5,"19":1,"20":1,"32":1,"34":1,"51":1,"72":2,"83":1}}],["series",{"0":{"68":1},"1":{"69":1,"70":1,"71":1},"2":{"58":1,"69":1,"70":2,"71":1}}],["sep",{"2":{"47":6,"73":2}}],["separate",{"2":{"2":1,"50":1}}],["sequential",{"2":{"17":1}}],["seamlessly",{"2":{"26":1}}],["sea",{"2":{"18":4}}],["seasons",{"2":{"17":4,"47":5}}],["searched",{"2":{"7":1}}],["searchsortedfirst",{"2":{"7":1}}],["searchsorted",{"2":{"7":1}}],["sections",{"2":{"17":1}}],["second",{"2":{"0":1,"2":1,"4":4,"11":1,"13":2}}],["sense",{"2":{"5":1,"50":1,"63":1}}],["seed",{"2":{"13":1}}],["see",{"2":{"3":1,"14":1,"24":1,"41":2,"45":1,"47":1}}],["select",{"0":{"48":1},"2":{"18":2,"48":1,"72":2,"73":1,"75":1}}],["selections",{"2":{"5":1}}],["selectindices",{"2":{"2":1}}],["selects",{"2":{"5":2,"72":1}}],["selected",{"2":{"5":1,"17":5,"72":2}}],["selectors=near",{"2":{"15":1,"75":1}}],["selectorss",{"2":{"4":2}}],["selectors",{"0":{"5":1,"72":1},"1":{"73":1,"74":1,"75":1},"2":{"2":1,"4":12,"5":8,"8":1,"13":1,"14":1,"15":6,"30":1,"73":2,"74":1,"75":3,"78":1}}],["selector",{"2":{"0":1,"2":2,"4":3,"5":13,"33":1,"39":1,"63":1,"72":2,"77":1}}],["setproperties",{"2":{"18":1,"64":1}}],["setting",{"2":{"18":1}}],["setindex",{"2":{"14":1,"30":1}}],["setdims",{"2":{"3":3}}],["set",{"0":{"65":1},"2":{"0":1,"4":6,"5":1,"8":1,"11":2,"13":13,"18":18,"63":1,"65":11,"72":2,"74":3}}],["sounds",{"2":{"38":1}}],["sources",{"2":{"4":1,"18":7,"50":1}}],["source",{"2":{"0":15,"1":5,"2":5,"3":12,"4":23,"5":10,"6":1,"7":6,"8":5,"9":3,"10":6,"11":4,"13":16,"14":2,"15":3,"16":2,"17":9,"18":16,"19":3,"20":6}}],["solution",{"2":{"17":2}}],["so",{"2":{"4":2,"5":1,"18":1,"23":1,"29":1,"42":1,"47":1,"64":1,"73":1,"81":1,"83":1}}],["sorted",{"2":{"5":1,"17":2}}],["sortdims",{"2":{"3":1}}],["sort",{"2":{"3":3}}],["sometimes",{"2":{"47":1,"65":1}}],["something",{"2":{"17":1,"22":1}}],["somewhere",{"2":{"14":2,"63":1}}],["some",{"2":{"0":1,"4":1,"13":1,"14":1,"17":1,"24":1,"33":1,"37":1,"39":1,"45":2,"76":1,"80":1,"82":1}}],["sun",{"2":{"73":2}}],["surface",{"2":{"18":4}}],["sure",{"2":{"15":2}}],["surprising",{"2":{"14":2}}],["summer",{"2":{"47":1}}],["summary",{"2":{"41":2}}],["sum",{"2":{"14":1,"17":1,"31":3,"46":1,"79":5}}],["succinct",{"2":{"14":2}}],["such",{"2":{"0":2,"2":1,"4":1,"5":1,"10":1,"17":2}}],["supporting",{"2":{"84":1}}],["support",{"2":{"66":1}}],["supplied",{"2":{"5":1}}],["supertypes",{"2":{"3":1}}],["supertype=dimension",{"2":{"0":1}}],["supertype",{"2":{"0":8,"4":5,"5":3,"6":1,"7":1,"10":1,"11":1,"13":2,"14":1,"16":1,"19":1}}],["submodule",{"2":{"33":1}}],["subset",{"2":{"18":2,"77":1}}],["subsetting",{"2":{"5":1}}],["subtypes",{"2":{"20":1}}],["subtype",{"2":{"13":1}}],["sub",{"2":{"0":2}}],["tue",{"2":{"73":2}}],["tuples",{"2":{"3":4,"4":1,"15":1,"17":2,"29":2,"40":1,"42":1,"45":1,"62":1}}],["tuple",{"2":{"1":22,"2":8,"3":34,"4":32,"8":2,"11":5,"13":42,"14":3,"15":8,"17":2,"18":10,"20":5,"29":3,"36":1,"40":1,"41":2,"42":6,"45":4,"46":3,"72":1,"77":1,"79":4,"83":2}}],["twice",{"2":{"5":1}}],["two",{"2":{"3":1,"4":2,"5":1,"13":4,"14":2,"16":1,"26":1,"47":1,"72":1,"76":1}}],["tell",{"2":{"61":1}}],["testable",{"2":{"41":1}}],["testing",{"0":{"41":1},"2":{"41":2}}],["test",{"0":{"68":1},"1":{"69":1,"70":1,"71":1},"2":{"20":4,"41":4}}],["tested",{"2":{"20":2}}],["temporal",{"2":{"56":1}}],["tempo",{"2":{"45":9,"46":1}}],["temp",{"2":{"18":4}}],["term",{"2":{"6":1,"42":1}}],["terms",{"2":{"4":1}}],["text",{"2":{"3":1,"20":2}}],["tries",{"2":{"65":1}}],["trivially",{"2":{"48":1}}],["trial",{"2":{"32":2}}],["try",{"2":{"18":1}}],["treated",{"2":{"17":1}}],["treat",{"2":{"16":1}}],["track",{"2":{"13":1}}],["tracking",{"2":{"4":1,"8":1,"11":1}}],["trait",{"2":{"6":1,"18":1}}],["traits",{"0":{"6":1},"1":{"7":1,"8":1,"9":1,"10":1},"2":{"3":1,"4":1,"6":2,"7":1,"18":1,"73":1}}],["transforming",{"2":{"17":1,"18":1}}],["transform",{"2":{"4":1,"45":1,"63":1}}],["transformation",{"2":{"4":3}}],["transformations",{"2":{"3":1,"4":1,"13":1}}],["transformed",{"2":{"4":4}}],["transpose",{"2":{"0":1,"31":2,"79":1}}],["transect",{"2":{"0":1}}],["true",{"2":{"1":4,"3":3,"13":4,"14":1,"17":2,"18":1,"29":1,"41":89,"43":21}}],["typ",{"2":{"0":2}}],["typeof",{"2":{"18":1,"25":1,"73":2}}],["typed",{"2":{"18":1}}],["typemax",{"2":{"4":1}}],["typemin",{"2":{"4":1}}],["type",{"2":{"0":16,"1":6,"2":3,"3":15,"4":16,"5":10,"6":1,"7":6,"8":6,"9":3,"10":6,"11":5,"13":9,"14":3,"15":3,"16":4,"17":3,"18":4,"19":4,"20":2,"26":1,"29":1,"38":2,"40":1,"42":1,"63":1,"65":1,"84":1}}],["types",{"2":{"0":6,"1":5,"2":1,"3":8,"4":7,"5":1,"6":1,"10":1,"11":2,"13":7,"16":1,"18":2,"30":1,"31":2,"33":2,"35":2,"45":1,"50":1,"54":1,"74":2}}],["tabular",{"2":{"81":1}}],["table",{"2":{"16":1,"83":1}}],["tabletraits",{"0":{"16":1},"2":{"16":1}}],["tables",{"0":{"16":1,"81":1},"1":{"82":1,"83":1,"84":1},"2":{"0":1,"13":1,"16":4,"81":2,"84":1}}],["taking",{"2":{"47":1}}],["taken",{"2":{"15":1}}],["take",{"2":{"0":1,"4":2,"5":1,"14":1,"17":2,"46":1,"70":1,"72":3,"80":1,"83":1}}],["target",{"2":{"15":2}}],["t",{"2":{"0":1,"2":2,"3":2,"4":10,"11":1,"15":1,"24":3,"29":2,"30":1,"63":1,"64":1,"65":1,"74":1,"75":1,"83":1}}],["title",{"2":{"20":5}}],["ti=>",{"2":{"48":1}}],["ti=>cyclicbins",{"2":{"47":4}}],["ti=>bins",{"2":{"47":8}}],["ti=>yearday",{"2":{"46":2}}],["ti=>yearmonth",{"2":{"46":2}}],["ti=>yearmonthday",{"2":{"46":2}}],["ti=>hour",{"2":{"46":2}}],["ti=>dayofyear",{"2":{"46":2}}],["ti=>month",{"2":{"17":6,"46":3}}],["ti=2",{"2":{"15":1}}],["ti=all",{"2":{"5":1}}],["time=1",{"2":{"22":1}}],["timeseriestools",{"0":{"58":1},"2":{"58":1}}],["times",{"2":{"0":1,"46":1,"76":1}}],["timedime",{"2":{"0":1}}],["timedim",{"2":{"0":4,"3":1}}],["time",{"0":{"24":1},"2":{"0":4,"4":1,"14":1,"17":1,"18":1,"20":1,"22":1,"32":6,"46":1,"58":1,"80":1}}],["ti",{"2":{"0":14,"1":1,"3":3,"5":3,"13":5,"15":1,"16":2,"17":6,"18":8,"24":9,"31":3,"33":1,"46":10,"47":23,"48":5,"67":1}}],["though",{"2":{"80":1}}],["those",{"2":{"5":1,"18":2,"33":1,"63":1}}],["thur",{"2":{"73":2}}],["think",{"2":{"65":1}}],["thing",{"2":{"65":2}}],["things",{"2":{"20":2,"25":1,"59":1,"60":1,"63":2,"74":1}}],["this",{"2":{"0":1,"2":3,"3":6,"4":13,"5":6,"7":1,"8":1,"10":2,"11":2,"14":4,"15":2,"16":2,"17":8,"18":7,"19":1,"20":3,"21":1,"25":1,"26":2,"29":1,"30":1,"31":1,"33":1,"34":1,"37":1,"38":1,"40":1,"41":1,"42":1,"44":1,"47":5,"56":1,"60":2,"63":1,"65":1,"66":1,"72":1,"74":2,"76":1,"79":1,"80":1}}],["through",{"2":{"13":1,"54":1}}],["throw",{"2":{"29":1}}],["throws",{"2":{"5":1}}],["throwing",{"2":{"3":1}}],["thrown",{"2":{"2":1,"3":1,"5":1,"63":1}}],["three",{"2":{"4":2,"14":2,"17":1,"47":1}}],["than",{"2":{"3":1,"4":2,"5":2,"9":1,"17":3,"26":1,"38":1,"39":1,"47":1,"59":1,"61":1,"72":1,"80":1}}],["that",{"2":{"0":3,"1":2,"2":2,"3":1,"4":13,"5":15,"7":4,"8":3,"9":2,"10":1,"11":1,"13":8,"14":4,"15":4,"17":4,"18":9,"21":1,"23":2,"26":2,"27":1,"30":1,"33":1,"35":1,"36":1,"37":1,"38":1,"39":3,"42":2,"45":2,"63":1,"73":2,"74":1,"76":1,"81":1,"83":1}}],["then",{"2":{"18":1,"72":1,"74":1}}],["their",{"2":{"3":2,"14":2,"18":3,"42":1,"50":1}}],["there",{"2":{"2":2,"4":2,"13":4,"18":1,"23":1,"27":1,"39":1,"42":1,"47":1,"65":1,"73":1,"80":1}}],["these",{"2":{"0":3,"1":1,"3":2,"4":4,"6":2,"7":1,"8":1,"9":1,"10":1,"13":2,"14":1,"15":2,"16":1,"17":2,"29":1,"33":1,"35":1,"38":1,"39":3,"43":1,"63":1,"73":2,"75":1}}],["they",{"2":{"0":1,"2":1,"3":2,"4":3,"5":2,"10":2,"11":1,"13":1,"15":2,"18":3,"20":2,"26":1,"29":1,"33":2,"34":1,"59":1,"63":1,"66":1,"73":1,"74":3,"81":1}}],["them",{"2":{"0":1,"4":1,"11":1,"26":1,"29":1,"42":1,"46":1,"47":1,"72":1,"73":1}}],["the",{"0":{"24":1},"2":{"0":20,"1":13,"2":8,"3":44,"4":85,"5":41,"6":3,"7":9,"8":7,"9":7,"10":9,"11":6,"13":49,"14":24,"15":16,"16":4,"17":50,"18":63,"19":4,"20":9,"21":3,"22":1,"23":2,"24":3,"25":9,"26":5,"27":1,"28":1,"29":6,"30":4,"31":3,"32":2,"33":6,"34":1,"35":1,"37":7,"38":3,"39":6,"40":4,"41":4,"42":11,"43":1,"45":5,"46":4,"47":10,"50":1,"51":1,"55":1,"59":3,"60":4,"61":1,"62":1,"63":7,"64":4,"65":9,"66":4,"67":5,"70":2,"72":11,"73":9,"74":6,"75":1,"76":3,"77":2,"78":1,"79":5,"81":10,"83":3,"84":1}}],["tolerance",{"2":{"72":1}}],["todo",{"2":{"48":1,"65":1}}],["tools",{"2":{"34":1,"50":2,"57":1}}],["too",{"2":{"26":1,"54":1,"63":1}}],["together",{"2":{"23":1}}],["top",{"2":{"20":1,"29":1}}],["total",{"2":{"17":1}}],["touched",{"2":{"72":1}}],["touches",{"2":{"5":7,"72":2}}],["touch",{"2":{"5":2}}],["touching",{"2":{"5":1}}],["tosort",{"2":{"3":4}}],["to",{"0":{"83":1,"84":1},"2":{"0":8,"1":5,"2":4,"3":17,"4":35,"5":12,"6":1,"8":1,"9":2,"10":12,"11":5,"13":19,"14":8,"15":5,"16":1,"17":17,"18":32,"19":2,"20":6,"21":3,"23":2,"24":3,"25":2,"26":10,"29":1,"30":2,"31":3,"33":5,"34":3,"35":4,"37":1,"38":1,"39":3,"40":1,"41":2,"42":1,"43":1,"45":2,"47":7,"48":2,"50":1,"56":1,"57":1,"59":1,"60":5,"61":2,"63":3,"65":6,"66":2,"72":3,"73":4,"74":3,"76":1,"77":1,"79":1,"80":2,"81":2,"84":1}}],["jan",{"2":{"47":4,"73":1}}],["january",{"2":{"17":2,"47":1}}],["jarring",{"2":{"14":2}}],["jump",{"0":{"54":1},"2":{"54":1}}],["jul",{"2":{"47":6,"73":1}}],["juliaprint",{"2":{"20":2}}],["juliaposition",{"2":{"10":1}}],["juliapoints",{"2":{"9":1}}],["juliahours",{"2":{"17":1}}],["juliahasselection",{"2":{"4":1}}],["juliahasdim",{"2":{"1":1,"13":1}}],["juliaranges",{"2":{"17":1}}],["juliareorder",{"2":{"18":1}}],["juliarebuild",{"2":{"18":1,"20":1,"39":1}}],["juliarefdims",{"2":{"13":1,"20":1}}],["juliaregular",{"2":{"8":1}}],["juliareverseordered",{"2":{"7":1}}],["juliareducedims",{"2":{"3":1}}],["juliagroupby",{"2":{"17":1}}],["juliamakie",{"2":{"67":1,"70":2,"71":1}}],["juliamap",{"2":{"14":1}}],["juliamodify",{"2":{"18":1}}],["juliamonths",{"2":{"17":1}}],["juliamergedims",{"2":{"18":3}}],["juliamergedlookup",{"2":{"4":1}}],["juliametadata",{"2":{"11":1,"13":1}}],["juliamean",{"2":{"0":4,"14":1}}],["juliafunction",{"2":{"14":1}}],["juliaforwardordered",{"2":{"7":1}}],["juliaformat",{"2":{"2":1,"40":1}}],["juliaend",{"2":{"10":1}}],["juliaexplicit",{"2":{"8":1}}],["juliairregular",{"2":{"8":1}}],["juliaintervals",{"2":{"9":1,"17":1}}],["juliaintselector",{"2":{"5":1}}],["juliaindependentdim",{"2":{"0":1}}],["juliawhere",{"2":{"5":1}}],["juliaordered",{"2":{"7":1}}],["juliaorder",{"2":{"4":1,"7":1}}],["juliaotherdims",{"2":{"1":1,"13":1}}],["juliab",{"2":{"69":1}}],["juliablockwidth",{"2":{"20":1}}],["juliabroadcast",{"2":{"18":2}}],["juliabins",{"2":{"17":1}}],["juliabegin",{"2":{"10":1}}],["juliabetween",{"2":{"5":1}}],["juliabounds",{"2":{"4":1}}],["juliabase",{"2":{"13":4,"18":5}}],["juliabasedims",{"2":{"3":1}}],["juliabasetypeof",{"2":{"3":1}}],["julianame",{"2":{"13":1,"19":1}}],["julianame2dim",{"2":{"3":1}}],["julianoname",{"2":{"19":1}}],["julianometadata",{"2":{"11":1}}],["julianolookup",{"2":{"4":1}}],["julianear",{"2":{"5":1}}],["juliatouches",{"2":{"5":1}}],["juliatransformed",{"2":{"4":1}}],["juliatimedim",{"2":{"0":2}}],["juliaunmergedims",{"2":{"18":2}}],["juliaunits",{"2":{"11":1}}],["juliaunordered",{"2":{"7":1}}],["juliaunaligned",{"2":{"4":1}}],["juliausing",{"2":{"0":3,"3":2,"4":6,"5":7,"18":1,"22":1,"24":1,"25":1,"33":1,"42":1,"45":1,"67":1,"72":1,"73":1,"79":1,"82":1,"84":1}}],["juliacat",{"2":{"18":1}}],["juliacategorical",{"2":{"4":1}}],["juliacenter",{"2":{"10":1}}],["juliacopy",{"2":{"18":2}}],["juliacontains",{"2":{"5":1}}],["juliacombinedims",{"2":{"3":1}}],["juliacomparedims",{"2":{"3":1}}],["juliacommondims",{"2":{"3":1}}],["juliacyclicbins",{"2":{"17":1}}],["juliacyclic",{"2":{"4":1}}],["juliaa",{"2":{"18":1}}],["juliaall",{"2":{"5":1}}],["juliaaligned",{"2":{"4":1}}],["juliaat",{"2":{"5":1}}],["juliaarrayselector",{"2":{"5":1}}],["juliaautoposition",{"2":{"10":1}}],["juliaautospan",{"2":{"8":1}}],["juliaautoorder",{"2":{"7":1}}],["juliaautovalues",{"2":{"4":1}}],["juliaautolookup",{"2":{"4":1}}],["juliaabstractname",{"2":{"19":1}}],["juliaabstractdimtable",{"2":{"16":1}}],["juliaabstractdimstack",{"2":{"14":1}}],["juliaabstractdimarray",{"2":{"13":1}}],["juliaabstractbasicdimarray",{"2":{"13":1}}],["juliaabstractmetadata",{"2":{"11":1}}],["juliaabstractcategorical",{"2":{"4":1}}],["juliaabstractcyclic",{"2":{"4":1}}],["juliaabstractsampled",{"2":{"4":1}}],["juliaanondim",{"2":{"0":1}}],["julias",{"2":{"34":1}}],["juliashow",{"2":{"20":2}}],["juliashiftlocus",{"2":{"4":1}}],["juliastart",{"2":{"10":1}}],["juliaspan",{"2":{"4":1,"8":1}}],["juliasampling",{"2":{"4":1,"9":1}}],["juliasampled",{"2":{"4":1}}],["juliaset",{"2":{"18":1}}],["juliasetdims",{"2":{"3":1}}],["juliaseasons",{"2":{"17":1}}],["juliaselector",{"2":{"5":1}}],["juliaselectindices",{"2":{"2":1}}],["juliasortdims",{"2":{"3":1}}],["juliaslicedims",{"2":{"3":1}}],["juliaswapdims",{"2":{"3":1}}],["julialocus",{"2":{"4":1}}],["julialookuptrait",{"2":{"6":1}}],["julialookups",{"2":{"4":1}}],["julialookup",{"2":{"2":1,"4":1}}],["julialabel",{"2":{"2":1}}],["julia>",{"2":{"1":12,"3":4,"13":24,"14":8,"15":4,"16":2,"17":2,"18":8,"21":1,"27":1,"32":1,"33":1,"41":1,"42":1,"60":1,"61":2,"72":2,"73":1,"76":1,"80":1}}],["julia",{"2":{"0":1,"17":1,"20":2,"23":1,"25":1,"26":1,"30":1,"31":1,"34":2,"53":1,"55":1,"81":1}}],["juliajulia>",{"2":{"0":1,"1":4,"3":1,"13":9,"14":1,"15":2,"16":1,"17":4,"18":7,"21":3,"22":4,"24":7,"25":2,"27":14,"28":2,"29":7,"30":2,"31":2,"32":3,"33":4,"41":4,"42":50,"43":73,"45":9,"46":8,"47":13,"48":4,"60":8,"61":2,"63":6,"64":2,"65":6,"72":17,"73":11,"74":1,"75":5,"76":2,"77":9,"78":4,"79":34,"80":2,"82":3,"83":5}}],["juliaz",{"2":{"0":1}}],["juliazdim",{"2":{"0":2}}],["juliayearday",{"2":{"45":1}}],["juliay",{"2":{"0":1}}],["juliaydim",{"2":{"0":2}}],["juliaval",{"2":{"0":4,"4":1}}],["juliadimgroupbyarray",{"2":{"17":1}}],["juliadimtable",{"2":{"16":1}}],["juliadimpoints",{"2":{"15":1}}],["juliadimindices",{"2":{"15":1}}],["juliadimarray",{"2":{"13":1}}],["juliadimnum",{"2":{"1":1,"13":1}}],["juliadimselectors",{"2":{"15":1}}],["juliadimstack",{"2":{"14":1}}],["juliadimsmatch",{"2":{"3":1}}],["juliadims2indices",{"2":{"2":1}}],["juliadims",{"2":{"1":2,"13":2}}],["juliadim",{"2":{"0":1}}],["juliadimension",{"2":{"0":1}}],["juliadimensions",{"2":{"0":1}}],["juliadependentdim",{"2":{"0":1}}],["juliaxdim",{"2":{"0":2}}],["juliax",{"2":{"0":3}}],["jun",{"2":{"47":6,"73":1}}],["just",{"2":{"5":2,"18":1,"23":1,"37":1,"39":1,"42":1,"47":3,"64":1,"65":1,"77":1}}],["j",{"2":{"3":2,"22":3,"69":1,"83":1}}],["jl",{"0":{"16":2,"34":1,"41":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"66":1,"67":1},"1":{"68":1,"69":1,"70":1,"71":1},"2":{"0":2,"4":5,"5":2,"16":2,"17":1,"18":1,"20":6,"25":1,"26":7,"30":6,"33":1,"34":10,"35":1,"36":1,"37":2,"39":3,"41":1,"42":2,"44":1,"50":3,"51":4,"52":1,"53":1,"54":1,"55":1,"56":2,"57":1,"58":1,"59":1,"63":1,"64":2,"66":4,"67":1,"71":1,"81":5,"84":2}}],["omitted",{"2":{"83":4}}],["o=rand",{"2":{"77":1}}],["oct",{"2":{"47":4,"73":1}}],["own",{"2":{"45":1,"48":1,"54":1}}],["objs",{"2":{"38":1}}],["obj",{"2":{"36":1,"38":2,"39":2}}],["object",{"2":{"0":1,"1":9,"2":1,"3":7,"4":7,"6":1,"10":1,"11":2,"13":12,"15":1,"16":1,"18":11,"20":1,"30":2,"33":2,"39":1,"42":3,"61":1,"63":1,"65":1}}],["objects",{"0":{"59":1},"1":{"60":1,"61":1,"62":1,"63":1,"64":1,"65":1},"2":{"0":1,"2":2,"3":1,"4":1,"5":2,"7":1,"11":1,"13":1,"14":3,"17":1,"18":4,"26":1,"29":1,"33":1,"36":1,"37":1,"38":1,"39":3,"42":1,"48":3,"59":1,"64":2,"65":1,"79":1}}],["our",{"2":{"29":2,"42":1,"45":1,"47":6}}],["outer",{"2":{"40":1,"60":1,"73":1,"74":3}}],["outcome",{"2":{"14":2}}],["out",{"2":{"4":1,"16":1,"33":1,"50":1,"66":1}}],["outputs",{"2":{"56":1}}],["output",{"2":{"0":4,"3":2,"4":5,"5":7,"18":1,"47":1,"48":1,"55":1}}],["old",{"2":{"18":6}}],["optimization",{"2":{"54":1}}],["optimised",{"2":{"7":1}}],["options",{"2":{"41":2}}],["optional",{"2":{"13":1,"20":4,"41":2}}],["operation",{"2":{"17":1,"31":1}}],["operations",{"2":{"0":1,"13":1,"17":1,"26":1}}],["open",{"2":{"5":1,"47":35,"72":1}}],["openinterval",{"2":{"5":1}}],["o",{"2":{"4":1,"77":2,"83":1}}],["overheads",{"2":{"80":1}}],["overlapping",{"2":{"17":1}}],["over",{"2":{"0":1,"4":4,"9":1,"14":3,"15":2,"17":2,"18":7,"24":1,"46":1,"73":1,"79":1}}],["others",{"2":{"18":2,"76":1}}],["otherwise",{"2":{"4":1,"5":1,"17":1,"18":1,"35":1}}],["otherdims",{"2":{"1":3,"13":3,"15":1,"42":8,"43":13}}],["other",{"2":{"0":2,"3":2,"4":2,"5":2,"17":1,"18":4,"26":1,"27":1,"35":1,"43":1,"45":1,"48":1,"67":1,"73":1,"74":2,"77":1,"81":1,"84":1}}],["orange",{"2":{"70":1,"71":1}}],["organised",{"2":{"33":1}}],["organises",{"2":{"0":1}}],["originates",{"2":{"17":1}}],["original",{"2":{"3":3,"18":7}}],["origin",{"2":{"11":1}}],["ordering",{"2":{"4":1}}],["order=unordered",{"2":{"4":1,"73":1}}],["order=autoorder",{"2":{"4":2}}],["order=forwardordered",{"2":{"3":1,"73":2}}],["ordered",{"2":{"1":1,"4":1,"7":4,"13":3,"73":2}}],["order",{"0":{"7":1},"2":{"1":1,"2":1,"3":12,"4":23,"5":1,"7":9,"13":1,"15":7,"18":15,"29":4,"42":6,"63":3,"67":1,"74":2}}],["or",{"2":{"0":5,"1":20,"2":7,"3":19,"4":33,"5":5,"7":1,"8":5,"9":3,"10":3,"11":6,"13":31,"14":7,"15":6,"16":4,"17":16,"18":12,"20":4,"21":1,"22":2,"26":1,"29":1,"30":2,"31":2,"33":1,"35":3,"37":1,"38":1,"40":1,"41":2,"42":10,"43":1,"44":1,"47":1,"59":1,"60":1,"63":1,"70":1,"72":4,"73":3,"74":3,"75":2,"76":1,"77":2,"81":2,"84":1}}],["often",{"2":{"17":2,"18":1,"26":1,"50":1,"73":1}}],["offsetarrays",{"2":{"37":2}}],["offset",{"2":{"5":1}}],["of",{"2":{"0":5,"1":13,"2":6,"3":17,"4":45,"5":7,"6":5,"7":3,"8":1,"9":2,"10":7,"11":5,"13":34,"14":10,"15":16,"16":3,"17":44,"18":32,"19":1,"20":16,"23":1,"24":1,"25":2,"26":1,"27":2,"29":8,"30":1,"33":2,"34":3,"35":1,"36":1,"37":1,"38":1,"39":2,"40":4,"41":10,"42":10,"45":2,"46":2,"47":5,"50":2,"52":1,"53":1,"55":1,"59":1,"60":1,"62":2,"63":4,"65":2,"66":1,"70":1,"72":2,"73":4,"74":3,"75":2,"76":5,"77":2,"78":1,"79":3,"81":4,"83":1}}],["oneto",{"2":{"18":2,"73":2}}],["one",{"2":{"3":1,"4":3,"9":1,"14":2,"18":2,"23":1,"25":1,"26":1,"39":2,"63":2,"72":1,"76":1,"78":1,"83":3}}],["ones",{"2":{"1":4,"3":3,"4":1,"13":10,"16":1,"18":2,"27":4,"32":1}}],["only",{"2":{"2":1,"3":1,"4":1,"5":1,"13":3,"15":4,"18":4,"39":2,"47":1,"59":1,"63":1,"76":1,"77":1,"79":1,"83":1}}],["on",{"2":{"0":6,"1":1,"2":3,"3":1,"4":2,"5":1,"10":1,"11":1,"13":3,"14":2,"17":4,"18":4,"19":1,"20":3,"23":1,"25":3,"26":2,"29":1,"34":1,"40":1,"41":2,"47":1,"56":1,"63":1,"64":1,"66":2,"77":2}}],["away",{"2":{"63":1}}],["aware",{"2":{"23":1,"50":1}}],["a1",{"2":{"63":4}}],["aimed",{"2":{"51":1}}],["aggregate",{"2":{"47":1}}],["again",{"2":{"14":1,"29":1}}],["a=rand",{"2":{"76":1}}],["a=falses",{"2":{"60":1}}],["a=3",{"2":{"28":1}}],["a=1",{"2":{"22":1}}],["aug",{"2":{"47":6,"73":1}}],["auxiliary",{"2":{"26":1,"56":1}}],["autodetection",{"0":{"74":1}}],["automata",{"2":{"56":1}}],["automated",{"2":{"18":1}}],["automatic",{"2":{"0":1,"4":1,"10":1}}],["automatically",{"2":{"0":1,"4":3,"7":1,"26":1,"39":1,"73":2,"74":1}}],["autoposition",{"2":{"10":2}}],["autospan",{"2":{"8":2,"73":1}}],["autovalues",{"2":{"4":1,"73":1}}],["autolookup",{"2":{"4":3}}],["autoorder",{"2":{"4":3,"7":2,"73":1}}],["auto",{"2":{"2":1}}],["amazing",{"2":{"25":1}}],["amp",{"0":{"25":1},"1":{"26":1}}],["ambiguity",{"2":{"2":1,"11":1,"18":1,"23":1,"65":1}}],["after",{"2":{"13":1,"17":3,"20":3,"47":1}}],["affine",{"2":{"4":1}}],["affect",{"2":{"0":1}}],["apr",{"2":{"47":6,"73":2}}],["applicable",{"2":{"18":1}}],["applications",{"2":{"63":1}}],["application",{"2":{"17":1,"34":1}}],["applied",{"2":{"4":1,"14":1,"17":2,"60":1,"79":1}}],["applying",{"2":{"17":2}}],["apply",{"2":{"14":3,"48":1}}],["api",{"0":{"12":1},"1":{"13":1,"14":1,"15":1,"16":1}}],["adherence",{"2":{"34":1}}],["adjoint",{"2":{"31":1,"79":1}}],["adjacent",{"2":{"5":1}}],["adapt",{"2":{"26":3}}],["add",{"2":{"20":1,"21":2,"27":1,"73":1}}],["additionally",{"2":{"21":1}}],["additional",{"2":{"20":2,"73":1}}],["adding",{"2":{"4":3,"20":2}}],["added",{"2":{"20":3,"23":1,"35":1,"41":2}}],["available",{"2":{"4":1,"11":2}}],["avoids",{"2":{"14":1,"17":2}}],["avoid",{"2":{"0":1,"5":1,"14":1,"20":1}}],["actual",{"2":{"26":1}}],["actually",{"2":{"2":1,"4":1}}],["acepted",{"2":{"13":4}}],["accessed",{"2":{"77":1}}],["accessors",{"2":{"64":1}}],["accessing",{"2":{"32":1}}],["access",{"2":{"27":1,"33":1}}],["accepted",{"2":{"20":2,"41":2,"63":1}}],["accept",{"2":{"13":1,"14":1,"38":1,"40":1,"63":1}}],["acceptable",{"2":{"8":1}}],["accepts",{"2":{"4":1,"5":1,"54":1}}],["accurate",{"2":{"8":1}}],["account",{"2":{"4":2}}],["atol=0",{"2":{"72":1}}],["atol=nothing",{"2":{"5":1}}],["atol",{"2":{"5":2,"15":6,"63":1}}],["attach",{"2":{"4":1}}],["attached",{"2":{"3":1,"37":1}}],["attempt",{"2":{"0":1}}],["at",{"2":{"0":1,"3":2,"4":6,"5":11,"9":3,"13":1,"14":3,"15":4,"17":2,"18":1,"20":5,"42":1,"45":1,"47":1,"50":1,"51":1,"72":2,"73":2,"75":2,"76":1}}],["astroimage",{"2":{"57":1}}],["astroimages",{"0":{"57":1},"2":{"57":1}}],["astronomical",{"2":{"57":1}}],["assumes",{"2":{"63":1}}],["assert",{"2":{"48":1}}],["associate",{"2":{"33":2}}],["assigned",{"2":{"4":9,"59":1,"74":1}}],["ascending",{"2":{"5":1}}],["as",{"2":{"0":6,"1":1,"2":3,"3":5,"4":8,"5":4,"8":1,"10":3,"13":7,"14":6,"15":4,"16":5,"17":5,"18":6,"20":2,"23":1,"25":2,"26":2,"31":1,"32":1,"33":1,"35":1,"37":1,"38":2,"39":4,"63":3,"66":3,"67":1,"70":1,"72":4,"73":1,"74":5}}],["above",{"2":{"43":1,"46":2}}],["about",{"2":{"0":1,"4":3,"11":1,"25":1,"64":1}}],["abstracdimarray",{"2":{"30":1}}],["abstractname",{"2":{"19":3}}],["abstraction",{"2":{"18":1}}],["abstractdimarry",{"2":{"44":1}}],["abstractdimarrays",{"2":{"3":1,"18":4,"19":1,"20":2,"30":1}}],["abstractdimarray",{"2":{"0":1,"3":2,"4":1,"11":2,"13":7,"14":5,"15":1,"16":4,"17":7,"18":17,"20":6,"26":2,"31":1,"35":1,"39":3,"40":2,"50":1,"51":1,"54":1,"56":2,"57":1,"60":1,"63":2,"66":1,"67":1,"76":1,"79":1,"81":1}}],["abstractdimtable",{"2":{"16":2}}],["abstractdimstack",{"2":{"14":4,"16":3,"17":5,"18":17,"20":5,"35":1,"40":1,"50":1,"53":1,"60":1,"63":2,"76":1,"79":2,"81":1}}],["abstractrng",{"2":{"13":2}}],["abstractrange",{"2":{"4":4,"17":2,"73":1,"74":1}}],["abstractbasicarray",{"2":{"13":1}}],["abstractbasicdimarray",{"2":{"13":2,"18":1}}],["abstractmetadata",{"2":{"11":3,"18":1}}],["abstractmatrix",{"2":{"8":1}}],["abstractsample",{"2":{"50":1}}],["abstractsampled",{"2":{"4":6,"35":1,"73":1}}],["abstractstring",{"2":{"4":1}}],["abstractcolumns",{"2":{"16":1}}],["abstractcategorical",{"2":{"4":4,"35":1}}],["abstractcyclic",{"2":{"4":2}}],["abstractarray",{"2":{"2":3,"3":2,"4":4,"5":1,"13":4,"14":2,"15":3,"17":4,"18":6,"27":1,"34":1,"37":1,"47":2,"73":1,"74":1,"76":1}}],["abstractvector",{"2":{"0":1,"4":4,"13":8}}],["abstract",{"2":{"0":7,"1":2,"3":4,"4":4,"5":3,"6":1,"10":1,"11":1,"13":4,"14":2,"16":1,"18":1,"19":1}}],["abs",{"2":{"22":1}}],["absent",{"2":{"3":1}}],["axis",{"2":{"0":6,"2":1,"3":2,"4":9,"10":3,"13":4,"15":1,"18":1,"37":1,"47":1,"66":1,"67":2,"72":2,"73":2}}],["axes",{"0":{"37":1},"2":{"0":1,"1":1,"4":1,"13":1,"18":3,"29":2,"31":1,"37":2,"63":1,"67":2}}],["alpha",{"2":{"22":1}}],["alpha=",{"2":{"22":1}}],["align",{"2":{"10":1}}],["aligned",{"2":{"4":6,"75":1}}],["although",{"2":{"4":1,"13":1,"66":1}}],["alone",{"2":{"4":2}}],["along",{"0":{"24":1},"2":{"0":1,"17":1,"31":1,"42":1,"73":1}}],["algorithms",{"2":{"3":1,"63":1}}],["always",{"2":{"1":1,"3":1,"9":1,"11":2,"13":1,"14":2,"18":2,"20":2,"39":1,"43":1,"50":1,"63":1}}],["already",{"2":{"0":1,"26":1}}],["also",{"2":{"0":3,"3":3,"5":2,"10":1,"11":1,"14":1,"17":1,"18":2,"29":1,"30":1,"31":1,"33":1,"37":1,"38":1,"39":1,"46":1,"47":3,"48":2,"50":1,"65":1,"67":2,"72":4,"73":1,"75":1,"78":1,"84":1}}],["allocate",{"2":{"81":1}}],["allocations",{"2":{"80":2}}],["allocation",{"2":{"18":1}}],["allocs",{"2":{"32":2}}],["allows",{"2":{"10":1,"17":1,"18":1}}],["allowing",{"2":{"4":1}}],["allow",{"2":{"4":1,"10":1,"11":1,"56":1}}],["all",{"2":{"0":5,"2":1,"3":3,"4":5,"5":6,"6":1,"11":1,"13":3,"14":5,"15":3,"18":12,"19":1,"20":2,"26":1,"30":1,"39":2,"41":2,"42":1,"43":3,"47":1,"50":1,"56":2,"59":1,"60":3,"72":1,"76":2,"77":1,"78":1,"79":1,"80":1,"81":1}}],["arviz",{"0":{"53":1},"2":{"35":1,"53":2}}],["archgdal",{"2":{"34":1}}],["around",{"2":{"17":3}}],["arbitrary",{"0":{"28":1},"2":{"15":1,"17":2,"28":1,"47":1}}],["arg",{"2":{"20":3,"41":3,"63":1}}],["args",{"2":{"3":1,"18":3,"20":12,"39":1,"41":12}}],["argumenterror",{"2":{"29":1}}],["argument",{"2":{"2":1,"3":2,"4":4,"11":2,"13":2,"14":1,"18":3,"38":1,"39":3,"70":1}}],["arguments",{"2":{"0":1,"1":4,"3":4,"4":8,"8":1,"13":6,"14":1,"17":1,"18":5,"20":2,"26":1,"39":1,"41":2,"63":2}}],["arrays",{"0":{"13":1},"2":{"5":1,"13":5,"14":1,"17":1,"18":3,"19":1,"20":2,"24":1,"59":1,"60":3,"74":3,"75":1,"83":1,"84":1}}],["arrayselectors",{"2":{"5":1}}],["arrayselector",{"2":{"5":4}}],["array",{"0":{"14":1,"78":1},"2":{"0":3,"1":1,"2":2,"3":4,"4":16,"5":1,"9":1,"10":1,"11":1,"13":6,"14":3,"15":3,"16":1,"17":1,"18":9,"19":2,"20":2,"22":1,"23":1,"25":1,"26":3,"30":1,"31":1,"32":1,"35":2,"37":3,"40":2,"41":2,"46":1,"47":1,"54":1,"60":4,"63":4,"72":2,"73":1,"74":2,"75":1,"80":1,"81":1}}],["aren",{"2":{"75":1}}],["area",{"2":{"5":3}}],["are",{"2":{"0":7,"1":1,"2":2,"3":16,"4":15,"5":9,"7":1,"8":2,"9":2,"11":1,"13":9,"14":3,"15":4,"16":2,"17":1,"18":14,"20":13,"24":1,"26":2,"27":2,"29":1,"33":4,"34":2,"35":5,"39":2,"41":10,"42":1,"45":1,"47":1,"50":2,"56":2,"59":2,"63":3,"67":1,"73":2,"74":9,"75":1,"78":2,"79":1,"80":1,"81":3}}],["analysis",{"2":{"47":1,"52":1,"53":1}}],["answer",{"2":{"34":1}}],["ansi",{"2":{"20":1}}],["anomalies",{"2":{"17":1}}],["another",{"2":{"4":1,"13":1,"14":1,"15":2,"18":1,"28":1,"44":1,"51":1,"63":1,"72":1,"75":1,"77":1,"78":2}}],["anonymous",{"2":{"0":1}}],["anondim",{"2":{"0":2}}],["annual",{"2":{"4":1}}],["anything",{"2":{"2":1,"18":1}}],["any",{"2":{"0":1,"1":5,"2":1,"3":4,"4":5,"5":3,"11":2,"13":5,"17":8,"18":2,"20":2,"26":1,"27":10,"33":2,"38":3,"39":1,"42":2,"46":7,"47":11,"48":3,"54":1,"73":1,"76":1,"79":1,"84":1}}],["an",{"2":{"0":2,"1":8,"2":1,"3":5,"4":9,"5":5,"6":1,"7":1,"8":1,"9":1,"10":3,"11":2,"13":21,"14":1,"15":6,"16":3,"17":7,"18":8,"19":1,"20":6,"23":1,"26":1,"29":1,"30":2,"31":1,"33":1,"37":1,"39":1,"40":2,"42":6,"46":1,"47":3,"48":1,"53":2,"70":1,"72":2,"73":2,"74":1,"76":2,"81":1}}],["and",{"0":{"23":1,"46":1,"81":1},"1":{"24":1,"82":1,"83":1,"84":1},"2":{"0":9,"2":7,"3":9,"4":27,"5":9,"7":2,"8":3,"10":2,"11":4,"13":17,"14":13,"15":2,"16":3,"17":5,"18":12,"19":1,"20":12,"22":1,"23":1,"24":2,"25":1,"26":4,"27":2,"28":2,"29":1,"30":3,"33":2,"34":5,"35":1,"37":2,"38":1,"39":3,"40":3,"41":6,"42":2,"43":2,"47":4,"48":1,"50":7,"51":2,"56":2,"57":1,"59":1,"60":2,"63":2,"64":1,"65":1,"66":3,"67":4,"72":3,"73":3,"74":8,"75":1,"76":1,"77":1,"79":1,"80":2,"81":5,"83":3,"84":1}}],["a",{"0":{"70":1},"2":{"0":30,"1":30,"2":11,"3":34,"4":50,"5":26,"6":1,"7":2,"8":4,"9":1,"10":6,"11":8,"13":68,"14":32,"15":16,"16":5,"17":45,"18":49,"19":2,"20":13,"22":6,"23":3,"24":5,"25":5,"26":1,"27":7,"28":3,"30":2,"33":4,"35":2,"36":1,"37":2,"39":1,"40":2,"41":4,"42":64,"43":73,"44":2,"45":1,"46":8,"47":14,"48":4,"50":5,"51":1,"53":1,"54":2,"55":1,"56":1,"59":1,"60":10,"61":9,"62":2,"63":13,"64":4,"65":14,"66":2,"67":6,"69":1,"70":3,"71":2,"72":59,"73":14,"74":6,"75":5,"76":5,"77":14,"78":27,"79":41,"80":5,"82":5,"83":33,"84":9}}],["m=rand",{"2":{"77":1}}],["my",{"2":{"63":3}}],["mydimstack",{"2":{"14":2}}],["mutable",{"2":{"59":1}}],["much",{"2":{"25":1,"63":1,"66":1}}],["multi",{"0":{"14":1},"2":{"37":1}}],["multiple",{"2":{"4":1,"14":3,"17":1,"43":1,"62":1}}],["must",{"2":{"4":3,"5":3,"13":2,"14":2,"18":1,"20":2,"26":2,"36":1,"37":3,"39":1,"40":1,"59":1,"76":1}}],["mixing",{"2":{"29":1}}],["mix",{"2":{"29":1,"79":1}}],["mixed",{"2":{"14":2,"15":2,"35":1}}],["mime",{"2":{"20":5}}],["mid",{"2":{"5":1}}],["min",{"2":{"32":4}}],["minus",{"2":{"4":1}}],["minimum",{"2":{"3":1,"31":1,"46":1,"79":2}}],["missingval",{"2":{"50":1}}],["missing",{"2":{"3":1,"40":1,"50":1}}],["measures",{"2":{"80":1}}],["means",{"2":{"3":1,"5":1,"7":1,"10":1,"16":1,"24":1,"26":1,"33":1,"37":1,"43":2,"72":1}}],["mean",{"2":{"3":1,"4":1,"9":1,"13":1,"14":4,"17":10,"23":1,"24":2,"31":1,"32":4,"46":3,"47":3,"48":1,"79":3}}],["meaning",{"2":{"2":1,"4":1,"15":1}}],["merging",{"2":{"77":1}}],["merges",{"2":{"62":1}}],["merge",{"2":{"29":1,"77":5,"83":1}}],["merged",{"2":{"18":3}}],["mergedims=",{"2":{"83":1}}],["mergedims=nothing",{"2":{"16":3}}],["mergedims",{"0":{"62":1},"2":{"16":1,"18":5,"62":1}}],["mergedlookup",{"2":{"4":3,"18":3,"29":1}}],["median",{"2":{"31":1,"32":4,"46":1}}],["memory",{"2":{"32":2}}],["mem",{"2":{"25":1}}],["messy",{"2":{"17":2}}],["metadata=dict",{"2":{"27":5,"63":1}}],["metadata=metadata",{"2":{"14":1}}],["metadata=nometadata",{"2":{"4":3,"13":1,"14":1}}],["metadata",{"0":{"11":1},"2":{"3":1,"4":16,"11":16,"13":11,"17":3,"18":3,"20":9,"26":1,"27":5,"39":1,"41":8,"46":7,"47":11,"48":2,"59":1,"63":5}}],["method",{"2":{"1":4,"3":3,"4":4,"9":1,"11":2,"13":7,"15":1,"18":2,"20":3,"39":1,"41":2}}],["methods",{"0":{"1":1,"2":1,"3":1,"17":1,"18":1},"1":{"19":1,"20":1},"2":{"0":2,"1":1,"3":4,"4":3,"7":1,"13":1,"14":5,"17":1,"18":2,"20":2,"31":1,"33":1,"35":1,"39":1,"42":1,"43":1,"48":1,"52":1}}],["m",{"2":{"0":1,"4":3,"61":2,"63":2,"65":3,"77":2,"83":1}}],["mon",{"2":{"73":2}}],["monthabbr",{"2":{"73":2}}],["months",{"2":{"17":5,"47":4,"73":1}}],["monthly",{"2":{"17":2}}],["month",{"2":{"0":6,"13":1,"17":4,"24":13,"45":1,"46":2,"47":13,"73":5}}],["moving",{"2":{"60":1,"66":1}}],["moved",{"2":{"26":2}}],["move",{"2":{"25":1}}],["moves",{"2":{"13":1}}],["mod",{"2":{"60":2}}],["models",{"2":{"53":1,"56":1}}],["model",{"2":{"26":1,"55":1}}],["modification",{"2":{"26":1}}],["modified",{"2":{"5":1}}],["modifying",{"0":{"59":1},"1":{"60":1,"61":1,"62":1,"63":1,"64":1,"65":1}}],["modify",{"0":{"60":1},"2":{"6":1,"18":6,"25":1,"59":1,"60":6}}],["module",{"2":{"0":3,"4":2}}],["mostly",{"2":{"13":1,"18":2,"66":1,"67":1}}],["most",{"2":{"4":1,"14":4,"18":2,"20":1,"25":1,"34":1,"35":1,"63":1,"73":1,"74":1}}],["more",{"2":{"0":2,"4":4,"13":1,"16":1,"20":1,"22":1,"39":2,"51":1,"60":1,"64":1,"71":1,"72":1}}],["magic",{"0":{"64":1}}],["made",{"2":{"50":1}}],["masking",{"2":{"50":1}}],["mar",{"2":{"47":6,"73":1}}],["markersize=15",{"2":{"71":1}}],["markers",{"0":{"71":1},"2":{"10":1}}],["max",{"2":{"32":4}}],["maximum",{"2":{"5":1,"20":1,"31":1,"46":1,"79":3}}],["manipulation",{"2":{"50":1}}],["mandatory",{"2":{"20":4,"41":2}}],["many",{"2":{"14":4,"20":2,"31":1,"80":1}}],["manually",{"2":{"4":5,"17":2,"39":1,"73":2,"74":1,"80":1}}],["mapped",{"2":{"50":1}}],["mapslices",{"2":{"31":1}}],["mapreduce",{"2":{"31":1}}],["map",{"2":{"14":5,"17":4,"18":1}}],["maintains",{"2":{"13":1}}],["main",{"2":{"13":1,"20":4}}],["makie",{"0":{"67":1},"1":{"68":1,"69":1,"70":1,"71":1},"2":{"66":2,"67":3,"69":1,"71":1}}],["making",{"2":{"0":1}}],["makes",{"2":{"19":1,"42":1}}],["make",{"2":{"4":1,"5":1,"15":2,"33":1,"63":1,"73":1}}],["math",{"2":{"30":1}}],["matrix",{"2":{"8":1,"27":3,"60":3,"79":1}}],["matter",{"2":{"3":1,"15":1}}],["match",{"2":{"1":3,"2":2,"3":3,"4":1,"5":1,"13":3,"17":1,"18":3,"77":1,"79":1,"81":1}}],["matches",{"2":{"1":1,"5":1,"13":1,"17":1,"20":4,"41":4,"63":1}}],["matching",{"2":{"0":2,"1":1,"3":1,"4":3,"13":1,"14":2,"17":2,"38":2,"72":1,"75":1}}],["macro",{"2":{"0":2,"3":1}}],["may",{"2":{"0":2,"4":5,"5":4,"6":1,"8":1,"11":2,"14":2,"20":1,"47":6,"63":2,"65":1,"73":3}}],["mdash",{"2":{"0":15,"1":4,"2":5,"3":12,"4":23,"5":10,"6":1,"7":6,"8":5,"9":3,"10":6,"11":4,"13":14,"14":2,"15":3,"16":2,"17":9,"18":11,"19":3,"20":6}}]],"serializationVersion":2}';export{e as default}; diff --git a/dev/assets/chunks/VPLocalSearchBox.DTJBufB2.js b/dev/assets/chunks/VPLocalSearchBox.DnX1yi9A.js similarity index 99% rename from dev/assets/chunks/VPLocalSearchBox.DTJBufB2.js rename to dev/assets/chunks/VPLocalSearchBox.DnX1yi9A.js index 15f7bb1c7..575c21ee0 100644 --- a/dev/assets/chunks/VPLocalSearchBox.DTJBufB2.js +++ b/dev/assets/chunks/VPLocalSearchBox.DnX1yi9A.js @@ -1,4 +1,4 @@ -var kt=Object.defineProperty;var Ft=(a,e,t)=>e in a?kt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Ce=(a,e,t)=>Ft(a,typeof e!="symbol"?e+"":e,t);import{X as Ot,s as ne,v as Ve,al as Rt,am as Ct,d as Mt,G as be,an as et,h as ye,ao as At,ap as Lt,x as Dt,aq as zt,y as Me,R as de,Q as we,ar as Pt,as as jt,Y as Vt,U as $t,a1 as Bt,o as H,b as Wt,j as _,a2 as Kt,k as D,at as Jt,au as Ut,av as qt,c as Z,n as tt,e as _e,E as st,F as nt,a as he,t as fe,aw as Gt,p as Qt,l as Ht,ax as it,ay as Yt,aa as Zt,ag as Xt,az as es,_ as ts}from"./framework.CNWpduVv.js";import{u as ss,c as ns}from"./theme.CzarkSE4.js";const is={root:()=>Ot(()=>import("./@localSearchIndexroot.CNY_hrbc.js"),[])};/*! +var kt=Object.defineProperty;var Ft=(a,e,t)=>e in a?kt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Ce=(a,e,t)=>Ft(a,typeof e!="symbol"?e+"":e,t);import{X as Ot,s as ne,v as Ve,al as Rt,am as Ct,d as Mt,G as be,an as et,h as ye,ao as At,ap as Lt,x as Dt,aq as zt,y as Me,R as de,Q as we,ar as Pt,as as jt,Y as Vt,U as $t,a1 as Bt,o as H,b as Wt,j as _,a2 as Kt,k as D,at as Jt,au as Ut,av as qt,c as Z,n as tt,e as _e,E as st,F as nt,a as he,t as fe,aw as Gt,p as Qt,l as Ht,ax as it,ay as Yt,aa as Zt,ag as Xt,az as es,_ as ts}from"./framework.CNWpduVv.js";import{u as ss,c as ns}from"./theme.Bh4_NIac.js";const is={root:()=>Ot(()=>import("./@localSearchIndexroot.BX5fCE3o.js"),[])};/*! * tabbable 6.2.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE */var vt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Te=vt.join(","),mt=typeof Element>"u",re=mt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ne=!mt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a==null?void 0:a.ownerDocument},ke=function a(e,t){var s;t===void 0&&(t=!0);var n=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"inert"),r=n===""||n==="true",i=r||t&&e&&a(e.parentNode);return i},rs=function(e){var t,s=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return s===""||s==="true"},gt=function(e,t,s){if(ke(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Te));return t&&re.call(e,Te)&&n.unshift(e),n=n.filter(s),n},bt=function a(e,t,s){for(var n=[],r=Array.from(e);r.length;){var i=r.shift();if(!ke(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),c=o.length?o:i.children,l=a(c,!0,s);s.flatten?n.push.apply(n,l):n.push({scopeParent:i,candidates:l})}else{var h=re.call(i,Te);h&&s.filter(i)&&(t||!e.includes(i))&&n.push(i);var f=i.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(i),v=!ke(f,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(i));if(f&&v){var y=a(f===!0?i.children:f.children,!0,s);s.flatten?n.push.apply(n,y):n.push({scopeParent:i,candidates:y})}else r.unshift.apply(r,i.children)}}return n},yt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},ie=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||rs(e))&&!yt(e)?0:e.tabIndex},as=function(e,t){var s=ie(e);return s<0&&t&&!yt(e)?0:s},os=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},wt=function(e){return e.tagName==="INPUT"},cs=function(e){return wt(e)&&e.type==="hidden"},ls=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(s){return s.tagName==="SUMMARY"});return t},us=function(e,t){for(var s=0;ssummary:first-of-type"),i=r?e.parentElement:e;if(re.call(i,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="legacy-full"){if(typeof n=="function"){for(var o=e;e;){var c=e.parentElement,l=Ne(e);if(c&&!c.shadowRoot&&n(c)===!0)return rt(e);e.assignedSlot?e=e.assignedSlot:!c&&l!==e.ownerDocument?e=l.host:e=c}e=o}if(ps(e))return!e.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return rt(e);return!1},ms=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var s=0;s=0)},bs=function a(e){var t=[],s=[];return e.forEach(function(n,r){var i=!!n.scopeParent,o=i?n.scopeParent:n,c=as(o,i),l=i?a(n.candidates):o;c===0?i?t.push.apply(t,l):t.push(o):s.push({documentOrder:r,tabIndex:c,item:n,isScope:i,content:l})}),s.sort(os).reduce(function(n,r){return r.isScope?n.push.apply(n,r.content):n.push(r.content),n},[]).concat(t)},ys=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:$e.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:gs}):s=gt(e,t.includeContainer,$e.bind(null,t)),bs(s)},ws=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:Fe.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):s=gt(e,t.includeContainer,Fe.bind(null,t)),s},ae=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,Te)===!1?!1:$e(t,e)},_s=vt.concat("iframe").join(","),Ae=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,_s)===!1?!1:Fe(t,e)};/*! diff --git a/dev/assets/chunks/theme.CzarkSE4.js b/dev/assets/chunks/theme.Bh4_NIac.js similarity index 99% rename from dev/assets/chunks/theme.CzarkSE4.js rename to dev/assets/chunks/theme.Bh4_NIac.js index 25d4664f0..1883e8493 100644 --- a/dev/assets/chunks/theme.CzarkSE4.js +++ b/dev/assets/chunks/theme.Bh4_NIac.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.DTJBufB2.js","assets/chunks/framework.CNWpduVv.js"])))=>i.map(i=>d[i]); -import{d as _,o as a,c as u,r as c,n as I,a as U,t as N,b as $,w as f,e as h,T as pe,_ as g,u as qe,i as Je,f as Ye,g as fe,h as y,j as p,k as r,p as A,l as B,m as W,q as le,s as T,v as D,x as ee,y as K,z as he,A as _e,B as Xe,C as Qe,D as q,F as M,E as H,G as Le,H as te,I as k,J as O,K as Te,L as ne,M as z,N as Y,O as Ze,P as we,Q as ce,R as Ne,S as Ie,U as oe,V as xe,W as et,X as tt,Y as Me,Z as me,$ as nt,a0 as ot,a1 as st,a2 as at,a3 as Ee,a4 as rt,a5 as it}from"./framework.CNWpduVv.js";const lt=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(n){return(e,t)=>(a(),u("span",{class:I(["VPBadge",e.type])},[c(e.$slots,"default",{},()=>[U(N(e.text),1)])],2))}}),ct={key:0,class:"VPBackdrop"},ut=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(n){return(e,t)=>(a(),$(pe,{name:"fade"},{default:f(()=>[e.show?(a(),u("div",ct)):h("",!0)]),_:1}))}}),dt=g(ut,[["__scopeId","data-v-b06cdb19"]]),V=qe;function vt(n,e){let t,s=!1;return()=>{t&&clearTimeout(t),s?t=setTimeout(n,e):(n(),(s=!0)&&setTimeout(()=>s=!1,e))}}function ue(n){return/^\//.test(n)?n:`/${n}`}function be(n){const{pathname:e,search:t,hash:s,protocol:o}=new URL(n,"http://a.com");if(Je(n)||n.startsWith("#")||!o.startsWith("http")||!Ye(e))return n;const{site:i}=V(),l=e.endsWith("/")||e.endsWith(".html")?n:n.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${s}`);return fe(l)}function Q({correspondingLink:n=!1}={}){const{site:e,localeIndex:t,page:s,theme:o,hash:i}=V(),l=y(()=>{var v,m;return{label:(v=e.value.locales[t.value])==null?void 0:v.label,link:((m=e.value.locales[t.value])==null?void 0:m.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([v,m])=>l.value.label===m.label?[]:{text:m.label,link:pt(m.link||(v==="root"?"/":`/${v}/`),o.value.i18nRouting!==!1&&n,s.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:l}}function pt(n,e,t,s){return e?n.replace(/\/$/,"")+ue(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):n}const ft=n=>(A("data-v-951cab6c"),n=n(),B(),n),ht={class:"NotFound"},_t={class:"code"},mt={class:"title"},bt=ft(()=>p("div",{class:"divider"},null,-1)),kt={class:"quote"},$t={class:"action"},gt=["href","aria-label"],yt=_({__name:"NotFound",setup(n){const{theme:e}=V(),{currentLang:t}=Q();return(s,o)=>{var i,l,d,v,m;return a(),u("div",ht,[p("p",_t,N(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),p("h1",mt,N(((l=r(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),bt,p("blockquote",kt,N(((d=r(e).notFound)==null?void 0:d.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",$t,[p("a",{class:"link",href:r(fe)(r(t).link),"aria-label":((v=r(e).notFound)==null?void 0:v.linkLabel)??"go to home"},N(((m=r(e).notFound)==null?void 0:m.linkText)??"Take me home"),9,gt)])])}}}),St=g(yt,[["__scopeId","data-v-951cab6c"]]);function Ce(n,e){if(Array.isArray(n))return Z(n);if(n==null)return[];e=ue(e);const t=Object.keys(n).sort((o,i)=>i.split("/").length-o.split("/").length).find(o=>e.startsWith(ue(o))),s=t?n[t]:[];return Array.isArray(s)?Z(s):Z(s.items,s.base)}function Pt(n){const e=[];let t=0;for(const s in n){const o=n[s];if(o.items){t=e.push(o);continue}e[t]||e.push({items:[]}),e[t].items.push(o)}return e}function Vt(n){const e=[];function t(s){for(const o of s)o.text&&o.link&&e.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&t(o.items)}return t(n),e}function de(n,e){return Array.isArray(e)?e.some(t=>de(n,t)):W(n,e.link)?!0:e.items?de(n,e.items):!1}function Z(n,e){return[...n].map(t=>{const s={...t},o=s.base||e;return o&&s.link&&(s.link=o+s.link),s.items&&(s.items=Z(s.items,o)),s})}function R(){const{frontmatter:n,page:e,theme:t}=V(),s=le("(min-width: 960px)"),o=T(!1),i=y(()=>{const C=t.value.sidebar,w=e.value.relativePath;return C?Ce(C,w):[]}),l=T(i.value);D(i,(C,w)=>{JSON.stringify(C)!==JSON.stringify(w)&&(l.value=i.value)});const d=y(()=>n.value.sidebar!==!1&&l.value.length>0&&n.value.layout!=="home"),v=y(()=>m?n.value.aside==null?t.value.aside==="left":n.value.aside==="left":!1),m=y(()=>n.value.layout==="home"?!1:n.value.aside!=null?!!n.value.aside:t.value.aside!==!1),L=y(()=>d.value&&s.value),b=y(()=>d.value?Pt(l.value):[]);function S(){o.value=!0}function P(){o.value=!1}function E(){o.value?P():S()}return{isOpen:o,sidebar:l,sidebarGroups:b,hasSidebar:d,hasAside:m,leftAside:v,isSidebarEnabled:L,open:S,close:P,toggle:E}}function Lt(n,e){let t;ee(()=>{t=n.value?document.activeElement:void 0}),K(()=>{window.addEventListener("keyup",s)}),he(()=>{window.removeEventListener("keyup",s)});function s(o){o.key==="Escape"&&n.value&&(e(),t==null||t.focus())}}function Tt(n){const{page:e,hash:t}=V(),s=T(!1),o=y(()=>n.value.collapsed!=null),i=y(()=>!!n.value.link),l=T(!1),d=()=>{l.value=W(e.value.relativePath,n.value.link)};D([e,n,t],d),K(d);const v=y(()=>l.value?!0:n.value.items?de(e.value.relativePath,n.value.items):!1),m=y(()=>!!(n.value.items&&n.value.items.length));ee(()=>{s.value=!!(o.value&&n.value.collapsed)}),_e(()=>{(l.value||v.value)&&(s.value=!1)});function L(){o.value&&(s.value=!s.value)}return{collapsed:s,collapsible:o,isLink:i,isActiveLink:l,hasActiveLink:v,hasChildren:m,toggle:L}}function wt(){const{hasSidebar:n}=R(),e=le("(min-width: 960px)"),t=le("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:n.value?t.value:e.value)}}const ve=[];function Ae(n){return typeof n.outline=="object"&&!Array.isArray(n.outline)&&n.outline.label||n.outlineTitle||"On this page"}function ke(n){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const s=Number(t.tagName[1]);return{element:t,title:Nt(t),link:"#"+t.id,level:s}});return It(e,n)}function Nt(n){let e="";for(const t of n.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function It(n,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[s,o]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;n=n.filter(l=>l.level>=s&&l.level<=o),ve.length=0;for(const{element:l,link:d}of n)ve.push({element:l,link:d});const i=[];e:for(let l=0;l=0;v--){const m=n[v];if(m.level{requestAnimationFrame(i),window.addEventListener("scroll",s)}),Xe(()=>{l(location.hash)}),he(()=>{window.removeEventListener("scroll",s)});function i(){if(!t.value)return;const d=window.scrollY,v=window.innerHeight,m=document.body.offsetHeight,L=Math.abs(d+v-m)<1,b=ve.map(({element:P,link:E})=>({link:E,top:Et(P)})).filter(({top:P})=>!Number.isNaN(P)).sort((P,E)=>P.top-E.top);if(!b.length){l(null);return}if(d<1){l(null);return}if(L){l(b[b.length-1].link);return}let S=null;for(const{link:P,top:E}of b){if(E>d+Qe()+4)break;S=P}l(S)}function l(d){o&&o.classList.remove("active"),d==null?o=null:o=n.value.querySelector(`a[href="${decodeURIComponent(d)}"]`);const v=o;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Et(n){let e=0;for(;n!==document.body;){if(n===null)return NaN;e+=n.offsetTop,n=n.offsetParent}return e}const Ct=["href","title"],At=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(n){function e({target:t}){const s=t.href.split("#")[1],o=document.getElementById(decodeURIComponent(s));o==null||o.focus({preventScroll:!0})}return(t,s)=>{const o=q("VPDocOutlineItem",!0);return a(),u("ul",{class:I(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),u(M,null,H(t.headers,({children:i,link:l,title:d})=>(a(),u("li",null,[p("a",{class:"outline-link",href:l,onClick:e,title:d},N(d),9,Ct),i!=null&&i.length?(a(),$(o,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),Be=g(At,[["__scopeId","data-v-3f927ebe"]]),Bt={class:"content"},Ht={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Dt=_({__name:"VPDocAsideOutline",setup(n){const{frontmatter:e,theme:t}=V(),s=Le([]);te(()=>{s.value=ke(e.value.outline??t.value.outline)});const o=T(),i=T();return Mt(o,i),(l,d)=>(a(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:I(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:o},[p("div",Bt,[p("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),p("div",Ht,N(r(Ae)(r(t))),1),k(Be,{headers:s.value,root:!0},null,8,["headers"])])],2))}}),Ot=g(Dt,[["__scopeId","data-v-b38bf2ff"]]),Ft={class:"VPDocAsideCarbonAds"},Ut=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(n){const e=()=>null;return(t,s)=>(a(),u("div",Ft,[k(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Rt=n=>(A("data-v-6d7b3c46"),n=n(),B(),n),jt={class:"VPDocAside"},Gt=Rt(()=>p("div",{class:"spacer"},null,-1)),zt=_({__name:"VPDocAside",setup(n){const{theme:e}=V();return(t,s)=>(a(),u("div",jt,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),k(Ot),c(t.$slots,"aside-outline-after",{},void 0,!0),Gt,c(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),$(Ut,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):h("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Kt=g(zt,[["__scopeId","data-v-6d7b3c46"]]);function Wt(){const{theme:n,page:e}=V();return y(()=>{const{text:t="Edit this page",pattern:s=""}=n.value.editLink||{};let o;return typeof s=="function"?o=s(e.value):o=s.replace(/:path/g,e.value.filePath),{url:o,text:t}})}function qt(){const{page:n,theme:e,frontmatter:t}=V();return y(()=>{var m,L,b,S,P,E,C,w;const s=Ce(e.value.sidebar,n.value.relativePath),o=Vt(s),i=Jt(o,j=>j.link.replace(/[?#].*$/,"")),l=i.findIndex(j=>W(n.value.relativePath,j.link)),d=((m=e.value.docFooter)==null?void 0:m.prev)===!1&&!t.value.prev||t.value.prev===!1,v=((L=e.value.docFooter)==null?void 0:L.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((b=i[l-1])==null?void 0:b.docFooterText)??((S=i[l-1])==null?void 0:S.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((P=i[l-1])==null?void 0:P.link)},next:v?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((E=i[l+1])==null?void 0:E.docFooterText)??((C=i[l+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((w=i[l+1])==null?void 0:w.link)}}})}function Jt(n,e){const t=new Set;return n.filter(s=>{const o=e(s);return t.has(o)?!1:t.add(o)})}const F=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(n){const e=n,t=y(()=>e.tag??(e.href?"a":"span")),s=y(()=>e.href&&Te.test(e.href)||e.target==="_blank");return(o,i)=>(a(),$(O(t.value),{class:I(["VPLink",{link:o.href,"vp-external-link-icon":s.value,"no-icon":o.noIcon}]),href:o.href?r(be)(o.href):void 0,target:o.target??(s.value?"_blank":void 0),rel:o.rel??(s.value?"noreferrer":void 0)},{default:f(()=>[c(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Yt={class:"VPLastUpdated"},Xt=["datetime"],Qt=_({__name:"VPDocFooterLastUpdated",setup(n){const{theme:e,page:t,lang:s}=V(),o=y(()=>new Date(t.value.lastUpdated)),i=y(()=>o.value.toISOString()),l=T("");return K(()=>{ee(()=>{var d,v,m;l.value=new Intl.DateTimeFormat((v=(d=e.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&v.forceLocale?s.value:void 0,((m=e.value.lastUpdated)==null?void 0:m.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(o.value)})}),(d,v)=>{var m;return a(),u("p",Yt,[U(N(((m=r(e).lastUpdated)==null?void 0:m.text)||r(e).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:i.value},N(l.value),9,Xt)])}}}),Zt=g(Qt,[["__scopeId","data-v-475f71b8"]]),He=n=>(A("data-v-4f9813fa"),n=n(),B(),n),xt={key:0,class:"VPDocFooter"},en={key:0,class:"edit-info"},tn={key:0,class:"edit-link"},nn=He(()=>p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),on={key:1,class:"last-updated"},sn={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},an=He(()=>p("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),rn={class:"pager"},ln=["innerHTML"],cn=["innerHTML"],un={class:"pager"},dn=["innerHTML"],vn=["innerHTML"],pn=_({__name:"VPDocFooter",setup(n){const{theme:e,page:t,frontmatter:s}=V(),o=Wt(),i=qt(),l=y(()=>e.value.editLink&&s.value.editLink!==!1),d=y(()=>t.value.lastUpdated),v=y(()=>l.value||d.value||i.value.prev||i.value.next);return(m,L)=>{var b,S,P,E;return v.value?(a(),u("footer",xt,[c(m.$slots,"doc-footer-before",{},void 0,!0),l.value||d.value?(a(),u("div",en,[l.value?(a(),u("div",tn,[k(F,{class:"edit-link-button",href:r(o).url,"no-icon":!0},{default:f(()=>[nn,U(" "+N(r(o).text),1)]),_:1},8,["href"])])):h("",!0),d.value?(a(),u("div",on,[k(Zt)])):h("",!0)])):h("",!0),(b=r(i).prev)!=null&&b.link||(S=r(i).next)!=null&&S.link?(a(),u("nav",sn,[an,p("div",rn,[(P=r(i).prev)!=null&&P.link?(a(),$(F,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:f(()=>{var C;return[p("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,ln),p("span",{class:"title",innerHTML:r(i).prev.text},null,8,cn)]}),_:1},8,["href"])):h("",!0)]),p("div",un,[(E=r(i).next)!=null&&E.link?(a(),$(F,{key:0,class:"pager-link next",href:r(i).next.link},{default:f(()=>{var C;return[p("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,dn),p("span",{class:"title",innerHTML:r(i).next.text},null,8,vn)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),fn=g(pn,[["__scopeId","data-v-4f9813fa"]]),hn=n=>(A("data-v-83890dd9"),n=n(),B(),n),_n={class:"container"},mn=hn(()=>p("div",{class:"aside-curtain"},null,-1)),bn={class:"aside-container"},kn={class:"aside-content"},$n={class:"content"},gn={class:"content-container"},yn={class:"main"},Sn=_({__name:"VPDoc",setup(n){const{theme:e}=V(),t=ne(),{hasSidebar:s,hasAside:o,leftAside:i}=R(),l=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,v)=>{const m=q("Content");return a(),u("div",{class:I(["VPDoc",{"has-sidebar":r(s),"has-aside":r(o)}])},[c(d.$slots,"doc-top",{},void 0,!0),p("div",_n,[r(o)?(a(),u("div",{key:0,class:I(["aside",{"left-aside":r(i)}])},[mn,p("div",bn,[p("div",kn,[k(Kt,null,{"aside-top":f(()=>[c(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),p("div",$n,[p("div",gn,[c(d.$slots,"doc-before",{},void 0,!0),p("main",yn,[k(m,{class:I(["vp-doc",[l.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),k(fn,null,{"doc-footer-before":f(()=>[c(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(d.$slots,"doc-after",{},void 0,!0)])])]),c(d.$slots,"doc-bottom",{},void 0,!0)],2)}}}),Pn=g(Sn,[["__scopeId","data-v-83890dd9"]]),Vn=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(n){const e=n,t=y(()=>e.href&&Te.test(e.href)),s=y(()=>e.tag||e.href?"a":"button");return(o,i)=>(a(),$(O(s.value),{class:I(["VPButton",[o.size,o.theme]]),href:o.href?r(be)(o.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:f(()=>[U(N(o.text),1)]),_:1},8,["class","href","target","rel"]))}}),Ln=g(Vn,[["__scopeId","data-v-14206e74"]]),Tn=["src","alt"],wn=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(n){return(e,t)=>{const s=q("VPImage",!0);return e.image?(a(),u(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),u("img",z({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(fe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Tn)):(a(),u(M,{key:1},[k(s,z({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),k(s,z({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),x=g(wn,[["__scopeId","data-v-35a7d0b8"]]),Nn=n=>(A("data-v-955009fc"),n=n(),B(),n),In={class:"container"},Mn={class:"main"},En={key:0,class:"name"},Cn=["innerHTML"],An=["innerHTML"],Bn=["innerHTML"],Hn={key:0,class:"actions"},Dn={key:0,class:"image"},On={class:"image-container"},Fn=Nn(()=>p("div",{class:"image-bg"},null,-1)),Un=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(n){const e=Y("hero-image-slot-exists");return(t,s)=>(a(),u("div",{class:I(["VPHero",{"has-image":t.image||r(e)}])},[p("div",In,[p("div",Mn,[c(t.$slots,"home-hero-info-before",{},void 0,!0),c(t.$slots,"home-hero-info",{},()=>[t.name?(a(),u("h1",En,[p("span",{innerHTML:t.name,class:"clip"},null,8,Cn)])):h("",!0),t.text?(a(),u("p",{key:1,innerHTML:t.text,class:"text"},null,8,An)):h("",!0),t.tagline?(a(),u("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Bn)):h("",!0)],!0),c(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),u("div",Hn,[(a(!0),u(M,null,H(t.actions,o=>(a(),u("div",{key:o.link,class:"action"},[k(Ln,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link,target:o.target,rel:o.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),u("div",Dn,[p("div",On,[Fn,c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),$(x,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),Rn=g(Un,[["__scopeId","data-v-955009fc"]]),jn=_({__name:"VPHomeHero",setup(n){const{frontmatter:e}=V();return(t,s)=>r(e).hero?(a(),$(Rn,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),Gn=n=>(A("data-v-f5e9645b"),n=n(),B(),n),zn={class:"box"},Kn={key:0,class:"icon"},Wn=["innerHTML"],qn=["innerHTML"],Jn=["innerHTML"],Yn={key:4,class:"link-text"},Xn={class:"link-text-value"},Qn=Gn(()=>p("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),Zn=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(n){return(e,t)=>(a(),$(F,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[p("article",zn,[typeof e.icon=="object"&&e.icon.wrap?(a(),u("div",Kn,[k(x,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),$(x,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Wn)):h("",!0),p("h2",{class:"title",innerHTML:e.title},null,8,qn),e.details?(a(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Jn)):h("",!0),e.linkText?(a(),u("div",Yn,[p("p",Xn,[U(N(e.linkText)+" ",1),Qn])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),xn=g(Zn,[["__scopeId","data-v-f5e9645b"]]),eo={key:0,class:"VPFeatures"},to={class:"container"},no={class:"items"},oo=_({__name:"VPFeatures",props:{features:{}},setup(n){const e=n,t=y(()=>{const s=e.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,o)=>s.features?(a(),u("div",eo,[p("div",to,[p("div",no,[(a(!0),u(M,null,H(s.features,i=>(a(),u("div",{key:i.title,class:I(["item",[t.value]])},[k(xn,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),so=g(oo,[["__scopeId","data-v-d0a190d7"]]),ao=_({__name:"VPHomeFeatures",setup(n){const{frontmatter:e}=V();return(t,s)=>r(e).features?(a(),$(so,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):h("",!0)}}),ro=_({__name:"VPHomeContent",setup(n){const{width:e}=Ze({initialWidth:0,includeScrollbar:!1});return(t,s)=>(a(),u("div",{class:"vp-doc container",style:we(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[c(t.$slots,"default",{},void 0,!0)],4))}}),io=g(ro,[["__scopeId","data-v-7a48a447"]]),lo={class:"VPHome"},co=_({__name:"VPHome",setup(n){const{frontmatter:e}=V();return(t,s)=>{const o=q("Content");return a(),u("div",lo,[c(t.$slots,"home-hero-before",{},void 0,!0),k(jn,null,{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(t.$slots,"home-hero-after",{},void 0,!0),c(t.$slots,"home-features-before",{},void 0,!0),k(ao),c(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),$(io,{key:0},{default:f(()=>[k(o)]),_:1})):(a(),$(o,{key:1}))])}}}),uo=g(co,[["__scopeId","data-v-cbb6ec48"]]),vo={},po={class:"VPPage"};function fo(n,e){const t=q("Content");return a(),u("div",po,[c(n.$slots,"page-top"),k(t),c(n.$slots,"page-bottom")])}const ho=g(vo,[["render",fo]]),_o=_({__name:"VPContent",setup(n){const{page:e,frontmatter:t}=V(),{hasSidebar:s}=R();return(o,i)=>(a(),u("div",{class:I(["VPContent",{"has-sidebar":r(s),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?c(o.$slots,"not-found",{key:0},()=>[k(St)],!0):r(t).layout==="page"?(a(),$(ho,{key:1},{"page-top":f(()=>[c(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),$(uo,{key:2},{"home-hero-before":f(()=>[c(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),$(O(r(t).layout),{key:3})):(a(),$(Pn,{key:4},{"doc-top":f(()=>[c(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[c(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[c(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[c(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[c(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),mo=g(_o,[["__scopeId","data-v-91765379"]]),bo={class:"container"},ko=["innerHTML"],$o=["innerHTML"],go=_({__name:"VPFooter",setup(n){const{theme:e,frontmatter:t}=V(),{hasSidebar:s}=R();return(o,i)=>r(e).footer&&r(t).footer!==!1?(a(),u("footer",{key:0,class:I(["VPFooter",{"has-sidebar":r(s)}])},[p("div",bo,[r(e).footer.message?(a(),u("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,ko)):h("",!0),r(e).footer.copyright?(a(),u("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,$o)):h("",!0)])],2)):h("",!0)}}),yo=g(go,[["__scopeId","data-v-c970a860"]]);function So(){const{theme:n,frontmatter:e}=V(),t=Le([]),s=y(()=>t.value.length>0);return te(()=>{t.value=ke(e.value.outline??n.value.outline)}),{headers:t,hasLocalNav:s}}const Po=n=>(A("data-v-bc9dc845"),n=n(),B(),n),Vo={class:"menu-text"},Lo=Po(()=>p("span",{class:"vpi-chevron-right icon"},null,-1)),To={class:"header"},wo={class:"outline"},No=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(n){const e=n,{theme:t}=V(),s=T(!1),o=T(0),i=T(),l=T();function d(b){var S;(S=i.value)!=null&&S.contains(b.target)||(s.value=!1)}D(s,b=>{if(b){document.addEventListener("click",d);return}document.removeEventListener("click",d)}),ce("Escape",()=>{s.value=!1}),te(()=>{s.value=!1});function v(){s.value=!s.value,o.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function m(b){b.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),Ne(()=>{s.value=!1}))}function L(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(b,S)=>(a(),u("div",{class:"VPLocalNavOutlineDropdown",style:we({"--vp-vh":o.value+"px"}),ref_key:"main",ref:i},[b.headers.length>0?(a(),u("button",{key:0,onClick:v,class:I({open:s.value})},[p("span",Vo,N(r(Ae)(r(t))),1),Lo],2)):(a(),u("button",{key:1,onClick:L},N(r(t).returnToTopLabel||"Return to top"),1)),k(pe,{name:"flyout"},{default:f(()=>[s.value?(a(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:m},[p("div",To,[p("a",{class:"top-link",href:"#",onClick:L},N(r(t).returnToTopLabel||"Return to top"),1)]),p("div",wo,[k(Be,{headers:b.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),Io=g(No,[["__scopeId","data-v-bc9dc845"]]),Mo=n=>(A("data-v-070ab83d"),n=n(),B(),n),Eo={class:"container"},Co=["aria-expanded"],Ao=Mo(()=>p("span",{class:"vpi-align-left menu-icon"},null,-1)),Bo={class:"menu-text"},Ho=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(n){const{theme:e,frontmatter:t}=V(),{hasSidebar:s}=R(),{headers:o}=So(),{y:i}=Ie(),l=T(0);K(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),te(()=>{o.value=ke(t.value.outline??e.value.outline)});const d=y(()=>o.value.length===0),v=y(()=>d.value&&!s.value),m=y(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:d.value,fixed:v.value}));return(L,b)=>r(t).layout!=="home"&&(!v.value||r(i)>=l.value)?(a(),u("div",{key:0,class:I(m.value)},[p("div",Eo,[r(s)?(a(),u("button",{key:0,class:"menu","aria-expanded":L.open,"aria-controls":"VPSidebarNav",onClick:b[0]||(b[0]=S=>L.$emit("open-menu"))},[Ao,p("span",Bo,N(r(e).sidebarMenuLabel||"Menu"),1)],8,Co)):h("",!0),k(Io,{headers:r(o),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),Do=g(Ho,[["__scopeId","data-v-070ab83d"]]);function Oo(){const n=T(!1);function e(){n.value=!0,window.addEventListener("resize",o)}function t(){n.value=!1,window.removeEventListener("resize",o)}function s(){n.value?t():e()}function o(){window.outerWidth>=768&&t()}const i=ne();return D(()=>i.path,t),{isScreenOpen:n,openScreen:e,closeScreen:t,toggleScreen:s}}const Fo={},Uo={class:"VPSwitch",type:"button",role:"switch"},Ro={class:"check"},jo={key:0,class:"icon"};function Go(n,e){return a(),u("button",Uo,[p("span",Ro,[n.$slots.default?(a(),u("span",jo,[c(n.$slots,"default",{},void 0,!0)])):h("",!0)])])}const zo=g(Fo,[["render",Go],["__scopeId","data-v-4a1c76db"]]),De=n=>(A("data-v-e40a8bb6"),n=n(),B(),n),Ko=De(()=>p("span",{class:"vpi-sun sun"},null,-1)),Wo=De(()=>p("span",{class:"vpi-moon moon"},null,-1)),qo=_({__name:"VPSwitchAppearance",setup(n){const{isDark:e,theme:t}=V(),s=Y("toggle-appearance",()=>{e.value=!e.value}),o=T("");return _e(()=>{o.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,l)=>(a(),$(zo,{title:o.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(s)},{default:f(()=>[Ko,Wo]),_:1},8,["title","aria-checked","onClick"]))}}),$e=g(qo,[["__scopeId","data-v-e40a8bb6"]]),Jo={key:0,class:"VPNavBarAppearance"},Yo=_({__name:"VPNavBarAppearance",setup(n){const{site:e}=V();return(t,s)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Jo,[k($e)])):h("",!0)}}),Xo=g(Yo,[["__scopeId","data-v-af096f4a"]]),ge=T();let Oe=!1,ie=0;function Qo(n){const e=T(!1);if(oe){!Oe&&Zo(),ie++;const t=D(ge,s=>{var o,i,l;s===n.el.value||(o=n.el.value)!=null&&o.contains(s)?(e.value=!0,(i=n.onFocus)==null||i.call(n)):(e.value=!1,(l=n.onBlur)==null||l.call(n))});he(()=>{t(),ie--,ie||xo()})}return xe(e)}function Zo(){document.addEventListener("focusin",Fe),Oe=!0,ge.value=document.activeElement}function xo(){document.removeEventListener("focusin",Fe)}function Fe(){ge.value=document.activeElement}const es={class:"VPMenuLink"},ts=_({__name:"VPMenuLink",props:{item:{}},setup(n){const{page:e}=V();return(t,s)=>(a(),u("div",es,[k(F,{class:I({active:r(W)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:f(()=>[U(N(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),se=g(ts,[["__scopeId","data-v-8b74d055"]]),ns={class:"VPMenuGroup"},os={key:0,class:"title"},ss=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(n){return(e,t)=>(a(),u("div",ns,[e.text?(a(),u("p",os,N(e.text),1)):h("",!0),(a(!0),u(M,null,H(e.items,s=>(a(),u(M,null,["link"in s?(a(),$(se,{key:0,item:s},null,8,["item"])):h("",!0)],64))),256))]))}}),as=g(ss,[["__scopeId","data-v-48c802d0"]]),rs={class:"VPMenu"},is={key:0,class:"items"},ls=_({__name:"VPMenu",props:{items:{}},setup(n){return(e,t)=>(a(),u("div",rs,[e.items?(a(),u("div",is,[(a(!0),u(M,null,H(e.items,s=>(a(),u(M,{key:JSON.stringify(s)},["link"in s?(a(),$(se,{key:0,item:s},null,8,["item"])):"component"in s?(a(),$(O(s.component),z({key:1,ref_for:!0},s.props),null,16)):(a(),$(as,{key:2,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(e.$slots,"default",{},void 0,!0)]))}}),cs=g(ls,[["__scopeId","data-v-7dd3104a"]]),us=n=>(A("data-v-e5380155"),n=n(),B(),n),ds=["aria-expanded","aria-label"],vs={key:0,class:"text"},ps=["innerHTML"],fs=us(()=>p("span",{class:"vpi-chevron-down text-icon"},null,-1)),hs={key:1,class:"vpi-more-horizontal icon"},_s={class:"menu"},ms=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(n){const e=T(!1),t=T();Qo({el:t,onBlur:s});function s(){e.value=!1}return(o,i)=>(a(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=l=>e.value=!0),onMouseleave:i[2]||(i[2]=l=>e.value=!1)},[p("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":o.label,onClick:i[0]||(i[0]=l=>e.value=!e.value)},[o.button||o.icon?(a(),u("span",vs,[o.icon?(a(),u("span",{key:0,class:I([o.icon,"option-icon"])},null,2)):h("",!0),o.button?(a(),u("span",{key:1,innerHTML:o.button},null,8,ps)):h("",!0),fs])):(a(),u("span",hs))],8,ds),p("div",_s,[k(cs,{items:o.items},{default:f(()=>[c(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ye=g(ms,[["__scopeId","data-v-e5380155"]]),bs=["href","aria-label","innerHTML"],ks=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(n){const e=n,t=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(s,o)=>(a(),u("a",{class:"VPSocialLink no-icon",href:s.link,"aria-label":s.ariaLabel??(typeof s.icon=="string"?s.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,bs))}}),$s=g(ks,[["__scopeId","data-v-717b8b75"]]),gs={class:"VPSocialLinks"},ys=_({__name:"VPSocialLinks",props:{links:{}},setup(n){return(e,t)=>(a(),u("div",gs,[(a(!0),u(M,null,H(e.links,({link:s,icon:o,ariaLabel:i})=>(a(),$($s,{key:s,icon:o,link:s,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),Se=g(ys,[["__scopeId","data-v-ee7a9424"]]),Ss={key:0,class:"group translations"},Ps={class:"trans-title"},Vs={key:1,class:"group"},Ls={class:"item appearance"},Ts={class:"label"},ws={class:"appearance-action"},Ns={key:2,class:"group"},Is={class:"item social-links"},Ms=_({__name:"VPNavBarExtra",setup(n){const{site:e,theme:t}=V(),{localeLinks:s,currentLang:o}=Q({correspondingLink:!0}),i=y(()=>s.value.length&&o.value.label||e.value.appearance||t.value.socialLinks);return(l,d)=>i.value?(a(),$(ye,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[r(s).length&&r(o).label?(a(),u("div",Ss,[p("p",Ps,N(r(o).label),1),(a(!0),u(M,null,H(r(s),v=>(a(),$(se,{key:v.link,item:v},null,8,["item"]))),128))])):h("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Vs,[p("div",Ls,[p("p",Ts,N(r(t).darkModeSwitchLabel||"Appearance"),1),p("div",ws,[k($e)])])])):h("",!0),r(t).socialLinks?(a(),u("div",Ns,[p("div",Is,[k(Se,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),Es=g(Ms,[["__scopeId","data-v-925effce"]]),Cs=n=>(A("data-v-5dea55bf"),n=n(),B(),n),As=["aria-expanded"],Bs=Cs(()=>p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)),Hs=[Bs],Ds=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(n){return(e,t)=>(a(),u("button",{type:"button",class:I(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=s=>e.$emit("click"))},Hs,10,As))}}),Os=g(Ds,[["__scopeId","data-v-5dea55bf"]]),Fs=["innerHTML"],Us=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(n){const{page:e}=V();return(t,s)=>(a(),$(F,{class:I({VPNavBarMenuLink:!0,active:r(W)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,noIcon:t.item.noIcon,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,Fs)]),_:1},8,["class","href","noIcon","target","rel"]))}}),Rs=g(Us,[["__scopeId","data-v-ed5ac1f6"]]),js=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(n){const e=n,{page:t}=V(),s=i=>"component"in i?!1:"link"in i?W(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(s),o=y(()=>s(e.item));return(i,l)=>(a(),$(ye,{class:I({VPNavBarMenuGroup:!0,active:r(W)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||o.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),Gs=n=>(A("data-v-e6d46098"),n=n(),B(),n),zs={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Ks=Gs(()=>p("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),Ws=_({__name:"VPNavBarMenu",setup(n){const{theme:e}=V();return(t,s)=>r(e).nav?(a(),u("nav",zs,[Ks,(a(!0),u(M,null,H(r(e).nav,o=>(a(),u(M,{key:JSON.stringify(o)},["link"in o?(a(),$(Rs,{key:0,item:o},null,8,["item"])):"component"in o?(a(),$(O(o.component),z({key:1,ref_for:!0},o.props),null,16)):(a(),$(js,{key:2,item:o},null,8,["item"]))],64))),128))])):h("",!0)}}),qs=g(Ws,[["__scopeId","data-v-e6d46098"]]);function Js(n){const{localeIndex:e,theme:t}=V();function s(o){var E,C,w;const i=o.split("."),l=(E=t.value.search)==null?void 0:E.options,d=l&&typeof l=="object",v=d&&((w=(C=l.locales)==null?void 0:C[e.value])==null?void 0:w.translations)||null,m=d&&l.translations||null;let L=v,b=m,S=n;const P=i.pop();for(const j of i){let G=null;const J=S==null?void 0:S[j];J&&(G=S=J);const ae=b==null?void 0:b[j];ae&&(G=b=ae);const re=L==null?void 0:L[j];re&&(G=L=re),J||(S=G),ae||(b=G),re||(L=G)}return(L==null?void 0:L[P])??(b==null?void 0:b[P])??(S==null?void 0:S[P])??""}return s}const Ys=["aria-label"],Xs={class:"DocSearch-Button-Container"},Qs=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),Zs={class:"DocSearch-Button-Placeholder"},xs=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Pe=_({__name:"VPNavBarSearchButton",setup(n){const t=Js({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(s,o)=>(a(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[p("span",Xs,[Qs,p("span",Zs,N(r(t)("button.buttonText")),1)]),xs],8,Ys))}}),ea={class:"VPNavBarSearch"},ta={id:"local-search"},na={key:1,id:"docsearch"},oa=_({__name:"VPNavBarSearch",setup(n){const e=et(()=>tt(()=>import("./VPLocalSearchBox.DTJBufB2.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:s}=V(),o=T(!1),i=T(!1);K(()=>{});function l(){o.value||(o.value=!0,setTimeout(d,16))}function d(){const b=new Event("keydown");b.key="k",b.metaKey=!0,window.dispatchEvent(b),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||d()},16)}function v(b){const S=b.target,P=S.tagName;return S.isContentEditable||P==="INPUT"||P==="SELECT"||P==="TEXTAREA"}const m=T(!1);ce("k",b=>{(b.ctrlKey||b.metaKey)&&(b.preventDefault(),m.value=!0)}),ce("/",b=>{v(b)||(b.preventDefault(),m.value=!0)});const L="local";return(b,S)=>{var P;return a(),u("div",ea,[r(L)==="local"?(a(),u(M,{key:0},[m.value?(a(),$(r(e),{key:0,onClose:S[0]||(S[0]=E=>m.value=!1)})):h("",!0),p("div",ta,[k(Pe,{onClick:S[1]||(S[1]=E=>m.value=!0)})])],64)):r(L)==="algolia"?(a(),u(M,{key:1},[o.value?(a(),$(r(t),{key:0,algolia:((P=r(s).search)==null?void 0:P.options)??r(s).algolia,onVnodeBeforeMount:S[2]||(S[2]=E=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(a(),u("div",na,[k(Pe,{onClick:l})]))],64)):h("",!0)])}}}),sa=_({__name:"VPNavBarSocialLinks",setup(n){const{theme:e}=V();return(t,s)=>r(e).socialLinks?(a(),$(Se,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),aa=g(sa,[["__scopeId","data-v-164c457f"]]),ra=["href","rel","target"],ia={key:1},la={key:2},ca=_({__name:"VPNavBarTitle",setup(n){const{site:e,theme:t}=V(),{hasSidebar:s}=R(),{currentLang:o}=Q(),i=y(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),l=y(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),d=y(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,m)=>(a(),u("div",{class:I(["VPNavBarTitle",{"has-sidebar":r(s)}])},[p("a",{class:"title",href:i.value??r(be)(r(o).link),rel:l.value,target:d.value},[c(v.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),$(x,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):h("",!0),r(t).siteTitle?(a(),u("span",ia,N(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),u("span",la,N(r(e).title),1)):h("",!0),c(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,ra)],2))}}),ua=g(ca,[["__scopeId","data-v-28a961f9"]]),da={class:"items"},va={class:"title"},pa=_({__name:"VPNavBarTranslations",setup(n){const{theme:e}=V(),{localeLinks:t,currentLang:s}=Q({correspondingLink:!0});return(o,i)=>r(t).length&&r(s).label?(a(),$(ye,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:f(()=>[p("div",da,[p("p",va,N(r(s).label),1),(a(!0),u(M,null,H(r(t),l=>(a(),$(se,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),fa=g(pa,[["__scopeId","data-v-c80d9ad0"]]),ha=n=>(A("data-v-822684d1"),n=n(),B(),n),_a={class:"wrapper"},ma={class:"container"},ba={class:"title"},ka={class:"content"},$a={class:"content-body"},ga=ha(()=>p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1)),ya=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(n){const e=n,{y:t}=Ie(),{hasSidebar:s}=R(),{frontmatter:o}=V(),i=T({});return _e(()=>{i.value={"has-sidebar":s.value,home:o.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,d)=>(a(),u("div",{class:I(["VPNavBar",i.value])},[p("div",_a,[p("div",ma,[p("div",ba,[k(ua,null,{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),p("div",ka,[p("div",$a,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),k(oa,{class:"search"}),k(qs,{class:"menu"}),k(fa,{class:"translations"}),k(Xo,{class:"appearance"}),k(aa,{class:"social-links"}),k(Es,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),k(Os,{class:"hamburger",active:l.isScreenOpen,onClick:d[0]||(d[0]=v=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),ga],2))}}),Sa=g(ya,[["__scopeId","data-v-822684d1"]]),Pa={key:0,class:"VPNavScreenAppearance"},Va={class:"text"},La=_({__name:"VPNavScreenAppearance",setup(n){const{site:e,theme:t}=V();return(s,o)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Pa,[p("p",Va,N(r(t).darkModeSwitchLabel||"Appearance"),1),k($e)])):h("",!0)}}),Ta=g(La,[["__scopeId","data-v-ffb44008"]]),wa=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(n){const e=Y("close-screen");return(t,s)=>(a(),$(F,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e),innerHTML:t.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),Na=g(wa,[["__scopeId","data-v-27d04aeb"]]),Ia=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(n){const e=Y("close-screen");return(t,s)=>(a(),$(F,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:f(()=>[U(N(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ue=g(Ia,[["__scopeId","data-v-7179dbb7"]]),Ma={class:"VPNavScreenMenuGroupSection"},Ea={key:0,class:"title"},Ca=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(n){return(e,t)=>(a(),u("div",Ma,[e.text?(a(),u("p",Ea,N(e.text),1)):h("",!0),(a(!0),u(M,null,H(e.items,s=>(a(),$(Ue,{key:s.text,item:s},null,8,["item"]))),128))]))}}),Aa=g(Ca,[["__scopeId","data-v-4b8941ac"]]),Ba=n=>(A("data-v-875057a5"),n=n(),B(),n),Ha=["aria-controls","aria-expanded"],Da=["innerHTML"],Oa=Ba(()=>p("span",{class:"vpi-plus button-icon"},null,-1)),Fa=["id"],Ua={key:0,class:"item"},Ra={key:1,class:"item"},ja={key:2,class:"group"},Ga=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(n){const e=n,t=T(!1),s=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function o(){t.value=!t.value}return(i,l)=>(a(),u("div",{class:I(["VPNavScreenMenuGroup",{open:t.value}])},[p("button",{class:"button","aria-controls":s.value,"aria-expanded":t.value,onClick:o},[p("span",{class:"button-text",innerHTML:i.text},null,8,Da),Oa],8,Ha),p("div",{id:s.value,class:"items"},[(a(!0),u(M,null,H(i.items,d=>(a(),u(M,{key:JSON.stringify(d)},["link"in d?(a(),u("div",Ua,[k(Ue,{item:d},null,8,["item"])])):"component"in d?(a(),u("div",Ra,[(a(),$(O(d.component),z({ref_for:!0},d.props,{"screen-menu":""}),null,16))])):(a(),u("div",ja,[k(Aa,{text:d.text,items:d.items},null,8,["text","items"])]))],64))),128))],8,Fa)],2))}}),za=g(Ga,[["__scopeId","data-v-875057a5"]]),Ka={key:0,class:"VPNavScreenMenu"},Wa=_({__name:"VPNavScreenMenu",setup(n){const{theme:e}=V();return(t,s)=>r(e).nav?(a(),u("nav",Ka,[(a(!0),u(M,null,H(r(e).nav,o=>(a(),u(M,{key:JSON.stringify(o)},["link"in o?(a(),$(Na,{key:0,item:o},null,8,["item"])):"component"in o?(a(),$(O(o.component),z({key:1,ref_for:!0},o.props,{"screen-menu":""}),null,16)):(a(),$(za,{key:2,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),qa=_({__name:"VPNavScreenSocialLinks",setup(n){const{theme:e}=V();return(t,s)=>r(e).socialLinks?(a(),$(Se,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),Re=n=>(A("data-v-362991c2"),n=n(),B(),n),Ja=Re(()=>p("span",{class:"vpi-languages icon lang"},null,-1)),Ya=Re(()=>p("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Xa={class:"list"},Qa=_({__name:"VPNavScreenTranslations",setup(n){const{localeLinks:e,currentLang:t}=Q({correspondingLink:!0}),s=T(!1);function o(){s.value=!s.value}return(i,l)=>r(e).length&&r(t).label?(a(),u("div",{key:0,class:I(["VPNavScreenTranslations",{open:s.value}])},[p("button",{class:"title",onClick:o},[Ja,U(" "+N(r(t).label)+" ",1),Ya]),p("ul",Xa,[(a(!0),u(M,null,H(r(e),d=>(a(),u("li",{key:d.link,class:"item"},[k(F,{class:"link",href:d.link},{default:f(()=>[U(N(d.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),Za=g(Qa,[["__scopeId","data-v-362991c2"]]),xa={class:"container"},er=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(n){const e=T(null),t=Me(oe?document.body:null);return(s,o)=>(a(),$(pe,{name:"fade",onEnter:o[0]||(o[0]=i=>t.value=!0),onAfterLeave:o[1]||(o[1]=i=>t.value=!1)},{default:f(()=>[s.open?(a(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[p("div",xa,[c(s.$slots,"nav-screen-content-before",{},void 0,!0),k(Wa,{class:"menu"}),k(Za,{class:"translations"}),k(Ta,{class:"appearance"}),k(qa,{class:"social-links"}),c(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),tr=g(er,[["__scopeId","data-v-833aabba"]]),nr={key:0,class:"VPNav"},or=_({__name:"VPNav",setup(n){const{isScreenOpen:e,closeScreen:t,toggleScreen:s}=Oo(),{frontmatter:o}=V(),i=y(()=>o.value.navbar!==!1);return me("close-screen",t),ee(()=>{oe&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,d)=>i.value?(a(),u("header",nr,[k(Sa,{"is-screen-open":r(e),onToggleScreen:r(s)},{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),k(tr,{open:r(e)},{"nav-screen-content-before":f(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),sr=g(or,[["__scopeId","data-v-f1e365da"]]),je=n=>(A("data-v-196b2e5f"),n=n(),B(),n),ar=["role","tabindex"],rr=je(()=>p("div",{class:"indicator"},null,-1)),ir=je(()=>p("span",{class:"vpi-chevron-right caret-icon"},null,-1)),lr=[ir],cr={key:1,class:"items"},ur=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(n){const e=n,{collapsed:t,collapsible:s,isLink:o,isActiveLink:i,hasActiveLink:l,hasChildren:d,toggle:v}=Tt(y(()=>e.item)),m=y(()=>d.value?"section":"div"),L=y(()=>o.value?"a":"div"),b=y(()=>d.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),S=y(()=>o.value?void 0:"button"),P=y(()=>[[`level-${e.depth}`],{collapsible:s.value},{collapsed:t.value},{"is-link":o.value},{"is-active":i.value},{"has-active":l.value}]);function E(w){"key"in w&&w.key!=="Enter"||!e.item.link&&v()}function C(){e.item.link&&v()}return(w,j)=>{const G=q("VPSidebarItem",!0);return a(),$(O(m.value),{class:I(["VPSidebarItem",P.value])},{default:f(()=>[w.item.text?(a(),u("div",z({key:0,class:"item",role:S.value},nt(w.item.items?{click:E,keydown:E}:{},!0),{tabindex:w.item.items&&0}),[rr,w.item.link?(a(),$(F,{key:0,tag:L.value,class:"link",href:w.item.link,rel:w.item.rel,target:w.item.target},{default:f(()=>[(a(),$(O(b.value),{class:"text",innerHTML:w.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),$(O(b.value),{key:1,class:"text",innerHTML:w.item.text},null,8,["innerHTML"])),w.item.collapsed!=null&&w.item.items&&w.item.items.length?(a(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:ot(C,["enter"]),tabindex:"0"},lr,32)):h("",!0)],16,ar)):h("",!0),w.item.items&&w.item.items.length?(a(),u("div",cr,[w.depth<5?(a(!0),u(M,{key:0},H(w.item.items,J=>(a(),$(G,{key:J.text,item:J,depth:w.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),dr=g(ur,[["__scopeId","data-v-196b2e5f"]]),vr=_({__name:"VPSidebarGroup",props:{items:{}},setup(n){const e=T(!0);let t=null;return K(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),st(()=>{t!=null&&(clearTimeout(t),t=null)}),(s,o)=>(a(!0),u(M,null,H(s.items,i=>(a(),u("div",{key:i.text,class:I(["group",{"no-transition":e.value}])},[k(dr,{item:i,depth:0},null,8,["item"])],2))),128))}}),pr=g(vr,[["__scopeId","data-v-9e426adc"]]),Ge=n=>(A("data-v-18756405"),n=n(),B(),n),fr=Ge(()=>p("div",{class:"curtain"},null,-1)),hr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},_r=Ge(()=>p("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),mr=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(n){const{sidebarGroups:e,hasSidebar:t}=R(),s=n,o=T(null),i=Me(oe?document.body:null);D([s,o],()=>{var d;s.open?(i.value=!0,(d=o.value)==null||d.focus()):i.value=!1},{immediate:!0,flush:"post"});const l=T(0);return D(e,()=>{l.value+=1},{deep:!0}),(d,v)=>r(t)?(a(),u("aside",{key:0,class:I(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:o,onClick:v[0]||(v[0]=at(()=>{},["stop"]))},[fr,p("nav",hr,[_r,c(d.$slots,"sidebar-nav-before",{},void 0,!0),(a(),$(pr,{items:r(e),key:l.value},null,8,["items"])),c(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),br=g(mr,[["__scopeId","data-v-18756405"]]),kr=_({__name:"VPSkipLink",setup(n){const e=ne(),t=T();D(()=>e.path,()=>t.value.focus());function s({target:o}){const i=document.getElementById(decodeURIComponent(o.hash).slice(1));if(i){const l=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",l)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",l),i.focus(),window.scrollTo(0,0)}}return(o,i)=>(a(),u(M,null,[p("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}}),$r=g(kr,[["__scopeId","data-v-c3508ec8"]]),gr=_({__name:"Layout",setup(n){const{isOpen:e,open:t,close:s}=R(),o=ne();D(()=>o.path,s),Lt(e,s);const{frontmatter:i}=V(),l=Ee(),d=y(()=>!!l["home-hero-image"]);return me("hero-image-slot-exists",d),(v,m)=>{const L=q("Content");return r(i).layout!==!1?(a(),u("div",{key:0,class:I(["Layout",r(i).pageClass])},[c(v.$slots,"layout-top",{},void 0,!0),k($r),k(dt,{class:"backdrop",show:r(e),onClick:r(s)},null,8,["show","onClick"]),k(sr,null,{"nav-bar-title-before":f(()=>[c(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[c(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),k(Do,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),k(br,{open:r(e)},{"sidebar-nav-before":f(()=>[c(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[c(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),k(mo,null,{"page-top":f(()=>[c(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[c(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[c(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(v.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(v.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(v.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[c(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),k(yo),c(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),$(L,{key:1}))}}}),yr=g(gr,[["__scopeId","data-v-a9a9e638"]]),Sr={Layout:yr,enhanceApp:({app:n})=>{n.component("Badge",lt)}},Pr=n=>{if(typeof document>"u")return{stabilizeScrollPosition:o=>async(...i)=>o(...i)};const e=document.documentElement;return{stabilizeScrollPosition:s=>async(...o)=>{const i=s(...o),l=n.value;if(!l)return i;const d=l.offsetTop-e.scrollTop;return await Ne(),e.scrollTop=l.offsetTop-d,i}}},ze="vitepress:tabSharedState",X=typeof localStorage<"u"?localStorage:null,Ke="vitepress:tabsSharedState",Vr=()=>{const n=X==null?void 0:X.getItem(Ke);if(n)try{return JSON.parse(n)}catch{}return{}},Lr=n=>{X&&X.setItem(Ke,JSON.stringify(n))},Tr=n=>{const e=rt({});D(()=>e.content,(t,s)=>{t&&s&&Lr(t)},{deep:!0}),n.provide(ze,e)},wr=(n,e)=>{const t=Y(ze);if(!t)throw new Error("[vitepress-plugin-tabs] TabsSharedState should be injected");K(()=>{t.content||(t.content=Vr())});const s=T(),o=y({get(){var v;const l=e.value,d=n.value;if(l){const m=(v=t.content)==null?void 0:v[l];if(m&&d.includes(m))return m}else{const m=s.value;if(m)return m}return d[0]},set(l){const d=e.value;d?t.content&&(t.content[d]=l):s.value=l}});return{selected:o,select:l=>{o.value=l}}};let Ve=0;const Nr=()=>(Ve++,""+Ve);function Ir(){const n=Ee();return y(()=>{var s;const t=(s=n.default)==null?void 0:s.call(n);return t?t.filter(o=>typeof o.type=="object"&&"__name"in o.type&&o.type.__name==="PluginTabsTab"&&o.props).map(o=>{var i;return(i=o.props)==null?void 0:i.label}):[]})}const We="vitepress:tabSingleState",Mr=n=>{me(We,n)},Er=()=>{const n=Y(We);if(!n)throw new Error("[vitepress-plugin-tabs] TabsSingleState should be injected");return n},Cr={class:"plugin-tabs"},Ar=["id","aria-selected","aria-controls","tabindex","onClick"],Br=_({__name:"PluginTabs",props:{sharedStateKey:{}},setup(n){const e=n,t=Ir(),{selected:s,select:o}=wr(t,it(e,"sharedStateKey")),i=T(),{stabilizeScrollPosition:l}=Pr(i),d=l(o),v=T([]),m=b=>{var E;const S=t.value.indexOf(s.value);let P;b.key==="ArrowLeft"?P=S>=1?S-1:t.value.length-1:b.key==="ArrowRight"&&(P=S(a(),u("div",Cr,[p("div",{ref_key:"tablist",ref:i,class:"plugin-tabs--tab-list",role:"tablist",onKeydown:m},[(a(!0),u(M,null,H(r(t),P=>(a(),u("button",{id:`tab-${P}-${r(L)}`,ref_for:!0,ref_key:"buttonRefs",ref:v,key:P,role:"tab",class:"plugin-tabs--tab","aria-selected":P===r(s),"aria-controls":`panel-${P}-${r(L)}`,tabindex:P===r(s)?0:-1,onClick:()=>r(d)(P)},N(P),9,Ar))),128))],544),c(b.$slots,"default")]))}}),Hr=["id","aria-labelledby"],Dr=_({__name:"PluginTabsTab",props:{label:{}},setup(n){const{uid:e,selected:t}=Er();return(s,o)=>r(t)===s.label?(a(),u("div",{key:0,id:`panel-${s.label}-${r(e)}`,class:"plugin-tabs--content",role:"tabpanel",tabindex:"0","aria-labelledby":`tab-${s.label}-${r(e)}`},[c(s.$slots,"default",{},void 0,!0)],8,Hr)):h("",!0)}}),Or=g(Dr,[["__scopeId","data-v-9b0d03d2"]]),Fr=n=>{Tr(n),n.component("PluginTabs",Br),n.component("PluginTabsTab",Or)},Rr={extends:Sr,async enhanceApp({app:n,router:e,siteData:t}){if(Fr(n),typeof window<"u"){let s=function(){if(!(window.DOCUMENTER_NEWEST===void 0||window.DOCUMENTER_CURRENT_VERSION===void 0||window.DOCUMENTER_STABLE===void 0)&&window.DOCUMENTER_NEWEST===window.DOCUMENTER_CURRENT_VERSION){const o=window.location.href.replace(window.DOCUMENTER_CURRENT_VERSION,window.DOCUMENTER_STABLE);window.history.replaceState({additionalInformation:"URL rewritten to stable"},"DimensionalData",o);return}};D(()=>e.route.data.relativePath,s,{immediate:!0}),document.addEventListener("DOMContentLoaded",s)}}};export{Rr as R,Js as c,V as u}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.DnX1yi9A.js","assets/chunks/framework.CNWpduVv.js"])))=>i.map(i=>d[i]); +import{d as _,o as a,c as u,r as c,n as I,a as U,t as N,b as $,w as f,e as h,T as pe,_ as g,u as qe,i as Je,f as Ye,g as fe,h as y,j as p,k as r,p as A,l as B,m as W,q as le,s as T,v as D,x as ee,y as K,z as he,A as _e,B as Xe,C as Qe,D as q,F as M,E as H,G as Le,H as te,I as k,J as O,K as Te,L as ne,M as z,N as Y,O as Ze,P as we,Q as ce,R as Ne,S as Ie,U as oe,V as xe,W as et,X as tt,Y as Me,Z as me,$ as nt,a0 as ot,a1 as st,a2 as at,a3 as Ee,a4 as rt,a5 as it}from"./framework.CNWpduVv.js";const lt=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(n){return(e,t)=>(a(),u("span",{class:I(["VPBadge",e.type])},[c(e.$slots,"default",{},()=>[U(N(e.text),1)])],2))}}),ct={key:0,class:"VPBackdrop"},ut=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(n){return(e,t)=>(a(),$(pe,{name:"fade"},{default:f(()=>[e.show?(a(),u("div",ct)):h("",!0)]),_:1}))}}),dt=g(ut,[["__scopeId","data-v-b06cdb19"]]),V=qe;function vt(n,e){let t,s=!1;return()=>{t&&clearTimeout(t),s?t=setTimeout(n,e):(n(),(s=!0)&&setTimeout(()=>s=!1,e))}}function ue(n){return/^\//.test(n)?n:`/${n}`}function be(n){const{pathname:e,search:t,hash:s,protocol:o}=new URL(n,"http://a.com");if(Je(n)||n.startsWith("#")||!o.startsWith("http")||!Ye(e))return n;const{site:i}=V(),l=e.endsWith("/")||e.endsWith(".html")?n:n.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${s}`);return fe(l)}function Q({correspondingLink:n=!1}={}){const{site:e,localeIndex:t,page:s,theme:o,hash:i}=V(),l=y(()=>{var v,m;return{label:(v=e.value.locales[t.value])==null?void 0:v.label,link:((m=e.value.locales[t.value])==null?void 0:m.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([v,m])=>l.value.label===m.label?[]:{text:m.label,link:pt(m.link||(v==="root"?"/":`/${v}/`),o.value.i18nRouting!==!1&&n,s.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:l}}function pt(n,e,t,s){return e?n.replace(/\/$/,"")+ue(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):n}const ft=n=>(A("data-v-951cab6c"),n=n(),B(),n),ht={class:"NotFound"},_t={class:"code"},mt={class:"title"},bt=ft(()=>p("div",{class:"divider"},null,-1)),kt={class:"quote"},$t={class:"action"},gt=["href","aria-label"],yt=_({__name:"NotFound",setup(n){const{theme:e}=V(),{currentLang:t}=Q();return(s,o)=>{var i,l,d,v,m;return a(),u("div",ht,[p("p",_t,N(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),p("h1",mt,N(((l=r(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),bt,p("blockquote",kt,N(((d=r(e).notFound)==null?void 0:d.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",$t,[p("a",{class:"link",href:r(fe)(r(t).link),"aria-label":((v=r(e).notFound)==null?void 0:v.linkLabel)??"go to home"},N(((m=r(e).notFound)==null?void 0:m.linkText)??"Take me home"),9,gt)])])}}}),St=g(yt,[["__scopeId","data-v-951cab6c"]]);function Ce(n,e){if(Array.isArray(n))return Z(n);if(n==null)return[];e=ue(e);const t=Object.keys(n).sort((o,i)=>i.split("/").length-o.split("/").length).find(o=>e.startsWith(ue(o))),s=t?n[t]:[];return Array.isArray(s)?Z(s):Z(s.items,s.base)}function Pt(n){const e=[];let t=0;for(const s in n){const o=n[s];if(o.items){t=e.push(o);continue}e[t]||e.push({items:[]}),e[t].items.push(o)}return e}function Vt(n){const e=[];function t(s){for(const o of s)o.text&&o.link&&e.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&t(o.items)}return t(n),e}function de(n,e){return Array.isArray(e)?e.some(t=>de(n,t)):W(n,e.link)?!0:e.items?de(n,e.items):!1}function Z(n,e){return[...n].map(t=>{const s={...t},o=s.base||e;return o&&s.link&&(s.link=o+s.link),s.items&&(s.items=Z(s.items,o)),s})}function R(){const{frontmatter:n,page:e,theme:t}=V(),s=le("(min-width: 960px)"),o=T(!1),i=y(()=>{const C=t.value.sidebar,w=e.value.relativePath;return C?Ce(C,w):[]}),l=T(i.value);D(i,(C,w)=>{JSON.stringify(C)!==JSON.stringify(w)&&(l.value=i.value)});const d=y(()=>n.value.sidebar!==!1&&l.value.length>0&&n.value.layout!=="home"),v=y(()=>m?n.value.aside==null?t.value.aside==="left":n.value.aside==="left":!1),m=y(()=>n.value.layout==="home"?!1:n.value.aside!=null?!!n.value.aside:t.value.aside!==!1),L=y(()=>d.value&&s.value),b=y(()=>d.value?Pt(l.value):[]);function S(){o.value=!0}function P(){o.value=!1}function E(){o.value?P():S()}return{isOpen:o,sidebar:l,sidebarGroups:b,hasSidebar:d,hasAside:m,leftAside:v,isSidebarEnabled:L,open:S,close:P,toggle:E}}function Lt(n,e){let t;ee(()=>{t=n.value?document.activeElement:void 0}),K(()=>{window.addEventListener("keyup",s)}),he(()=>{window.removeEventListener("keyup",s)});function s(o){o.key==="Escape"&&n.value&&(e(),t==null||t.focus())}}function Tt(n){const{page:e,hash:t}=V(),s=T(!1),o=y(()=>n.value.collapsed!=null),i=y(()=>!!n.value.link),l=T(!1),d=()=>{l.value=W(e.value.relativePath,n.value.link)};D([e,n,t],d),K(d);const v=y(()=>l.value?!0:n.value.items?de(e.value.relativePath,n.value.items):!1),m=y(()=>!!(n.value.items&&n.value.items.length));ee(()=>{s.value=!!(o.value&&n.value.collapsed)}),_e(()=>{(l.value||v.value)&&(s.value=!1)});function L(){o.value&&(s.value=!s.value)}return{collapsed:s,collapsible:o,isLink:i,isActiveLink:l,hasActiveLink:v,hasChildren:m,toggle:L}}function wt(){const{hasSidebar:n}=R(),e=le("(min-width: 960px)"),t=le("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:n.value?t.value:e.value)}}const ve=[];function Ae(n){return typeof n.outline=="object"&&!Array.isArray(n.outline)&&n.outline.label||n.outlineTitle||"On this page"}function ke(n){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const s=Number(t.tagName[1]);return{element:t,title:Nt(t),link:"#"+t.id,level:s}});return It(e,n)}function Nt(n){let e="";for(const t of n.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function It(n,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[s,o]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;n=n.filter(l=>l.level>=s&&l.level<=o),ve.length=0;for(const{element:l,link:d}of n)ve.push({element:l,link:d});const i=[];e:for(let l=0;l=0;v--){const m=n[v];if(m.level{requestAnimationFrame(i),window.addEventListener("scroll",s)}),Xe(()=>{l(location.hash)}),he(()=>{window.removeEventListener("scroll",s)});function i(){if(!t.value)return;const d=window.scrollY,v=window.innerHeight,m=document.body.offsetHeight,L=Math.abs(d+v-m)<1,b=ve.map(({element:P,link:E})=>({link:E,top:Et(P)})).filter(({top:P})=>!Number.isNaN(P)).sort((P,E)=>P.top-E.top);if(!b.length){l(null);return}if(d<1){l(null);return}if(L){l(b[b.length-1].link);return}let S=null;for(const{link:P,top:E}of b){if(E>d+Qe()+4)break;S=P}l(S)}function l(d){o&&o.classList.remove("active"),d==null?o=null:o=n.value.querySelector(`a[href="${decodeURIComponent(d)}"]`);const v=o;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Et(n){let e=0;for(;n!==document.body;){if(n===null)return NaN;e+=n.offsetTop,n=n.offsetParent}return e}const Ct=["href","title"],At=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(n){function e({target:t}){const s=t.href.split("#")[1],o=document.getElementById(decodeURIComponent(s));o==null||o.focus({preventScroll:!0})}return(t,s)=>{const o=q("VPDocOutlineItem",!0);return a(),u("ul",{class:I(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),u(M,null,H(t.headers,({children:i,link:l,title:d})=>(a(),u("li",null,[p("a",{class:"outline-link",href:l,onClick:e,title:d},N(d),9,Ct),i!=null&&i.length?(a(),$(o,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),Be=g(At,[["__scopeId","data-v-3f927ebe"]]),Bt={class:"content"},Ht={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Dt=_({__name:"VPDocAsideOutline",setup(n){const{frontmatter:e,theme:t}=V(),s=Le([]);te(()=>{s.value=ke(e.value.outline??t.value.outline)});const o=T(),i=T();return Mt(o,i),(l,d)=>(a(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:I(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:o},[p("div",Bt,[p("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),p("div",Ht,N(r(Ae)(r(t))),1),k(Be,{headers:s.value,root:!0},null,8,["headers"])])],2))}}),Ot=g(Dt,[["__scopeId","data-v-b38bf2ff"]]),Ft={class:"VPDocAsideCarbonAds"},Ut=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(n){const e=()=>null;return(t,s)=>(a(),u("div",Ft,[k(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Rt=n=>(A("data-v-6d7b3c46"),n=n(),B(),n),jt={class:"VPDocAside"},Gt=Rt(()=>p("div",{class:"spacer"},null,-1)),zt=_({__name:"VPDocAside",setup(n){const{theme:e}=V();return(t,s)=>(a(),u("div",jt,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),k(Ot),c(t.$slots,"aside-outline-after",{},void 0,!0),Gt,c(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),$(Ut,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):h("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Kt=g(zt,[["__scopeId","data-v-6d7b3c46"]]);function Wt(){const{theme:n,page:e}=V();return y(()=>{const{text:t="Edit this page",pattern:s=""}=n.value.editLink||{};let o;return typeof s=="function"?o=s(e.value):o=s.replace(/:path/g,e.value.filePath),{url:o,text:t}})}function qt(){const{page:n,theme:e,frontmatter:t}=V();return y(()=>{var m,L,b,S,P,E,C,w;const s=Ce(e.value.sidebar,n.value.relativePath),o=Vt(s),i=Jt(o,j=>j.link.replace(/[?#].*$/,"")),l=i.findIndex(j=>W(n.value.relativePath,j.link)),d=((m=e.value.docFooter)==null?void 0:m.prev)===!1&&!t.value.prev||t.value.prev===!1,v=((L=e.value.docFooter)==null?void 0:L.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((b=i[l-1])==null?void 0:b.docFooterText)??((S=i[l-1])==null?void 0:S.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((P=i[l-1])==null?void 0:P.link)},next:v?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((E=i[l+1])==null?void 0:E.docFooterText)??((C=i[l+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((w=i[l+1])==null?void 0:w.link)}}})}function Jt(n,e){const t=new Set;return n.filter(s=>{const o=e(s);return t.has(o)?!1:t.add(o)})}const F=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(n){const e=n,t=y(()=>e.tag??(e.href?"a":"span")),s=y(()=>e.href&&Te.test(e.href)||e.target==="_blank");return(o,i)=>(a(),$(O(t.value),{class:I(["VPLink",{link:o.href,"vp-external-link-icon":s.value,"no-icon":o.noIcon}]),href:o.href?r(be)(o.href):void 0,target:o.target??(s.value?"_blank":void 0),rel:o.rel??(s.value?"noreferrer":void 0)},{default:f(()=>[c(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Yt={class:"VPLastUpdated"},Xt=["datetime"],Qt=_({__name:"VPDocFooterLastUpdated",setup(n){const{theme:e,page:t,lang:s}=V(),o=y(()=>new Date(t.value.lastUpdated)),i=y(()=>o.value.toISOString()),l=T("");return K(()=>{ee(()=>{var d,v,m;l.value=new Intl.DateTimeFormat((v=(d=e.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&v.forceLocale?s.value:void 0,((m=e.value.lastUpdated)==null?void 0:m.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(o.value)})}),(d,v)=>{var m;return a(),u("p",Yt,[U(N(((m=r(e).lastUpdated)==null?void 0:m.text)||r(e).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:i.value},N(l.value),9,Xt)])}}}),Zt=g(Qt,[["__scopeId","data-v-475f71b8"]]),He=n=>(A("data-v-4f9813fa"),n=n(),B(),n),xt={key:0,class:"VPDocFooter"},en={key:0,class:"edit-info"},tn={key:0,class:"edit-link"},nn=He(()=>p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),on={key:1,class:"last-updated"},sn={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},an=He(()=>p("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),rn={class:"pager"},ln=["innerHTML"],cn=["innerHTML"],un={class:"pager"},dn=["innerHTML"],vn=["innerHTML"],pn=_({__name:"VPDocFooter",setup(n){const{theme:e,page:t,frontmatter:s}=V(),o=Wt(),i=qt(),l=y(()=>e.value.editLink&&s.value.editLink!==!1),d=y(()=>t.value.lastUpdated),v=y(()=>l.value||d.value||i.value.prev||i.value.next);return(m,L)=>{var b,S,P,E;return v.value?(a(),u("footer",xt,[c(m.$slots,"doc-footer-before",{},void 0,!0),l.value||d.value?(a(),u("div",en,[l.value?(a(),u("div",tn,[k(F,{class:"edit-link-button",href:r(o).url,"no-icon":!0},{default:f(()=>[nn,U(" "+N(r(o).text),1)]),_:1},8,["href"])])):h("",!0),d.value?(a(),u("div",on,[k(Zt)])):h("",!0)])):h("",!0),(b=r(i).prev)!=null&&b.link||(S=r(i).next)!=null&&S.link?(a(),u("nav",sn,[an,p("div",rn,[(P=r(i).prev)!=null&&P.link?(a(),$(F,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:f(()=>{var C;return[p("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,ln),p("span",{class:"title",innerHTML:r(i).prev.text},null,8,cn)]}),_:1},8,["href"])):h("",!0)]),p("div",un,[(E=r(i).next)!=null&&E.link?(a(),$(F,{key:0,class:"pager-link next",href:r(i).next.link},{default:f(()=>{var C;return[p("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,dn),p("span",{class:"title",innerHTML:r(i).next.text},null,8,vn)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),fn=g(pn,[["__scopeId","data-v-4f9813fa"]]),hn=n=>(A("data-v-83890dd9"),n=n(),B(),n),_n={class:"container"},mn=hn(()=>p("div",{class:"aside-curtain"},null,-1)),bn={class:"aside-container"},kn={class:"aside-content"},$n={class:"content"},gn={class:"content-container"},yn={class:"main"},Sn=_({__name:"VPDoc",setup(n){const{theme:e}=V(),t=ne(),{hasSidebar:s,hasAside:o,leftAside:i}=R(),l=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,v)=>{const m=q("Content");return a(),u("div",{class:I(["VPDoc",{"has-sidebar":r(s),"has-aside":r(o)}])},[c(d.$slots,"doc-top",{},void 0,!0),p("div",_n,[r(o)?(a(),u("div",{key:0,class:I(["aside",{"left-aside":r(i)}])},[mn,p("div",bn,[p("div",kn,[k(Kt,null,{"aside-top":f(()=>[c(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),p("div",$n,[p("div",gn,[c(d.$slots,"doc-before",{},void 0,!0),p("main",yn,[k(m,{class:I(["vp-doc",[l.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),k(fn,null,{"doc-footer-before":f(()=>[c(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(d.$slots,"doc-after",{},void 0,!0)])])]),c(d.$slots,"doc-bottom",{},void 0,!0)],2)}}}),Pn=g(Sn,[["__scopeId","data-v-83890dd9"]]),Vn=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(n){const e=n,t=y(()=>e.href&&Te.test(e.href)),s=y(()=>e.tag||e.href?"a":"button");return(o,i)=>(a(),$(O(s.value),{class:I(["VPButton",[o.size,o.theme]]),href:o.href?r(be)(o.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:f(()=>[U(N(o.text),1)]),_:1},8,["class","href","target","rel"]))}}),Ln=g(Vn,[["__scopeId","data-v-14206e74"]]),Tn=["src","alt"],wn=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(n){return(e,t)=>{const s=q("VPImage",!0);return e.image?(a(),u(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),u("img",z({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(fe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Tn)):(a(),u(M,{key:1},[k(s,z({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),k(s,z({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),x=g(wn,[["__scopeId","data-v-35a7d0b8"]]),Nn=n=>(A("data-v-955009fc"),n=n(),B(),n),In={class:"container"},Mn={class:"main"},En={key:0,class:"name"},Cn=["innerHTML"],An=["innerHTML"],Bn=["innerHTML"],Hn={key:0,class:"actions"},Dn={key:0,class:"image"},On={class:"image-container"},Fn=Nn(()=>p("div",{class:"image-bg"},null,-1)),Un=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(n){const e=Y("hero-image-slot-exists");return(t,s)=>(a(),u("div",{class:I(["VPHero",{"has-image":t.image||r(e)}])},[p("div",In,[p("div",Mn,[c(t.$slots,"home-hero-info-before",{},void 0,!0),c(t.$slots,"home-hero-info",{},()=>[t.name?(a(),u("h1",En,[p("span",{innerHTML:t.name,class:"clip"},null,8,Cn)])):h("",!0),t.text?(a(),u("p",{key:1,innerHTML:t.text,class:"text"},null,8,An)):h("",!0),t.tagline?(a(),u("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Bn)):h("",!0)],!0),c(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),u("div",Hn,[(a(!0),u(M,null,H(t.actions,o=>(a(),u("div",{key:o.link,class:"action"},[k(Ln,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link,target:o.target,rel:o.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),u("div",Dn,[p("div",On,[Fn,c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),$(x,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),Rn=g(Un,[["__scopeId","data-v-955009fc"]]),jn=_({__name:"VPHomeHero",setup(n){const{frontmatter:e}=V();return(t,s)=>r(e).hero?(a(),$(Rn,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),Gn=n=>(A("data-v-f5e9645b"),n=n(),B(),n),zn={class:"box"},Kn={key:0,class:"icon"},Wn=["innerHTML"],qn=["innerHTML"],Jn=["innerHTML"],Yn={key:4,class:"link-text"},Xn={class:"link-text-value"},Qn=Gn(()=>p("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),Zn=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(n){return(e,t)=>(a(),$(F,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[p("article",zn,[typeof e.icon=="object"&&e.icon.wrap?(a(),u("div",Kn,[k(x,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),$(x,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Wn)):h("",!0),p("h2",{class:"title",innerHTML:e.title},null,8,qn),e.details?(a(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Jn)):h("",!0),e.linkText?(a(),u("div",Yn,[p("p",Xn,[U(N(e.linkText)+" ",1),Qn])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),xn=g(Zn,[["__scopeId","data-v-f5e9645b"]]),eo={key:0,class:"VPFeatures"},to={class:"container"},no={class:"items"},oo=_({__name:"VPFeatures",props:{features:{}},setup(n){const e=n,t=y(()=>{const s=e.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,o)=>s.features?(a(),u("div",eo,[p("div",to,[p("div",no,[(a(!0),u(M,null,H(s.features,i=>(a(),u("div",{key:i.title,class:I(["item",[t.value]])},[k(xn,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),so=g(oo,[["__scopeId","data-v-d0a190d7"]]),ao=_({__name:"VPHomeFeatures",setup(n){const{frontmatter:e}=V();return(t,s)=>r(e).features?(a(),$(so,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):h("",!0)}}),ro=_({__name:"VPHomeContent",setup(n){const{width:e}=Ze({initialWidth:0,includeScrollbar:!1});return(t,s)=>(a(),u("div",{class:"vp-doc container",style:we(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[c(t.$slots,"default",{},void 0,!0)],4))}}),io=g(ro,[["__scopeId","data-v-7a48a447"]]),lo={class:"VPHome"},co=_({__name:"VPHome",setup(n){const{frontmatter:e}=V();return(t,s)=>{const o=q("Content");return a(),u("div",lo,[c(t.$slots,"home-hero-before",{},void 0,!0),k(jn,null,{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(t.$slots,"home-hero-after",{},void 0,!0),c(t.$slots,"home-features-before",{},void 0,!0),k(ao),c(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),$(io,{key:0},{default:f(()=>[k(o)]),_:1})):(a(),$(o,{key:1}))])}}}),uo=g(co,[["__scopeId","data-v-cbb6ec48"]]),vo={},po={class:"VPPage"};function fo(n,e){const t=q("Content");return a(),u("div",po,[c(n.$slots,"page-top"),k(t),c(n.$slots,"page-bottom")])}const ho=g(vo,[["render",fo]]),_o=_({__name:"VPContent",setup(n){const{page:e,frontmatter:t}=V(),{hasSidebar:s}=R();return(o,i)=>(a(),u("div",{class:I(["VPContent",{"has-sidebar":r(s),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?c(o.$slots,"not-found",{key:0},()=>[k(St)],!0):r(t).layout==="page"?(a(),$(ho,{key:1},{"page-top":f(()=>[c(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),$(uo,{key:2},{"home-hero-before":f(()=>[c(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),$(O(r(t).layout),{key:3})):(a(),$(Pn,{key:4},{"doc-top":f(()=>[c(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[c(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[c(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[c(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[c(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),mo=g(_o,[["__scopeId","data-v-91765379"]]),bo={class:"container"},ko=["innerHTML"],$o=["innerHTML"],go=_({__name:"VPFooter",setup(n){const{theme:e,frontmatter:t}=V(),{hasSidebar:s}=R();return(o,i)=>r(e).footer&&r(t).footer!==!1?(a(),u("footer",{key:0,class:I(["VPFooter",{"has-sidebar":r(s)}])},[p("div",bo,[r(e).footer.message?(a(),u("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,ko)):h("",!0),r(e).footer.copyright?(a(),u("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,$o)):h("",!0)])],2)):h("",!0)}}),yo=g(go,[["__scopeId","data-v-c970a860"]]);function So(){const{theme:n,frontmatter:e}=V(),t=Le([]),s=y(()=>t.value.length>0);return te(()=>{t.value=ke(e.value.outline??n.value.outline)}),{headers:t,hasLocalNav:s}}const Po=n=>(A("data-v-bc9dc845"),n=n(),B(),n),Vo={class:"menu-text"},Lo=Po(()=>p("span",{class:"vpi-chevron-right icon"},null,-1)),To={class:"header"},wo={class:"outline"},No=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(n){const e=n,{theme:t}=V(),s=T(!1),o=T(0),i=T(),l=T();function d(b){var S;(S=i.value)!=null&&S.contains(b.target)||(s.value=!1)}D(s,b=>{if(b){document.addEventListener("click",d);return}document.removeEventListener("click",d)}),ce("Escape",()=>{s.value=!1}),te(()=>{s.value=!1});function v(){s.value=!s.value,o.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function m(b){b.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),Ne(()=>{s.value=!1}))}function L(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(b,S)=>(a(),u("div",{class:"VPLocalNavOutlineDropdown",style:we({"--vp-vh":o.value+"px"}),ref_key:"main",ref:i},[b.headers.length>0?(a(),u("button",{key:0,onClick:v,class:I({open:s.value})},[p("span",Vo,N(r(Ae)(r(t))),1),Lo],2)):(a(),u("button",{key:1,onClick:L},N(r(t).returnToTopLabel||"Return to top"),1)),k(pe,{name:"flyout"},{default:f(()=>[s.value?(a(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:m},[p("div",To,[p("a",{class:"top-link",href:"#",onClick:L},N(r(t).returnToTopLabel||"Return to top"),1)]),p("div",wo,[k(Be,{headers:b.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),Io=g(No,[["__scopeId","data-v-bc9dc845"]]),Mo=n=>(A("data-v-070ab83d"),n=n(),B(),n),Eo={class:"container"},Co=["aria-expanded"],Ao=Mo(()=>p("span",{class:"vpi-align-left menu-icon"},null,-1)),Bo={class:"menu-text"},Ho=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(n){const{theme:e,frontmatter:t}=V(),{hasSidebar:s}=R(),{headers:o}=So(),{y:i}=Ie(),l=T(0);K(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),te(()=>{o.value=ke(t.value.outline??e.value.outline)});const d=y(()=>o.value.length===0),v=y(()=>d.value&&!s.value),m=y(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:d.value,fixed:v.value}));return(L,b)=>r(t).layout!=="home"&&(!v.value||r(i)>=l.value)?(a(),u("div",{key:0,class:I(m.value)},[p("div",Eo,[r(s)?(a(),u("button",{key:0,class:"menu","aria-expanded":L.open,"aria-controls":"VPSidebarNav",onClick:b[0]||(b[0]=S=>L.$emit("open-menu"))},[Ao,p("span",Bo,N(r(e).sidebarMenuLabel||"Menu"),1)],8,Co)):h("",!0),k(Io,{headers:r(o),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),Do=g(Ho,[["__scopeId","data-v-070ab83d"]]);function Oo(){const n=T(!1);function e(){n.value=!0,window.addEventListener("resize",o)}function t(){n.value=!1,window.removeEventListener("resize",o)}function s(){n.value?t():e()}function o(){window.outerWidth>=768&&t()}const i=ne();return D(()=>i.path,t),{isScreenOpen:n,openScreen:e,closeScreen:t,toggleScreen:s}}const Fo={},Uo={class:"VPSwitch",type:"button",role:"switch"},Ro={class:"check"},jo={key:0,class:"icon"};function Go(n,e){return a(),u("button",Uo,[p("span",Ro,[n.$slots.default?(a(),u("span",jo,[c(n.$slots,"default",{},void 0,!0)])):h("",!0)])])}const zo=g(Fo,[["render",Go],["__scopeId","data-v-4a1c76db"]]),De=n=>(A("data-v-e40a8bb6"),n=n(),B(),n),Ko=De(()=>p("span",{class:"vpi-sun sun"},null,-1)),Wo=De(()=>p("span",{class:"vpi-moon moon"},null,-1)),qo=_({__name:"VPSwitchAppearance",setup(n){const{isDark:e,theme:t}=V(),s=Y("toggle-appearance",()=>{e.value=!e.value}),o=T("");return _e(()=>{o.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,l)=>(a(),$(zo,{title:o.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(s)},{default:f(()=>[Ko,Wo]),_:1},8,["title","aria-checked","onClick"]))}}),$e=g(qo,[["__scopeId","data-v-e40a8bb6"]]),Jo={key:0,class:"VPNavBarAppearance"},Yo=_({__name:"VPNavBarAppearance",setup(n){const{site:e}=V();return(t,s)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Jo,[k($e)])):h("",!0)}}),Xo=g(Yo,[["__scopeId","data-v-af096f4a"]]),ge=T();let Oe=!1,ie=0;function Qo(n){const e=T(!1);if(oe){!Oe&&Zo(),ie++;const t=D(ge,s=>{var o,i,l;s===n.el.value||(o=n.el.value)!=null&&o.contains(s)?(e.value=!0,(i=n.onFocus)==null||i.call(n)):(e.value=!1,(l=n.onBlur)==null||l.call(n))});he(()=>{t(),ie--,ie||xo()})}return xe(e)}function Zo(){document.addEventListener("focusin",Fe),Oe=!0,ge.value=document.activeElement}function xo(){document.removeEventListener("focusin",Fe)}function Fe(){ge.value=document.activeElement}const es={class:"VPMenuLink"},ts=_({__name:"VPMenuLink",props:{item:{}},setup(n){const{page:e}=V();return(t,s)=>(a(),u("div",es,[k(F,{class:I({active:r(W)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:f(()=>[U(N(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),se=g(ts,[["__scopeId","data-v-8b74d055"]]),ns={class:"VPMenuGroup"},os={key:0,class:"title"},ss=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(n){return(e,t)=>(a(),u("div",ns,[e.text?(a(),u("p",os,N(e.text),1)):h("",!0),(a(!0),u(M,null,H(e.items,s=>(a(),u(M,null,["link"in s?(a(),$(se,{key:0,item:s},null,8,["item"])):h("",!0)],64))),256))]))}}),as=g(ss,[["__scopeId","data-v-48c802d0"]]),rs={class:"VPMenu"},is={key:0,class:"items"},ls=_({__name:"VPMenu",props:{items:{}},setup(n){return(e,t)=>(a(),u("div",rs,[e.items?(a(),u("div",is,[(a(!0),u(M,null,H(e.items,s=>(a(),u(M,{key:JSON.stringify(s)},["link"in s?(a(),$(se,{key:0,item:s},null,8,["item"])):"component"in s?(a(),$(O(s.component),z({key:1,ref_for:!0},s.props),null,16)):(a(),$(as,{key:2,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(e.$slots,"default",{},void 0,!0)]))}}),cs=g(ls,[["__scopeId","data-v-7dd3104a"]]),us=n=>(A("data-v-e5380155"),n=n(),B(),n),ds=["aria-expanded","aria-label"],vs={key:0,class:"text"},ps=["innerHTML"],fs=us(()=>p("span",{class:"vpi-chevron-down text-icon"},null,-1)),hs={key:1,class:"vpi-more-horizontal icon"},_s={class:"menu"},ms=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(n){const e=T(!1),t=T();Qo({el:t,onBlur:s});function s(){e.value=!1}return(o,i)=>(a(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=l=>e.value=!0),onMouseleave:i[2]||(i[2]=l=>e.value=!1)},[p("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":o.label,onClick:i[0]||(i[0]=l=>e.value=!e.value)},[o.button||o.icon?(a(),u("span",vs,[o.icon?(a(),u("span",{key:0,class:I([o.icon,"option-icon"])},null,2)):h("",!0),o.button?(a(),u("span",{key:1,innerHTML:o.button},null,8,ps)):h("",!0),fs])):(a(),u("span",hs))],8,ds),p("div",_s,[k(cs,{items:o.items},{default:f(()=>[c(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ye=g(ms,[["__scopeId","data-v-e5380155"]]),bs=["href","aria-label","innerHTML"],ks=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(n){const e=n,t=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(s,o)=>(a(),u("a",{class:"VPSocialLink no-icon",href:s.link,"aria-label":s.ariaLabel??(typeof s.icon=="string"?s.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,bs))}}),$s=g(ks,[["__scopeId","data-v-717b8b75"]]),gs={class:"VPSocialLinks"},ys=_({__name:"VPSocialLinks",props:{links:{}},setup(n){return(e,t)=>(a(),u("div",gs,[(a(!0),u(M,null,H(e.links,({link:s,icon:o,ariaLabel:i})=>(a(),$($s,{key:s,icon:o,link:s,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),Se=g(ys,[["__scopeId","data-v-ee7a9424"]]),Ss={key:0,class:"group translations"},Ps={class:"trans-title"},Vs={key:1,class:"group"},Ls={class:"item appearance"},Ts={class:"label"},ws={class:"appearance-action"},Ns={key:2,class:"group"},Is={class:"item social-links"},Ms=_({__name:"VPNavBarExtra",setup(n){const{site:e,theme:t}=V(),{localeLinks:s,currentLang:o}=Q({correspondingLink:!0}),i=y(()=>s.value.length&&o.value.label||e.value.appearance||t.value.socialLinks);return(l,d)=>i.value?(a(),$(ye,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[r(s).length&&r(o).label?(a(),u("div",Ss,[p("p",Ps,N(r(o).label),1),(a(!0),u(M,null,H(r(s),v=>(a(),$(se,{key:v.link,item:v},null,8,["item"]))),128))])):h("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Vs,[p("div",Ls,[p("p",Ts,N(r(t).darkModeSwitchLabel||"Appearance"),1),p("div",ws,[k($e)])])])):h("",!0),r(t).socialLinks?(a(),u("div",Ns,[p("div",Is,[k(Se,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),Es=g(Ms,[["__scopeId","data-v-925effce"]]),Cs=n=>(A("data-v-5dea55bf"),n=n(),B(),n),As=["aria-expanded"],Bs=Cs(()=>p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)),Hs=[Bs],Ds=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(n){return(e,t)=>(a(),u("button",{type:"button",class:I(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=s=>e.$emit("click"))},Hs,10,As))}}),Os=g(Ds,[["__scopeId","data-v-5dea55bf"]]),Fs=["innerHTML"],Us=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(n){const{page:e}=V();return(t,s)=>(a(),$(F,{class:I({VPNavBarMenuLink:!0,active:r(W)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,noIcon:t.item.noIcon,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,Fs)]),_:1},8,["class","href","noIcon","target","rel"]))}}),Rs=g(Us,[["__scopeId","data-v-ed5ac1f6"]]),js=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(n){const e=n,{page:t}=V(),s=i=>"component"in i?!1:"link"in i?W(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(s),o=y(()=>s(e.item));return(i,l)=>(a(),$(ye,{class:I({VPNavBarMenuGroup:!0,active:r(W)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||o.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),Gs=n=>(A("data-v-e6d46098"),n=n(),B(),n),zs={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Ks=Gs(()=>p("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),Ws=_({__name:"VPNavBarMenu",setup(n){const{theme:e}=V();return(t,s)=>r(e).nav?(a(),u("nav",zs,[Ks,(a(!0),u(M,null,H(r(e).nav,o=>(a(),u(M,{key:JSON.stringify(o)},["link"in o?(a(),$(Rs,{key:0,item:o},null,8,["item"])):"component"in o?(a(),$(O(o.component),z({key:1,ref_for:!0},o.props),null,16)):(a(),$(js,{key:2,item:o},null,8,["item"]))],64))),128))])):h("",!0)}}),qs=g(Ws,[["__scopeId","data-v-e6d46098"]]);function Js(n){const{localeIndex:e,theme:t}=V();function s(o){var E,C,w;const i=o.split("."),l=(E=t.value.search)==null?void 0:E.options,d=l&&typeof l=="object",v=d&&((w=(C=l.locales)==null?void 0:C[e.value])==null?void 0:w.translations)||null,m=d&&l.translations||null;let L=v,b=m,S=n;const P=i.pop();for(const j of i){let G=null;const J=S==null?void 0:S[j];J&&(G=S=J);const ae=b==null?void 0:b[j];ae&&(G=b=ae);const re=L==null?void 0:L[j];re&&(G=L=re),J||(S=G),ae||(b=G),re||(L=G)}return(L==null?void 0:L[P])??(b==null?void 0:b[P])??(S==null?void 0:S[P])??""}return s}const Ys=["aria-label"],Xs={class:"DocSearch-Button-Container"},Qs=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),Zs={class:"DocSearch-Button-Placeholder"},xs=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Pe=_({__name:"VPNavBarSearchButton",setup(n){const t=Js({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(s,o)=>(a(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[p("span",Xs,[Qs,p("span",Zs,N(r(t)("button.buttonText")),1)]),xs],8,Ys))}}),ea={class:"VPNavBarSearch"},ta={id:"local-search"},na={key:1,id:"docsearch"},oa=_({__name:"VPNavBarSearch",setup(n){const e=et(()=>tt(()=>import("./VPLocalSearchBox.DnX1yi9A.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:s}=V(),o=T(!1),i=T(!1);K(()=>{});function l(){o.value||(o.value=!0,setTimeout(d,16))}function d(){const b=new Event("keydown");b.key="k",b.metaKey=!0,window.dispatchEvent(b),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||d()},16)}function v(b){const S=b.target,P=S.tagName;return S.isContentEditable||P==="INPUT"||P==="SELECT"||P==="TEXTAREA"}const m=T(!1);ce("k",b=>{(b.ctrlKey||b.metaKey)&&(b.preventDefault(),m.value=!0)}),ce("/",b=>{v(b)||(b.preventDefault(),m.value=!0)});const L="local";return(b,S)=>{var P;return a(),u("div",ea,[r(L)==="local"?(a(),u(M,{key:0},[m.value?(a(),$(r(e),{key:0,onClose:S[0]||(S[0]=E=>m.value=!1)})):h("",!0),p("div",ta,[k(Pe,{onClick:S[1]||(S[1]=E=>m.value=!0)})])],64)):r(L)==="algolia"?(a(),u(M,{key:1},[o.value?(a(),$(r(t),{key:0,algolia:((P=r(s).search)==null?void 0:P.options)??r(s).algolia,onVnodeBeforeMount:S[2]||(S[2]=E=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(a(),u("div",na,[k(Pe,{onClick:l})]))],64)):h("",!0)])}}}),sa=_({__name:"VPNavBarSocialLinks",setup(n){const{theme:e}=V();return(t,s)=>r(e).socialLinks?(a(),$(Se,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),aa=g(sa,[["__scopeId","data-v-164c457f"]]),ra=["href","rel","target"],ia={key:1},la={key:2},ca=_({__name:"VPNavBarTitle",setup(n){const{site:e,theme:t}=V(),{hasSidebar:s}=R(),{currentLang:o}=Q(),i=y(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),l=y(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),d=y(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,m)=>(a(),u("div",{class:I(["VPNavBarTitle",{"has-sidebar":r(s)}])},[p("a",{class:"title",href:i.value??r(be)(r(o).link),rel:l.value,target:d.value},[c(v.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),$(x,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):h("",!0),r(t).siteTitle?(a(),u("span",ia,N(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),u("span",la,N(r(e).title),1)):h("",!0),c(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,ra)],2))}}),ua=g(ca,[["__scopeId","data-v-28a961f9"]]),da={class:"items"},va={class:"title"},pa=_({__name:"VPNavBarTranslations",setup(n){const{theme:e}=V(),{localeLinks:t,currentLang:s}=Q({correspondingLink:!0});return(o,i)=>r(t).length&&r(s).label?(a(),$(ye,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:f(()=>[p("div",da,[p("p",va,N(r(s).label),1),(a(!0),u(M,null,H(r(t),l=>(a(),$(se,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),fa=g(pa,[["__scopeId","data-v-c80d9ad0"]]),ha=n=>(A("data-v-822684d1"),n=n(),B(),n),_a={class:"wrapper"},ma={class:"container"},ba={class:"title"},ka={class:"content"},$a={class:"content-body"},ga=ha(()=>p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1)),ya=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(n){const e=n,{y:t}=Ie(),{hasSidebar:s}=R(),{frontmatter:o}=V(),i=T({});return _e(()=>{i.value={"has-sidebar":s.value,home:o.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,d)=>(a(),u("div",{class:I(["VPNavBar",i.value])},[p("div",_a,[p("div",ma,[p("div",ba,[k(ua,null,{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),p("div",ka,[p("div",$a,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),k(oa,{class:"search"}),k(qs,{class:"menu"}),k(fa,{class:"translations"}),k(Xo,{class:"appearance"}),k(aa,{class:"social-links"}),k(Es,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),k(Os,{class:"hamburger",active:l.isScreenOpen,onClick:d[0]||(d[0]=v=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),ga],2))}}),Sa=g(ya,[["__scopeId","data-v-822684d1"]]),Pa={key:0,class:"VPNavScreenAppearance"},Va={class:"text"},La=_({__name:"VPNavScreenAppearance",setup(n){const{site:e,theme:t}=V();return(s,o)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Pa,[p("p",Va,N(r(t).darkModeSwitchLabel||"Appearance"),1),k($e)])):h("",!0)}}),Ta=g(La,[["__scopeId","data-v-ffb44008"]]),wa=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(n){const e=Y("close-screen");return(t,s)=>(a(),$(F,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e),innerHTML:t.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),Na=g(wa,[["__scopeId","data-v-27d04aeb"]]),Ia=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(n){const e=Y("close-screen");return(t,s)=>(a(),$(F,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:f(()=>[U(N(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ue=g(Ia,[["__scopeId","data-v-7179dbb7"]]),Ma={class:"VPNavScreenMenuGroupSection"},Ea={key:0,class:"title"},Ca=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(n){return(e,t)=>(a(),u("div",Ma,[e.text?(a(),u("p",Ea,N(e.text),1)):h("",!0),(a(!0),u(M,null,H(e.items,s=>(a(),$(Ue,{key:s.text,item:s},null,8,["item"]))),128))]))}}),Aa=g(Ca,[["__scopeId","data-v-4b8941ac"]]),Ba=n=>(A("data-v-875057a5"),n=n(),B(),n),Ha=["aria-controls","aria-expanded"],Da=["innerHTML"],Oa=Ba(()=>p("span",{class:"vpi-plus button-icon"},null,-1)),Fa=["id"],Ua={key:0,class:"item"},Ra={key:1,class:"item"},ja={key:2,class:"group"},Ga=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(n){const e=n,t=T(!1),s=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function o(){t.value=!t.value}return(i,l)=>(a(),u("div",{class:I(["VPNavScreenMenuGroup",{open:t.value}])},[p("button",{class:"button","aria-controls":s.value,"aria-expanded":t.value,onClick:o},[p("span",{class:"button-text",innerHTML:i.text},null,8,Da),Oa],8,Ha),p("div",{id:s.value,class:"items"},[(a(!0),u(M,null,H(i.items,d=>(a(),u(M,{key:JSON.stringify(d)},["link"in d?(a(),u("div",Ua,[k(Ue,{item:d},null,8,["item"])])):"component"in d?(a(),u("div",Ra,[(a(),$(O(d.component),z({ref_for:!0},d.props,{"screen-menu":""}),null,16))])):(a(),u("div",ja,[k(Aa,{text:d.text,items:d.items},null,8,["text","items"])]))],64))),128))],8,Fa)],2))}}),za=g(Ga,[["__scopeId","data-v-875057a5"]]),Ka={key:0,class:"VPNavScreenMenu"},Wa=_({__name:"VPNavScreenMenu",setup(n){const{theme:e}=V();return(t,s)=>r(e).nav?(a(),u("nav",Ka,[(a(!0),u(M,null,H(r(e).nav,o=>(a(),u(M,{key:JSON.stringify(o)},["link"in o?(a(),$(Na,{key:0,item:o},null,8,["item"])):"component"in o?(a(),$(O(o.component),z({key:1,ref_for:!0},o.props,{"screen-menu":""}),null,16)):(a(),$(za,{key:2,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),qa=_({__name:"VPNavScreenSocialLinks",setup(n){const{theme:e}=V();return(t,s)=>r(e).socialLinks?(a(),$(Se,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),Re=n=>(A("data-v-362991c2"),n=n(),B(),n),Ja=Re(()=>p("span",{class:"vpi-languages icon lang"},null,-1)),Ya=Re(()=>p("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Xa={class:"list"},Qa=_({__name:"VPNavScreenTranslations",setup(n){const{localeLinks:e,currentLang:t}=Q({correspondingLink:!0}),s=T(!1);function o(){s.value=!s.value}return(i,l)=>r(e).length&&r(t).label?(a(),u("div",{key:0,class:I(["VPNavScreenTranslations",{open:s.value}])},[p("button",{class:"title",onClick:o},[Ja,U(" "+N(r(t).label)+" ",1),Ya]),p("ul",Xa,[(a(!0),u(M,null,H(r(e),d=>(a(),u("li",{key:d.link,class:"item"},[k(F,{class:"link",href:d.link},{default:f(()=>[U(N(d.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),Za=g(Qa,[["__scopeId","data-v-362991c2"]]),xa={class:"container"},er=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(n){const e=T(null),t=Me(oe?document.body:null);return(s,o)=>(a(),$(pe,{name:"fade",onEnter:o[0]||(o[0]=i=>t.value=!0),onAfterLeave:o[1]||(o[1]=i=>t.value=!1)},{default:f(()=>[s.open?(a(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[p("div",xa,[c(s.$slots,"nav-screen-content-before",{},void 0,!0),k(Wa,{class:"menu"}),k(Za,{class:"translations"}),k(Ta,{class:"appearance"}),k(qa,{class:"social-links"}),c(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),tr=g(er,[["__scopeId","data-v-833aabba"]]),nr={key:0,class:"VPNav"},or=_({__name:"VPNav",setup(n){const{isScreenOpen:e,closeScreen:t,toggleScreen:s}=Oo(),{frontmatter:o}=V(),i=y(()=>o.value.navbar!==!1);return me("close-screen",t),ee(()=>{oe&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,d)=>i.value?(a(),u("header",nr,[k(Sa,{"is-screen-open":r(e),onToggleScreen:r(s)},{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),k(tr,{open:r(e)},{"nav-screen-content-before":f(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),sr=g(or,[["__scopeId","data-v-f1e365da"]]),je=n=>(A("data-v-196b2e5f"),n=n(),B(),n),ar=["role","tabindex"],rr=je(()=>p("div",{class:"indicator"},null,-1)),ir=je(()=>p("span",{class:"vpi-chevron-right caret-icon"},null,-1)),lr=[ir],cr={key:1,class:"items"},ur=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(n){const e=n,{collapsed:t,collapsible:s,isLink:o,isActiveLink:i,hasActiveLink:l,hasChildren:d,toggle:v}=Tt(y(()=>e.item)),m=y(()=>d.value?"section":"div"),L=y(()=>o.value?"a":"div"),b=y(()=>d.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),S=y(()=>o.value?void 0:"button"),P=y(()=>[[`level-${e.depth}`],{collapsible:s.value},{collapsed:t.value},{"is-link":o.value},{"is-active":i.value},{"has-active":l.value}]);function E(w){"key"in w&&w.key!=="Enter"||!e.item.link&&v()}function C(){e.item.link&&v()}return(w,j)=>{const G=q("VPSidebarItem",!0);return a(),$(O(m.value),{class:I(["VPSidebarItem",P.value])},{default:f(()=>[w.item.text?(a(),u("div",z({key:0,class:"item",role:S.value},nt(w.item.items?{click:E,keydown:E}:{},!0),{tabindex:w.item.items&&0}),[rr,w.item.link?(a(),$(F,{key:0,tag:L.value,class:"link",href:w.item.link,rel:w.item.rel,target:w.item.target},{default:f(()=>[(a(),$(O(b.value),{class:"text",innerHTML:w.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),$(O(b.value),{key:1,class:"text",innerHTML:w.item.text},null,8,["innerHTML"])),w.item.collapsed!=null&&w.item.items&&w.item.items.length?(a(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:ot(C,["enter"]),tabindex:"0"},lr,32)):h("",!0)],16,ar)):h("",!0),w.item.items&&w.item.items.length?(a(),u("div",cr,[w.depth<5?(a(!0),u(M,{key:0},H(w.item.items,J=>(a(),$(G,{key:J.text,item:J,depth:w.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),dr=g(ur,[["__scopeId","data-v-196b2e5f"]]),vr=_({__name:"VPSidebarGroup",props:{items:{}},setup(n){const e=T(!0);let t=null;return K(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),st(()=>{t!=null&&(clearTimeout(t),t=null)}),(s,o)=>(a(!0),u(M,null,H(s.items,i=>(a(),u("div",{key:i.text,class:I(["group",{"no-transition":e.value}])},[k(dr,{item:i,depth:0},null,8,["item"])],2))),128))}}),pr=g(vr,[["__scopeId","data-v-9e426adc"]]),Ge=n=>(A("data-v-18756405"),n=n(),B(),n),fr=Ge(()=>p("div",{class:"curtain"},null,-1)),hr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},_r=Ge(()=>p("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),mr=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(n){const{sidebarGroups:e,hasSidebar:t}=R(),s=n,o=T(null),i=Me(oe?document.body:null);D([s,o],()=>{var d;s.open?(i.value=!0,(d=o.value)==null||d.focus()):i.value=!1},{immediate:!0,flush:"post"});const l=T(0);return D(e,()=>{l.value+=1},{deep:!0}),(d,v)=>r(t)?(a(),u("aside",{key:0,class:I(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:o,onClick:v[0]||(v[0]=at(()=>{},["stop"]))},[fr,p("nav",hr,[_r,c(d.$slots,"sidebar-nav-before",{},void 0,!0),(a(),$(pr,{items:r(e),key:l.value},null,8,["items"])),c(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),br=g(mr,[["__scopeId","data-v-18756405"]]),kr=_({__name:"VPSkipLink",setup(n){const e=ne(),t=T();D(()=>e.path,()=>t.value.focus());function s({target:o}){const i=document.getElementById(decodeURIComponent(o.hash).slice(1));if(i){const l=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",l)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",l),i.focus(),window.scrollTo(0,0)}}return(o,i)=>(a(),u(M,null,[p("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}}),$r=g(kr,[["__scopeId","data-v-c3508ec8"]]),gr=_({__name:"Layout",setup(n){const{isOpen:e,open:t,close:s}=R(),o=ne();D(()=>o.path,s),Lt(e,s);const{frontmatter:i}=V(),l=Ee(),d=y(()=>!!l["home-hero-image"]);return me("hero-image-slot-exists",d),(v,m)=>{const L=q("Content");return r(i).layout!==!1?(a(),u("div",{key:0,class:I(["Layout",r(i).pageClass])},[c(v.$slots,"layout-top",{},void 0,!0),k($r),k(dt,{class:"backdrop",show:r(e),onClick:r(s)},null,8,["show","onClick"]),k(sr,null,{"nav-bar-title-before":f(()=>[c(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[c(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),k(Do,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),k(br,{open:r(e)},{"sidebar-nav-before":f(()=>[c(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[c(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),k(mo,null,{"page-top":f(()=>[c(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[c(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[c(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(v.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(v.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(v.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[c(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),k(yo),c(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),$(L,{key:1}))}}}),yr=g(gr,[["__scopeId","data-v-a9a9e638"]]),Sr={Layout:yr,enhanceApp:({app:n})=>{n.component("Badge",lt)}},Pr=n=>{if(typeof document>"u")return{stabilizeScrollPosition:o=>async(...i)=>o(...i)};const e=document.documentElement;return{stabilizeScrollPosition:s=>async(...o)=>{const i=s(...o),l=n.value;if(!l)return i;const d=l.offsetTop-e.scrollTop;return await Ne(),e.scrollTop=l.offsetTop-d,i}}},ze="vitepress:tabSharedState",X=typeof localStorage<"u"?localStorage:null,Ke="vitepress:tabsSharedState",Vr=()=>{const n=X==null?void 0:X.getItem(Ke);if(n)try{return JSON.parse(n)}catch{}return{}},Lr=n=>{X&&X.setItem(Ke,JSON.stringify(n))},Tr=n=>{const e=rt({});D(()=>e.content,(t,s)=>{t&&s&&Lr(t)},{deep:!0}),n.provide(ze,e)},wr=(n,e)=>{const t=Y(ze);if(!t)throw new Error("[vitepress-plugin-tabs] TabsSharedState should be injected");K(()=>{t.content||(t.content=Vr())});const s=T(),o=y({get(){var v;const l=e.value,d=n.value;if(l){const m=(v=t.content)==null?void 0:v[l];if(m&&d.includes(m))return m}else{const m=s.value;if(m)return m}return d[0]},set(l){const d=e.value;d?t.content&&(t.content[d]=l):s.value=l}});return{selected:o,select:l=>{o.value=l}}};let Ve=0;const Nr=()=>(Ve++,""+Ve);function Ir(){const n=Ee();return y(()=>{var s;const t=(s=n.default)==null?void 0:s.call(n);return t?t.filter(o=>typeof o.type=="object"&&"__name"in o.type&&o.type.__name==="PluginTabsTab"&&o.props).map(o=>{var i;return(i=o.props)==null?void 0:i.label}):[]})}const We="vitepress:tabSingleState",Mr=n=>{me(We,n)},Er=()=>{const n=Y(We);if(!n)throw new Error("[vitepress-plugin-tabs] TabsSingleState should be injected");return n},Cr={class:"plugin-tabs"},Ar=["id","aria-selected","aria-controls","tabindex","onClick"],Br=_({__name:"PluginTabs",props:{sharedStateKey:{}},setup(n){const e=n,t=Ir(),{selected:s,select:o}=wr(t,it(e,"sharedStateKey")),i=T(),{stabilizeScrollPosition:l}=Pr(i),d=l(o),v=T([]),m=b=>{var E;const S=t.value.indexOf(s.value);let P;b.key==="ArrowLeft"?P=S>=1?S-1:t.value.length-1:b.key==="ArrowRight"&&(P=S(a(),u("div",Cr,[p("div",{ref_key:"tablist",ref:i,class:"plugin-tabs--tab-list",role:"tablist",onKeydown:m},[(a(!0),u(M,null,H(r(t),P=>(a(),u("button",{id:`tab-${P}-${r(L)}`,ref_for:!0,ref_key:"buttonRefs",ref:v,key:P,role:"tab",class:"plugin-tabs--tab","aria-selected":P===r(s),"aria-controls":`panel-${P}-${r(L)}`,tabindex:P===r(s)?0:-1,onClick:()=>r(d)(P)},N(P),9,Ar))),128))],544),c(b.$slots,"default")]))}}),Hr=["id","aria-labelledby"],Dr=_({__name:"PluginTabsTab",props:{label:{}},setup(n){const{uid:e,selected:t}=Er();return(s,o)=>r(t)===s.label?(a(),u("div",{key:0,id:`panel-${s.label}-${r(e)}`,class:"plugin-tabs--content",role:"tabpanel",tabindex:"0","aria-labelledby":`tab-${s.label}-${r(e)}`},[c(s.$slots,"default",{},void 0,!0)],8,Hr)):h("",!0)}}),Or=g(Dr,[["__scopeId","data-v-9b0d03d2"]]),Fr=n=>{Tr(n),n.component("PluginTabs",Br),n.component("PluginTabsTab",Or)},Rr={extends:Sr,async enhanceApp({app:n,router:e,siteData:t}){if(Fr(n),typeof window<"u"){let s=function(){if(!(window.DOCUMENTER_NEWEST===void 0||window.DOCUMENTER_CURRENT_VERSION===void 0||window.DOCUMENTER_STABLE===void 0)&&window.DOCUMENTER_NEWEST===window.DOCUMENTER_CURRENT_VERSION){const o=window.location.href.replace(window.DOCUMENTER_CURRENT_VERSION,window.DOCUMENTER_STABLE);window.history.replaceState({additionalInformation:"URL rewritten to stable"},"DimensionalData",o);return}};D(()=>e.route.data.relativePath,s,{immediate:!0}),document.addEventListener("DOMContentLoaded",s)}}};export{Rr as R,Js as c,V as u}; diff --git a/dev/assets/dimarrays.md.BkJ9uH8q.js b/dev/assets/dimarrays.md.B9AFrOeo.js similarity index 97% rename from dev/assets/dimarrays.md.BkJ9uH8q.js rename to dev/assets/dimarrays.md.B9AFrOeo.js index 02c4c5c4e..79dd7c35c 100644 --- a/dev/assets/dimarrays.md.BkJ9uH8q.js +++ b/dev/assets/dimarrays.md.B9AFrOeo.js @@ -239,21 +239,21 @@ import{_ as n,D as t,c as d,I as a,w as h,a6 as l,o as p,j as i,a as s}from"./ch 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
julia
julia> @benchmark $da4[X(1), Y(2)]
BenchmarkTools.Trial: 10000 samples with 1000 evaluations.
- Range (minmax):  3.095 ns33.933 ns GC (min … max): 0.00% … 0.00%
- Time  (median):     3.096 ns               GC (median):    0.00%
- Time  (mean ± σ):   3.116 ns ±  0.456 ns GC (mean ± σ):  0.00% ± 0.00%
+ Range (minmax):  3.095 ns32.191 ns GC (min … max): 0.00% … 0.00%
+ Time  (median):     3.106 ns               GC (median):    0.00%
+ Time  (mean ± σ):   3.114 ns ±  0.344 ns GC (mean ± σ):  0.00% ± 0.00%
 
-                            
-
-  3.1 ns         Histogram: frequency by time        3.12 ns <
+                                      
+
+  3.1 ns         Histogram: frequency by time        3.13 ns <
 
  Memory estimate: 0 bytes, allocs estimate: 0.

the same as accessing the parent array directly:

julia
julia> @benchmark parent($da4)[1, 2]
BenchmarkTools.Trial: 10000 samples with 1000 evaluations.
- Range (minmax):  3.095 ns23.835 ns GC (min … max): 0.00% … 0.00%
- Time  (median):     3.106 ns               GC (median):    0.00%
- Time  (mean ± σ):   3.121 ns ±  0.394 ns GC (mean ± σ):  0.00% ± 0.00%
+ Range (minmax):  3.095 ns28.914 ns GC (min … max): 0.00% … 0.00%
+ Time  (median):     3.105 ns               GC (median):    0.00%
+ Time  (mean ± σ):   3.117 ns ±  0.449 ns GC (mean ± σ):  0.00% ± 0.00%
 
-
-
-  3.1 ns       Histogram: log(frequency) by time     3.13 ns <
+                                      
+
+  3.1 ns         Histogram: frequency by time        3.13 ns <
 
  Memory estimate: 0 bytes, allocs estimate: 0.
`,52);function q(Z,S,V,M,R,z){const e=t("PluginTabsTab"),k=t("PluginTabs");return p(),d("div",null,[o,a(k,null,{default:h(()=>[a(e,{label:"DimArray"},{default:h(()=>[r,y,f,c,b,E]),_:1}),a(e,{label:"zeros"},{default:h(()=>[w,u,C,m]),_:1}),a(e,{label:"ones"},{default:h(()=>[F,v,D,B]),_:1}),a(e,{label:"rand"},{default:h(()=>[A,x,j,_]),_:1}),a(e,{label:"fill"},{default:h(()=>[X,T,Y,I]),_:1})]),_:1}),P])}const W=n(g,[["render",q]]);export{G as __pageData,W as default}; diff --git a/dev/assets/dimarrays.md.BkJ9uH8q.lean.js b/dev/assets/dimarrays.md.B9AFrOeo.lean.js similarity index 100% rename from dev/assets/dimarrays.md.BkJ9uH8q.lean.js rename to dev/assets/dimarrays.md.B9AFrOeo.lean.js diff --git a/dev/assets/stacks.md.bgOfgDLm.js b/dev/assets/stacks.md.BsD2krq0.js similarity index 99% rename from dev/assets/stacks.md.bgOfgDLm.js rename to dev/assets/stacks.md.BsD2krq0.js index 0fd23d378..4b4b2991d 100644 --- a/dev/assets/stacks.md.bgOfgDLm.js +++ b/dev/assets/stacks.md.BsD2krq0.js @@ -364,5 +364,5 @@ import{_ as d,D as t,c as n,I as a,w as h,a6 as e,j as i,a as s,o as p}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────┘")])])])],-1),ys=e(`

Performance

Indexing stack is fast - indexing a single value return a NamedTuple from all layers is usually measures in nanoseconds, and no slower than manually indexing into each parent array directly.

There are some compilation overheads to this though, and stacks with very many layers can take a long time to compile.

julia
julia> using BenchmarkTools
 
 julia> @btime $st[X=1, Y=4]
  4.037 ns (0 allocations: 0 bytes)
-(a = 0.2571287355813575, b = 0.925267535912165, c = 0.12713970284423626, d = 0.3258728635315493)
julia
julia> @btime $st[1, 4]
  4.037 ns (0 allocations: 0 bytes)
+(a = 0.2571287355813575, b = 0.925267535912165, c = 0.12713970284423626, d = 0.3258728635315493)
julia
julia> @btime $st[1, 4]
  4.027 ns (0 allocations: 0 bytes)
 (a = 0.2571287355813575, b = 0.925267535912165, c = 0.12713970284423626, d = 0.3258728635315493)
`,7);function fs(cs,os,us,Es,ms,bs){const l=t("PluginTabsTab"),k=t("PluginTabs");return p(),n("div",null,[g,a(k,null,{default:h(()=>[a(l,{label:"getting layers"},{default:h(()=>[y,f,c,o,u]),_:1}),a(l,{label:"subsetting layers"},{default:h(()=>[E,m,b]),_:1}),a(l,{label:"inverted subsets"},{default:h(()=>[F,v,C,_,j]),_:1}),a(l,{label:"merging"},{default:h(()=>[D,x,Y,S,A,X,z,B,P,R,w]),_:1})]),_:1}),O,a(k,null,{default:h(()=>[a(l,{label:"scalars"},{default:h(()=>[T,N,I]),_:1}),a(l,{label:"selectors"},{default:h(()=>[V,q,$]),_:1}),a(l,{label:"partial indexing"},{default:h(()=>[M,W,J]),_:1}),a(l,{label:"linear indexing"},{default:h(()=>[L,U,G]),_:1})]),_:1}),H,a(k,null,{default:h(()=>[a(l,{label:"maximum"},{default:h(()=>[K,Q,Z,ii]),_:1}),a(l,{label:"minimum"},{default:h(()=>[si,ai,hi,li]),_:1}),a(l,{label:"sum"},{default:h(()=>[ki,ei,ti,di]),_:1}),a(l,{label:"prod"},{default:h(()=>[ni,pi,ri,gi]),_:1}),a(l,{label:"mean"},{default:h(()=>[yi,fi,ci,oi]),_:1}),a(l,{label:"std"},{default:h(()=>[ui,Ei,mi,bi]),_:1}),a(l,{label:"var"},{default:h(()=>[Fi,vi,Ci,_i]),_:1}),a(l,{label:"reduce"},{default:h(()=>[ji,Di,xi,Yi]),_:1}),a(l,{label:"extrema"},{default:h(()=>[Si,Ai,Xi,zi]),_:1}),a(l,{label:"dropdims"},{default:h(()=>[Bi,Pi,Ri,wi]),_:1})]),_:1}),Oi,a(k,null,{default:h(()=>[a(l,{label:"rotl90"},{default:h(()=>[Ti,Ni,Ii,Vi,qi]),_:1}),a(l,{label:"rotr90"},{default:h(()=>[$i,Mi,Wi,Ji]),_:1}),a(l,{label:"rot180"},{default:h(()=>[Li,Ui,Gi,Hi]),_:1}),a(l,{label:"permutedims"},{default:h(()=>[Ki,Qi,Zi,is,ss,as]),_:1}),a(l,{label:"transpose"},{default:h(()=>[hs,ls]),_:1}),a(l,{label:"adjoint"},{default:h(()=>[ks,es,ts,ds]),_:1}),a(l,{label:"PermutedDimsArray"},{default:h(()=>[ns,ps,rs,gs]),_:1})]),_:1}),ys])}const Cs=d(r,[["render",fs]]);export{vs as __pageData,Cs as default}; diff --git a/dev/assets/stacks.md.bgOfgDLm.lean.js b/dev/assets/stacks.md.BsD2krq0.lean.js similarity index 100% rename from dev/assets/stacks.md.bgOfgDLm.lean.js rename to dev/assets/stacks.md.BsD2krq0.lean.js diff --git a/dev/basics.html b/dev/basics.html index 83bdf8b16..d9f844d4b 100644 --- a/dev/basics.html +++ b/dev/basics.html @@ -8,10 +8,10 @@ - + - + @@ -67,7 +67,7 @@ 1 2 3 4 5 6 7 8 9 10 :left 65 110 71 108 76 15 120 65 121 126 :right 125 78 118 101 11 32 87 108 49 115 - + \ No newline at end of file diff --git a/dev/broadcast_dims.html b/dev/broadcast_dims.html index 1eb8976ad..1efa01592 100644 --- a/dev/broadcast_dims.html +++ b/dev/broadcast_dims.html @@ -8,10 +8,10 @@ - + - + @@ -105,7 +105,7 @@ 2000-10-01T00:00:00 4.99719 2000-11-01T00:00:00 5.40065 2000-12-01T00:00:00 6.01282 - + \ No newline at end of file diff --git a/dev/cuda.html b/dev/cuda.html index b91b80491..402885b1f 100644 --- a/dev/cuda.html +++ b/dev/cuda.html @@ -8,10 +8,10 @@ - + - + @@ -46,7 +46,7 @@ 999.0 1.40584 1.83056 0.0804518 0.177423 1.20779 1.95217 0.881149 1000.0 1.41334 0.719974 0.479126 1.92721 0.0649391 0.642908 1.07277

But the data is on the GPU:

julia
julia> typeof(parent(cuA2))
 CuArray{Float32, 2, CUDA.Mem.DeviceBuffer}

GPU Integration goals

DimensionalData.jl has two GPU-related goals:

  1. Work seamlessly with Base julia broadcasts and other operations that already work on GPU.

  2. Work as arguments to custom GPU kernel functions.

This means any AbstractDimArray must be automatically moved to the GPU and its fields converted to GPU friendly forms whenever required, using Adapt.jl).

  • The array data must converts to the correct GPU array backend when Adapt.adapt(dimarray) is called.

  • All DimensionalData.jl objects, except the actual parent array, need to be immutable isbits or convertible to them. This is one reason DimensionalData.jl uses rebuild and a functional style, rather than in-place modification of fields.

  • Symbols need to be moved to the type system Name{:layer_name}() replaces :layer_name

  • Metadata dicts need to be stripped, they are often too difficult to convert, and not needed on GPU.

As an example, DynamicGrids.jl uses AbstractDimArray for auxiliary model data that are passed into KernelAbstractions.jl/ CUDA.jl kernels.

- + \ No newline at end of file diff --git a/dev/dimarrays.html b/dev/dimarrays.html index 74133dba2..f42a267ff 100644 --- a/dev/dimarrays.html +++ b/dev/dimarrays.html @@ -8,11 +8,11 @@ - + - - + + @@ -179,25 +179,25 @@ 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
julia
julia> @benchmark $da4[X(1), Y(2)]
BenchmarkTools.Trial: 10000 samples with 1000 evaluations.
- Range (minmax):  3.095 ns33.933 ns GC (min … max): 0.00% … 0.00%
- Time  (median):     3.096 ns               GC (median):    0.00%
- Time  (mean ± σ):   3.116 ns ±  0.456 ns GC (mean ± σ):  0.00% ± 0.00%
+ Range (minmax):  3.095 ns32.191 ns GC (min … max): 0.00% … 0.00%
+ Time  (median):     3.106 ns               GC (median):    0.00%
+ Time  (mean ± σ):   3.114 ns ±  0.344 ns GC (mean ± σ):  0.00% ± 0.00%
 
-                            
-
-  3.1 ns         Histogram: frequency by time        3.12 ns <
+                                      
+
+  3.1 ns         Histogram: frequency by time        3.13 ns <
 
  Memory estimate: 0 bytes, allocs estimate: 0.

the same as accessing the parent array directly:

julia
julia> @benchmark parent($da4)[1, 2]
BenchmarkTools.Trial: 10000 samples with 1000 evaluations.
- Range (minmax):  3.095 ns23.835 ns GC (min … max): 0.00% … 0.00%
- Time  (median):     3.106 ns               GC (median):    0.00%
- Time  (mean ± σ):   3.121 ns ±  0.394 ns GC (mean ± σ):  0.00% ± 0.00%
+ Range (minmax):  3.095 ns28.914 ns GC (min … max): 0.00% … 0.00%
+ Time  (median):     3.105 ns               GC (median):    0.00%
+ Time  (mean ± σ):   3.117 ns ±  0.449 ns GC (mean ± σ):  0.00% ± 0.00%
 
-
-
-  3.1 ns       Histogram: log(frequency) by time     3.13 ns <
+                                      
+
+  3.1 ns         Histogram: frequency by time        3.13 ns <
 
  Memory estimate: 0 bytes, allocs estimate: 0.
- + \ No newline at end of file diff --git a/dev/dimensions.html b/dev/dimensions.html index fe8cd386d..67b3bb505 100644 --- a/dev/dimensions.html +++ b/dev/dimensions.html @@ -8,10 +8,10 @@ - + - + @@ -21,7 +21,7 @@
Skip to content

Dimensions

Dimensions are "wrapper types" that can be used to wrap any object to associate it with a named dimension.

X, Y, Z, Ti are predefined as types:

julia
julia> using DimensionalData
 
 julia> X(1)
X 1
julia
julia> X(1), Y(2), Z(3)
X 1, Y 2, Z 3

You can also make Dim dimensions with any name:

julia
julia> Dim{:a}(1), Dim{:b}(1)
a 1, b 1

The wrapped value can be retrieved with val:

julia
julia> val(X(1))
1

DimensionalData.jl uses Dimensions everywhere:

  • Dimension are returned from dims to specify the names of the dimensions of an object

  • they wrap Lookups to associate the lookups with those names

  • to index into these objects, they wrap indices like Int or a Selector

This symmetry means we can ignore how data is organised, and label and access it by name, letting DD work out the details for us.

Dimensions are defined in the Dimensions submodule, some Dimension-specific methods can be brought into scope with:

julia
using DimensionalData.Dimensions
- + \ No newline at end of file diff --git a/dev/diskarrays.html b/dev/diskarrays.html index 4cd6eb4d9..d83cf5675 100644 --- a/dev/diskarrays.html +++ b/dev/diskarrays.html @@ -8,10 +8,10 @@ - + - + @@ -19,7 +19,7 @@
Skip to content

DiskArrays.jl compatibility

DiskArrays.jl enables lazy, chunked application of:

  • broadcast

  • reductions

  • iteration

  • generators

  • zip

It is rarely used directly, but is present in most disk and cloud based spatial data packages in julia, including: ArchGDAL.jl, NetCDF.jl, Zarr.jl, NCDatasets.lj, GRIBDatasets.jl and CommonDataModel.jl

The combination of DiskArrays.jl and DimensionalData.jl is Julias answer to pythons xarray. Rasters.jl and YAXArrays.jl are user-facing tools building on this combination.

They have no direct dependency relationships, with but are intentionally designed to integrate via both adherence to Julia's AbstractArray interface, and by coordination during development of both packages.

- + \ No newline at end of file diff --git a/dev/extending_dd.html b/dev/extending_dd.html index b56107a11..c7e3080f0 100644 --- a/dev/extending_dd.html +++ b/dev/extending_dd.html @@ -8,10 +8,10 @@ - + - + @@ -48,7 +48,7 @@ Implementation summary: DimArray correctly implements DimensionalData.DimArrayInterface: true true - + \ No newline at end of file diff --git a/dev/get_info.html b/dev/get_info.html index 0777aff52..6b27cc398 100644 --- a/dev/get_info.html +++ b/dev/get_info.html @@ -8,10 +8,10 @@ - + - + @@ -37,17 +37,17 @@ 4 0.00508449 0.829714 0.727149 0.585756 0.921145 3 0.946824 0.906705 0.899632 0.471877 0.633956 2 0.876112 0.831617 0.128932 0.428951 0.243803 - 1 0.749253 0.864128 … 0.715102 0.921012 0.566574

dims retrieves dimensions from any object that has them.

What makes it so useful is you can filter which dimensions you want in what order, using any Dimension, Type{Dimension} or Symbol.

julia
julia> dims(A)
X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points,
+  1      0.749253      0.864128   …    0.715102    0.921012    0.566574

dims retrieves dimensions from any object that has them.

What makes it so useful is you can filter which dimensions you want in what order, using any Dimension, Type{Dimension} or Symbol.

julia
julia> dims(A)
X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points,
 Y Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points
julia
julia> dims(A, Y)
Y Sampled{Float64} ForwardOrdered Regular Points
 wrapping: 100.0:10.0:200.0
julia
julia> dims(A, Y())
Y Sampled{Float64} ForwardOrdered Regular Points
 wrapping: 100.0:10.0:200.0
julia
julia> dims(A, :Y)
Y Sampled{Float64} ForwardOrdered Regular Points
 wrapping: 100.0:10.0:200.0
julia
julia> dims(A, (X,))
X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points
julia
julia> dims(A, (Y, X))
Y Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points,
 X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points
julia
julia> dims(A, reverse(dims(A)))
Y Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points,
 X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points
julia
julia> dims(A, isregular)
X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points,
-Y Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points

Predicates

These always return true or false. With multiple dimensions, fale means !all and true means all.

dims and all other methods listed above can use predicates to filter the returned dimensions.

julia
julia> issampled(A)
true
julia
julia> issampled(dims(A))
true
julia
julia> issampled(A, Y)
true
julia
julia> issampled(lookup(A, Y))
true
julia
julia> dims(A, issampled)
X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points,
+Y Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points

Predicates

These always return true or false. With multiple dimensions, fale means !all and true means all.

dims and all other methods listed above can use predicates to filter the returned dimensions.

julia
julia> issampled(A)
true
julia
julia> issampled(dims(A))
true
julia
julia> issampled(A, Y)
true
julia
julia> issampled(lookup(A, Y))
true
julia
julia> dims(A, issampled)
X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points,
 Y Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points
julia
julia> otherdims(A, issampled)
()
julia
julia> lookup(A, issampled)
Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points,
 Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points
- + \ No newline at end of file diff --git a/dev/groupby.html b/dev/groupby.html index 229da7c99..dbcfd5e2d 100644 --- a/dev/groupby.html +++ b/dev/groupby.html @@ -8,10 +8,10 @@ - + - + @@ -21,7 +21,7 @@
Skip to content

Group By

DimensionalData.jl provides a groupby function for dimensional grouping. This guide will cover:

  • simple grouping with a function

  • grouping with Bins

  • grouping with another existing AbstractDimArry or Dimension

Grouping functions

Lets look at the kind of functions that can be used to group DateTime. Other types will follow the same principles, but are usually simpler.

First load some packages:

julia
using DimensionalData
 using Dates
 using Statistics
-const DD = DimensionalData

Now create a demo DateTime range

julia
julia> tempo = range(DateTime(2000), step=Hour(1), length=365*24*2)
Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(1):Dates.DateTime("2001-12-30T23:00:00")

Lets see how some common functions work.

The hour function will transform values to hour of the day - the integers 0:23

julia
julia> hour.(tempo)
17520-element Vector{Int64}:
+const DD = DimensionalData

Now create a demo DateTime range

julia
julia> tempo = range(DateTime(2000), step=Hour(1), length=365*24*2)
Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(1):Dates.DateTime("2001-12-30T23:00:00")

Lets see how some common functions work.

The hour function will transform values to hour of the day - the integers 0:23

julia
julia> hour.(tempo)
17520-element Vector{Int64}:
   0
   1
   2
@@ -41,7 +41,7 @@
  20
  21
  22
- 23

Tuple groupings

julia
julia> yearmonth.(tempo)
17520-element Vector{Tuple{Int64, Int64}}:
+ 23

Tuple groupings

julia
julia> yearmonth.(tempo)
17520-element Vector{Tuple{Int64, Int64}}:
  (2000, 1)
  (2000, 1)
  (2000, 1)
@@ -77,7 +77,7 @@
  1.97  0.581748              0.0446036                0.762533
  1.98  0.645795              0.442542                 0.522989
  1.99  0.460633              0.346013                 0.639499
- 2.0   0.0403793             0.561611              …  0.736525

Group by month, using the month function:

julia
julia> groups = groupby(A, Ti=>month)
╭───────────────────────────────────────────────────╮
+ 2.0   0.0403793             0.561611              …  0.736525

Group by month, using the month function:

julia
julia> groups = groupby(A, Ti=>month)
╭───────────────────────────────────────────────────╮
 12-element DimGroupByArray{DimArray{Float64,1},1}
 ├───────────────────────────────────────────────────┴───────────── dims ┐
 Ti Sampled{Int64} [1, 2, …, 11, 12] ForwardOrdered Irregular Points
@@ -107,7 +107,7 @@
 
  10  0.500277
  11  0.498996
- 12  0.500093

Binning

Sometimes we want to further aggregate our groups after running a function, or just bin the raw data directly. We can use the Bins wrapper to do this.

For quick analysis, we can break our groups into N bins.

julia
julia> groupby(A, Ti=>Bins(month, 4))
╭──────────────────────────────────────────────────╮
+ 12  0.500093

Binning

Sometimes we want to further aggregate our groups after running a function, or just bin the raw data directly. We can use the Bins wrapper to do this.

For quick analysis, we can break our groups into N bins.

julia
julia> groupby(A, Ti=>Bins(month, 4))
╭──────────────────────────────────────────────────╮
 4-element DimGroupByArray{DimArray{Float64,1},1}
 ├──────────────────────────────────────────────────┴───────────────────── dims ┐
 Ti Sampled{IntervalSets.Interval{:closed, :open, Float64}} [1.0 .. 3.75275 (closed-open), 3.75275 .. 6.5055 (closed-open), 6.5055 .. 9.25825 (closed-open), 9.25825 .. 12.011 (closed-open)] ForwardOrdered Irregular Intervals{Start}
@@ -120,7 +120,7 @@
  1.0 .. 3.75275 (closed-open)     101×4344 DimArray
  3.75275 .. 6.5055 (closed-open)  101×4368 DimArray
  6.5055 .. 9.25825 (closed-open)  101×4416 DimArray
- 9.25825 .. 12.011 (closed-open)  101×4392 DimArray

Doing this requires slightly padding the bin edges, so the lookup of the output is less than ideal.

Select by Dimension

We can also select by Dimensions and any objects with dims methods.

Trivially, grouping by an objects own dimension is similar to eachslice:

julia
julia> groupby(A, dims(A, Ti))
╭──────────────────────────────────────────────────────╮
+ 9.25825 .. 12.011 (closed-open)  101×4392 DimArray

Doing this requires slightly padding the bin edges, so the lookup of the output is less than ideal.

Select by Dimension

We can also select by Dimensions and any objects with dims methods.

Trivially, grouping by an objects own dimension is similar to eachslice:

julia
julia> groupby(A, dims(A, Ti))
╭──────────────────────────────────────────────────────╮
 17520-element DimGroupByArray{DimArray{Float64,1},1}
 ├──────────────────────────────────────────────────────┴───────────────── dims ┐
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(1):Dates.DateTime("2001-12-30T23:00:00") ForwardOrdered Regular Points
@@ -136,7 +136,7 @@
 
  2001-12-30T22:00:00  101×1 DimArray
  2001-12-30T23:00:00  101×1 DimArray

TODO: Apply custom function (i.e. normalization) to grouped output.

- + \ No newline at end of file diff --git a/dev/hashmap.json b/dev/hashmap.json index a2467603c..7d8511d3e 100644 --- a/dev/hashmap.json +++ b/dev/hashmap.json @@ -1 +1 @@ -{"api_dimensions.md":"CWa5S4Xm","api_lookuparrays.md":"-eetl6Yo","api_reference.md":"D1Kc48gy","basics.md":"D35XMgMh","broadcast_dims.md":"Ch9tbfdV","cuda.md":"B3_3LmTq","dimarrays.md":"BkJ9uH8q","dimensions.md":"D68jT5YJ","diskarrays.md":"Bqq-QT37","extending_dd.md":"DiQS4G2Z","get_info.md":"Dm7zugyo","groupby.md":"B7R8xFfH","index.md":"Dhrrwuos","integrations.md":"CxwXZl4E","object_modification.md":"CXj5-Epw","plots.md":"CQgCS4Uk","selectors.md":"CAQmc-vt","stacks.md":"bgOfgDLm","tables.md":"Cc93rv-y"} +{"api_dimensions.md":"jRwTt5yN","api_lookuparrays.md":"BZS7Y1ch","api_reference.md":"BmNx3sDP","basics.md":"D35XMgMh","broadcast_dims.md":"Ch9tbfdV","cuda.md":"B3_3LmTq","dimarrays.md":"B9AFrOeo","dimensions.md":"D68jT5YJ","diskarrays.md":"Bqq-QT37","extending_dd.md":"DiQS4G2Z","get_info.md":"Dm7zugyo","groupby.md":"B7R8xFfH","index.md":"Dhrrwuos","integrations.md":"CxwXZl4E","object_modification.md":"CXj5-Epw","plots.md":"CQgCS4Uk","selectors.md":"CAQmc-vt","stacks.md":"BsD2krq0","tables.md":"Cc93rv-y"} diff --git a/dev/index.html b/dev/index.html index 8a1ba20a5..05b9d11cb 100644 --- a/dev/index.html +++ b/dev/index.html @@ -8,10 +8,10 @@ - + - + @@ -19,7 +19,7 @@
Skip to content

DimensionalData.jl

Julia datasets with named dimensions

High performance named indexing for Julia

- + \ No newline at end of file diff --git a/dev/integrations.html b/dev/integrations.html index 14e20fbf1..dc0fa1dec 100644 --- a/dev/integrations.html +++ b/dev/integrations.html @@ -8,10 +8,10 @@ - + - + @@ -19,7 +19,7 @@
Skip to content

Integrations

Rasters.jl

Rasters.jl extends DD for geospatial data manipulation, providing file load/save for a wide range of raster data sources and common GIS tools like polygon rasterization and masking. Raster types are aware of crs and their missingval (which is often not missing for performance and storage reasons).

Rasters.jl is also the reason DimensionalData.jl exists at all! But it always made sense to separate out spatial indexing from GIS tools and dependencies.

A Raster is a AbstractDimArray, a RasterStack is a AbstractDimStack, and Projected and Mapped are AbstractSample lookups.

YAXArrays.jl

YAXArrays.jl is another spatial data package aimed more at (very) large datasets. It's functionality is slowly converging with Rasters.jl (both wrapping DiskArray.jl/DimensionalData.jl) and we work closely with the developers.

YAXArray is a AbstractDimArray and inherits its behaviours.

ClimateBase.jl

ClimateBase.jl Extends DD with methods for analysis of climate data.

ArviZ.jl

ArviZ.jl Is a Julia package for exploratory analysis of Bayesian models.

An ArviZ.Dataset is an AbstractDimStack!

JuMP.jl

JuMP.jl is a powerful optimization DSL. It defines its own named array types but now accepts any AbstractDimArray too, through a package extension.

CryoGrid.jl

CryoGrid.jl A Julia implementation of the CryoGrid permafrost model.

CryoGridOutput uses DimArray for views into output data.

DynamicGrids.jl

DynamicGrids.jl is a spatial simulation engine, for cellular automata and spatial process models.

All DynamicGrids.jl Outputs are <: AbstractDimArray, and AbstractDimArray are used for auxiliary data to allow temporal synchronisation during simulations. Notably, this all works on GPUs!

AstroImages.jl

AstroImages.jl Provides tools to load and visualise astronomical images. AstroImage is <: AbstractDimArray.

TimeseriesTools.jl

TimeseriesTools.jl Uses DimArray for time-series data.

- + \ No newline at end of file diff --git a/dev/object_modification.html b/dev/object_modification.html index 7f16930c7..0bc5988db 100644 --- a/dev/object_modification.html +++ b/dev/object_modification.html @@ -8,10 +8,10 @@ - + - + @@ -72,7 +72,7 @@ 1.0 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592 2.0 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202 3.0 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557 - + \ No newline at end of file diff --git a/dev/plots.html b/dev/plots.html index 04fdc6292..9c2fe85c9 100644 --- a/dev/plots.html +++ b/dev/plots.html @@ -8,10 +8,10 @@ - + - + @@ -23,7 +23,7 @@ A = rand(X(10:10:100), Y([:a, :b, :c])) Makie.plot(A; colormap=:inferno)

Other plots also work, here DD ignores the axis order and instead favours the categorical variable for the X axis:

julia
Makie.rainclouds(A)

Test series plots

default colormap

julia
B = rand(X(10:10:100), Y([:a, :b, :c, :d, :e, :f, :g, :h, :i, :j]))
 Makie.series(B)

A different colormap

The colormap is controlled by the color argument, which can take as an input a named colormap, i.e. :plasma or a list of colours.

julia
Makie.series(B; color=:plasma)

julia
Makie.series(A; color=[:red, :blue, :orange])

with markers

julia
Makie.series(A; color=[:red, :blue, :orange], markersize=15)

A lot more is planned for Makie.jl plots in future!

- + \ No newline at end of file diff --git a/dev/selectors.html b/dev/selectors.html index 54617342f..65c5dd9ab 100644 --- a/dev/selectors.html +++ b/dev/selectors.html @@ -8,10 +8,10 @@ - + - + @@ -137,7 +137,7 @@ 1.602 0.0426808 0.61781 0.808889 0.140817 0.188976 0.054083 1.798 0.226699 0.0983553 0.661444 0.750622 0.650842 0.986606 1.994 0.84475 0.366873 0.734751 0.590953 0.621527 0.23502 - + \ No newline at end of file diff --git a/dev/stacks.html b/dev/stacks.html index 13b9238d5..d597495d2 100644 --- a/dev/stacks.html +++ b/dev/stacks.html @@ -8,11 +8,11 @@ - + - - + + @@ -86,9 +86,9 @@ └───────────────────────────────────────────────────────────────────┘

Performance

Indexing stack is fast - indexing a single value return a NamedTuple from all layers is usually measures in nanoseconds, and no slower than manually indexing into each parent array directly.

There are some compilation overheads to this though, and stacks with very many layers can take a long time to compile.

julia
julia> using BenchmarkTools
 
 julia> @btime $st[X=1, Y=4]
  4.037 ns (0 allocations: 0 bytes)
-(a = 0.2571287355813575, b = 0.925267535912165, c = 0.12713970284423626, d = 0.3258728635315493)
julia
julia> @btime $st[1, 4]
  4.037 ns (0 allocations: 0 bytes)
+(a = 0.2571287355813575, b = 0.925267535912165, c = 0.12713970284423626, d = 0.3258728635315493)
julia
julia> @btime $st[1, 4]
  4.027 ns (0 allocations: 0 bytes)
 (a = 0.2571287355813575, b = 0.925267535912165, c = 0.12713970284423626, d = 0.3258728635315493)
- + \ No newline at end of file diff --git a/dev/tables.html b/dev/tables.html index 1439a382b..9e2e9c35a 100644 --- a/dev/tables.html +++ b/dev/tables.html @@ -8,10 +8,10 @@ - + - + @@ -82,7 +82,7 @@ "8,10,z,0.04599641808658339,0.6150940338022266" "9,10,z,0.005163666306917225,0.768924169642427" "10,10,z,0.8288995877624121,0.8136963000324107" - + \ No newline at end of file