From ce63eddcb3e63d009b59ec59a0a677f17d887aea Mon Sep 17 00:00:00 2001 From: dabreegster Date: Wed, 16 Nov 2022 22:06:50 +0000 Subject: [PATCH] deploy: 1cc491e4ca0fcdab1a6a82c8b0434653b42d55f3 --- rustdoc/geom/all.html | 2 +- rustdoc/geom/bounds/struct.GPSBounds.html | 6 +- rustdoc/geom/constant.EPSILON_DIST.html | 2 +- rustdoc/geom/duration/index.html | 2 +- rustdoc/geom/duration/struct.Duration.html | 40 +++++------ rustdoc/geom/enum.ArrowCap.html | 2 +- rustdoc/geom/enum.Statistic.html | 2 +- .../geom/find_closest/struct.FindClosest.html | 4 +- rustdoc/geom/fn.deserialize_f64.html | 2 +- rustdoc/geom/fn.geometries_to_geojson.html | 2 +- ...geometries_with_properties_to_geojson.html | 2 +- rustdoc/geom/fn.serialize_f64.html | 2 +- rustdoc/geom/fn.trim_f64.html | 2 +- rustdoc/geom/index.html | 4 +- rustdoc/geom/line/struct.Line.html | 2 +- rustdoc/geom/polygon/fn.from_multi.html | 2 +- rustdoc/geom/polygon/index.html | 2 +- rustdoc/geom/polygon/struct.Polygon.html | 48 ++++++------- .../polyline/constant.MITER_THRESHOLD.html | 2 +- rustdoc/geom/polyline/enum.ArrowCap.html | 2 +- rustdoc/geom/polyline/fn.fix_angles.html | 2 +- rustdoc/geom/polyline/fn.to_set.html | 2 +- rustdoc/geom/polyline/index.html | 2 +- rustdoc/geom/polyline/struct.PolyLine.html | 72 +++++++++---------- rustdoc/geom/pt/struct.Pt2D.html | 2 +- rustdoc/geom/ring/struct.Ring.html | 2 +- rustdoc/geom/sidebar-items.js | 2 +- rustdoc/geom/speed/struct.Speed.html | 2 +- rustdoc/geom/stats/enum.Statistic.html | 2 +- rustdoc/geom/struct.CornerRadii.html | 4 +- rustdoc/geom/struct.Duration.html | 40 +++++------ rustdoc/geom/struct.FindClosest.html | 4 +- rustdoc/geom/struct.GPSBounds.html | 6 +- rustdoc/geom/struct.Line.html | 2 +- rustdoc/geom/struct.PolyLine.html | 72 +++++++++---------- rustdoc/geom/struct.Polygon.html | 48 ++++++------- rustdoc/geom/struct.Pt2D.html | 2 +- rustdoc/geom/struct.Ring.html | 2 +- rustdoc/geom/struct.Speed.html | 2 +- rustdoc/geom/struct.Tessellation.html | 2 +- rustdoc/geom/struct.UnitFmt.html | 6 +- rustdoc/geom/tessellation/fn.downsize.html | 2 +- .../tessellation/struct.Tessellation.html | 2 +- rustdoc/geom/utils/fn.prettyprint_usize.html | 1 + rustdoc/geom/utils/index.html | 1 + rustdoc/geom/utils/sidebar-items.js | 1 + rustdoc/importer/uk/fn.check_sensor_data.html | 2 +- rustdoc/importer/uk/fn.load_study_area.html | 2 +- rustdoc/importer/uk/fn.parse_zones.html | 2 +- rustdoc/importer/uk/index.html | 2 +- rustdoc/kml/index.html | 2 +- rustdoc/kml/struct.ExtraShapes.html | 2 +- .../built_info/constant.BUILT_TIME_UTC.html | 2 +- rustdoc/search-index.js | 2 +- rustdoc/source-files.js | 2 +- rustdoc/src/game/app.rs.html | 4 +- rustdoc/src/geom/duration.rs.html | 6 +- rustdoc/src/geom/lib.rs.html | 14 ++-- rustdoc/src/geom/polygon.rs.html | 12 ++-- rustdoc/src/geom/polyline.rs.html | 12 ++-- rustdoc/src/geom/stats.rs.html | 2 +- rustdoc/src/geom/utils.rs.html | 34 +++++++++ rustdoc/src/importer/uk.rs.html | 10 ++- rustdoc/src/kml/lib.rs.html | 14 ++-- .../out/built.rs.html | 2 +- 65 files changed, 297 insertions(+), 248 deletions(-) create mode 100644 rustdoc/geom/utils/fn.prettyprint_usize.html create mode 100644 rustdoc/geom/utils/index.html create mode 100644 rustdoc/geom/utils/sidebar-items.js create mode 100644 rustdoc/src/geom/utils.rs.html diff --git a/rustdoc/geom/all.html b/rustdoc/geom/all.html index 0833a80f3a..2faed03805 100644 --- a/rustdoc/geom/all.html +++ b/rustdoc/geom/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/rustdoc/geom/bounds/struct.GPSBounds.html b/rustdoc/geom/bounds/struct.GPSBounds.html index 5df3832a03..0610f91187 100644 --- a/rustdoc/geom/bounds/struct.GPSBounds.html +++ b/rustdoc/geom/bounds/struct.GPSBounds.html @@ -13,10 +13,10 @@ to the right and down (screen-drawing order, not Cartesian) in meters.

The bottom-right corner of the boundary, in map-space.

Converts the boundary to map-space.

Convert all points to map-space, failing if any points are outside this boundary.

-

Convert all points to map-space. The points may be outside this boundary.

-

Convert map-space points back to LonLats. This is only valid if the GPSBounds used +

Convert all points to map-space. The points may be outside this boundary.

+

Convert map-space points back to LonLats. This is only valid if the GPSBounds used is the same as the one used to originally produce the Pt2Ds.

-

Returns points in order covering this boundary.

+

Returns points in order covering this boundary.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/rustdoc/geom/constant.EPSILON_DIST.html b/rustdoc/geom/constant.EPSILON_DIST.html index 2f19daa03a..9c1dacef60 100644 --- a/rustdoc/geom/constant.EPSILON_DIST.html +++ b/rustdoc/geom/constant.EPSILON_DIST.html @@ -1 +1 @@ -EPSILON_DIST in geom - Rust
pub const EPSILON_DIST: Distance;
\ No newline at end of file +EPSILON_DIST in geom - Rust
pub const EPSILON_DIST: Distance;
\ No newline at end of file diff --git a/rustdoc/geom/duration/index.html b/rustdoc/geom/duration/index.html index f25cb79ccb..dea22062b8 100644 --- a/rustdoc/geom/duration/index.html +++ b/rustdoc/geom/duration/index.html @@ -1 +1 @@ -geom::duration - Rust

Structs

A duration, in seconds. Can be negative.
\ No newline at end of file +geom::duration - Rust

Structs

A duration, in seconds. Can be negative.
\ No newline at end of file diff --git a/rustdoc/geom/duration/struct.Duration.html b/rustdoc/geom/duration/struct.Duration.html index a843397f2e..e6eb2db201 100644 --- a/rustdoc/geom/duration/struct.Duration.html +++ b/rustdoc/geom/duration/struct.Duration.html @@ -1,18 +1,18 @@ -Duration in geom::duration - Rust
pub struct Duration(f64);
Expand description

A duration, in seconds. Can be negative.

-

Tuple Fields

0: f64

Implementations

Creates a duration in seconds.

-

Creates a duration in minutes.

-

Creates a duration in hours.

-

Creates a duration in minutes.

-

Creates a duration in milliseconds.

-

Returns the duration in seconds. Prefer working in typesafe Durations.

-

Splits the duration into (hours, minutes, seconds, deciseconds).

-

Parses a duration such as “3:00” to Duration::minutes(3).

-

If two durations are within this amount, they’ll print as if they’re the same.

-

Returns the duration elapsed from this moment in real time.

-

Rounds a duration up to the nearest whole number multiple.

-

Returns the duration as a number of minutes, rounded up.

-

Returns (rounded max, the boundaries)

-

Shows only the largest unit (hours, minute, seconds), rounded to precision decimal points.

+Duration in geom::duration - Rust
pub struct Duration(f64);
Expand description

A duration, in seconds. Can be negative.

+

Tuple Fields

0: f64

Implementations

Creates a duration in seconds.

+

Creates a duration in minutes.

+

Creates a duration in hours.

+

Creates a duration in minutes.

+

Creates a duration in milliseconds.

+

Returns the duration in seconds. Prefer working in typesafe Durations.

+

Splits the duration into (hours, minutes, seconds, deciseconds).

+

Parses a duration such as “3:00” to Duration::minutes(3).

+

If two durations are within this amount, they’ll print as if they’re the same.

+

Returns the duration elapsed from this moment in real time.

+

Rounds a duration up to the nearest whole number multiple.

+

Returns the duration as a number of minutes, rounded up.

+

Returns (rounded max, the boundaries)

+

Shows only the largest unit (hours, minute, seconds), rounded to precision decimal points.

use geom::Duration;
 assert_eq!(Duration::seconds(3600.0).to_rounded_string(0), "1hr");
@@ -23,13 +23,13 @@
 assert_eq!(Duration::seconds(0.0).to_rounded_string(0), "0");
 assert_eq!(Duration::seconds(12.5).to_rounded_string(1), "12.5s");
 assert_eq!(Duration::seconds(12.5).to_rounded_string(2), "12.50s");
-

Describes the duration according to formatting rules.

-

Trait Implementations

The resulting type after applying the + operator.
Performs the + operation. Read more
The resulting type after applying the + operator.
Performs the + operation. Read more
Performs the += operation. Read more
Performs the += operation. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
The resulting type after applying the / operator.
Performs the / operation. Read more
The resulting type after applying the / operator.
Performs the / operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the - operator.
Performs the unary - operation. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used +

Describes the duration according to formatting rules.

+

Trait Implementations

The resulting type after applying the + operator.
Performs the + operation. Read more
The resulting type after applying the + operator.
Performs the + operation. Read more
Performs the += operation. Read more
Performs the += operation. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
The resulting type after applying the / operator.
Performs the / operation. Read more
The resulting type after applying the / operator.
Performs the / operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the - operator.
Performs the unary - operation. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
The resulting type after applying the % operator.
Performs the % operation. Read more
Serialize this value into the given Serde serializer. Read more
The resulting type after applying the - operator.
Performs the - operation. Read more
The resulting type after applying the - operator.
Performs the - operation. Read more
Performs the -= operation. Read more
Method which takes an iterator and generates Self from the elements by -“summing up” the items. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+operator. Read more
The resulting type after applying the % operator.
Performs the % operation. Read more
Serialize this value into the given Serde serializer. Read more
The resulting type after applying the - operator.
Performs the - operation. Read more
The resulting type after applying the - operator.
Performs the - operation. Read more
Performs the -= operation. Read more
Method which takes an iterator and generates Self from the elements by +“summing up” the items. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

diff --git a/rustdoc/geom/enum.ArrowCap.html b/rustdoc/geom/enum.ArrowCap.html index a84b37442a..25408b0b83 100644 --- a/rustdoc/geom/enum.ArrowCap.html +++ b/rustdoc/geom/enum.ArrowCap.html @@ -1,4 +1,4 @@ -ArrowCap in geom - Rust
pub enum ArrowCap {
+ArrowCap in geom - Rust
pub enum ArrowCap {
     Triangle,
 }

Variants

Triangle

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

diff --git a/rustdoc/geom/enum.Statistic.html b/rustdoc/geom/enum.Statistic.html index da846cfa90..df5e71553d 100644 --- a/rustdoc/geom/enum.Statistic.html +++ b/rustdoc/geom/enum.Statistic.html @@ -5,7 +5,7 @@ P90, P99, Max, -}

Variants

Min

Mean

P50

P90

P99

Max

Implementations

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used +}

Variants

Min

Mean

P50

P90

P99

Max

Implementations

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= diff --git a/rustdoc/geom/find_closest/struct.FindClosest.html b/rustdoc/geom/find_closest/struct.FindClosest.html index bfe1e56d6c..6a14e99a58 100644 --- a/rustdoc/geom/find_closest/struct.FindClosest.html +++ b/rustdoc/geom/find_closest/struct.FindClosest.html @@ -7,10 +7,10 @@ TODO This doesn’t properly handle single points, and will silently fail by never returning any matches.

Adds the outer ring of a polygon to the quadtree.

-

For every object within some distance of a query point, return the (object’s key, point on +

For every object within some distance of a query point, return the (object’s key, point on the object’s polyline, distance away).

Finds the closest point on the existing geometry to the query pt.

-

Find all objects with a point inside the query polygon

+

Find all objects with a point inside the query polygon

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of diff --git a/rustdoc/geom/fn.deserialize_f64.html b/rustdoc/geom/fn.deserialize_f64.html index 52b838e85a..857390b841 100644 --- a/rustdoc/geom/fn.deserialize_f64.html +++ b/rustdoc/geom/fn.deserialize_f64.html @@ -1,2 +1,2 @@ -deserialize_f64 in geom - Rust

pub(crate) fn deserialize_f64<'de, D: Deserializer<'de>>(
    d: D
) -> Result<f64, D::Error>
Expand description

Deserializes a trimmed f64 from an i32.

+deserialize_f64 in geom - Rust
pub(crate) fn deserialize_f64<'de, D: Deserializer<'de>>(
    d: D
) -> Result<f64, D::Error>
Expand description

Deserializes a trimmed f64 from an i32.

\ No newline at end of file diff --git a/rustdoc/geom/fn.geometries_to_geojson.html b/rustdoc/geom/fn.geometries_to_geojson.html index e2ee9a32cb..95d79be3d7 100644 --- a/rustdoc/geom/fn.geometries_to_geojson.html +++ b/rustdoc/geom/fn.geometries_to_geojson.html @@ -1,2 +1,2 @@ -geometries_to_geojson in geom - Rust
pub fn geometries_to_geojson(input: Vec<Geometry>) -> GeoJson
Expand description

Create a GeoJson with one feature per geometry, and no properties.

+geometries_to_geojson in geom - Rust
pub fn geometries_to_geojson(input: Vec<Geometry>) -> GeoJson
Expand description

Create a GeoJson with one feature per geometry, and no properties.

\ No newline at end of file diff --git a/rustdoc/geom/fn.geometries_with_properties_to_geojson.html b/rustdoc/geom/fn.geometries_with_properties_to_geojson.html index 98f05e7ec9..71ca350ea8 100644 --- a/rustdoc/geom/fn.geometries_with_properties_to_geojson.html +++ b/rustdoc/geom/fn.geometries_with_properties_to_geojson.html @@ -1,2 +1,2 @@ -geometries_with_properties_to_geojson in geom - Rust
pub fn geometries_with_properties_to_geojson(
    input: Vec<(Geometry, Map<String, Value>)>
) -> GeoJson
Expand description

Create a GeoJson with one feature per geometry, with the specified properties.

+geometries_with_properties_to_geojson in geom - Rust
pub fn geometries_with_properties_to_geojson(
    input: Vec<(Geometry, Map<String, Value>)>
) -> GeoJson
Expand description

Create a GeoJson with one feature per geometry, with the specified properties.

\ No newline at end of file diff --git a/rustdoc/geom/fn.serialize_f64.html b/rustdoc/geom/fn.serialize_f64.html index 04f16c541d..cfa3643b67 100644 --- a/rustdoc/geom/fn.serialize_f64.html +++ b/rustdoc/geom/fn.serialize_f64.html @@ -1,2 +1,2 @@ -serialize_f64 in geom - Rust
pub(crate) fn serialize_f64<S: Serializer>(
    x: &f64,
    s: S
) -> Result<S::Ok, S::Error>
Expand description

Serializes a trimmed f64 as an i32 to save space.

+serialize_f64 in geom - Rust
pub(crate) fn serialize_f64<S: Serializer>(
    x: &f64,
    s: S
) -> Result<S::Ok, S::Error>
Expand description

Serializes a trimmed f64 as an i32 to save space.

\ No newline at end of file diff --git a/rustdoc/geom/fn.trim_f64.html b/rustdoc/geom/fn.trim_f64.html index 40b8db3745..8e5e05fb62 100644 --- a/rustdoc/geom/fn.trim_f64.html +++ b/rustdoc/geom/fn.trim_f64.html @@ -1,4 +1,4 @@ -trim_f64 in geom - Rust
pub fn trim_f64(x: f64) -> f64
Expand description

Reduce the precision of an f64. This helps ensure serialization is idempotent (everything is +trim_f64 in geom - Rust

pub fn trim_f64(x: f64) -> f64
Expand description

Reduce the precision of an f64. This helps ensure serialization is idempotent (everything is exactly the same before and after saving/loading). Ideally we’d use some kind of proper fixed-precision type instead of f64.

\ No newline at end of file diff --git a/rustdoc/geom/index.html b/rustdoc/geom/index.html index ea51da5aed..3c54bc5d63 100644 --- a/rustdoc/geom/index.html +++ b/rustdoc/geom/index.html @@ -1,5 +1,5 @@ -geom - Rust

Crate geom

source · []

Modules

angle 🔒
bounds 🔒
circle 🔒
Conversions between this crate and geo. Long-term, we should think about directly using geo -or wrapping it, but in the meantime…
distance 🔒
duration 🔒
gps 🔒
line 🔒
percent 🔒
polygon 🔒
polyline 🔒
pt 🔒
ring 🔒
speed 🔒
stats 🔒
time 🔒

Structs

An angle, stored in radians.
Represents a rectangular boundary of Pt2D points.
A circle, defined by a center and radius.
A distance, in meters. Can be negative.
A duration, in seconds. Can be negative.
A quad-tree to quickly find the closest points to some polylines.
Represents a rectangular boundary of LonLat points. After building one of these, LonLats +geom - Rust

Crate geom

source · []

Modules

angle 🔒
bounds 🔒
circle 🔒
Conversions between this crate and geo. Long-term, we should think about directly using geo +or wrapping it, but in the meantime…
distance 🔒
duration 🔒
gps 🔒
line 🔒
percent 🔒
polygon 🔒
polyline 🔒
pt 🔒
ring 🔒
speed 🔒
stats 🔒
time 🔒
utils 🔒

Structs

An angle, stored in radians.
Represents a rectangular boundary of Pt2D points.
A circle, defined by a center and radius.
A distance, in meters. Can be negative.
A duration, in seconds. Can be negative.
A quad-tree to quickly find the closest points to some polylines.
Represents a rectangular boundary of LonLat points. After building one of these, LonLats can be transformed into Pt2Ds, treating the top-left of the boundary as (0, 0), and growing to the right and down (screen-drawing order, not Cartesian) in meters.
This represents world space, NOT LonLat.
A line segment.
Represents a (longitude, latitude) point.
Most of the time, [0, 1]. But some callers may go outside this range.
This represents world-space in meters.
Maybe a misnomer, but like a PolyLine, but closed.
In meters per second. Can be negative.
A tessellated polygon, ready for rendering.
In seconds since midnight. Can’t be negative.
Specifies how to stringify different geom objects.

Enums

Constants

Traits

Functions

Deserializes a trimmed f64 from an i32.
Create a GeoJson with one feature per geometry, and no properties.
Create a GeoJson with one feature per geometry, with the specified properties.
Serializes a trimmed f64 as an i32 to save space.
Reduce the precision of an f64. This helps ensure serialization is idempotent (everything is exactly the same before and after saving/loading). Ideally we’d use some kind of proper diff --git a/rustdoc/geom/line/struct.Line.html b/rustdoc/geom/line/struct.Line.html index 0b39178602..948a192282 100644 --- a/rustdoc/geom/line/struct.Line.html +++ b/rustdoc/geom/line/struct.Line.html @@ -5,7 +5,7 @@ at the call-site.

Returns an infinite line passing through this line’s two points.

Returns the first point in this line segment.

Returns the second point in this line segment.

-

Returns the two points in this line segment.

+

Returns the two points in this line segment.

Returns a polyline containing these two points.

Returns a thick line segment.

Length of the line segment

diff --git a/rustdoc/geom/polygon/fn.from_multi.html b/rustdoc/geom/polygon/fn.from_multi.html index 18c404ee89..8b80f349a2 100644 --- a/rustdoc/geom/polygon/fn.from_multi.html +++ b/rustdoc/geom/polygon/fn.from_multi.html @@ -1 +1 @@ -from_multi in geom::polygon - Rust
pub(crate) fn from_multi(multi: MultiPolygon) -> Result<Vec<Polygon>>
\ No newline at end of file +from_multi in geom::polygon - Rust
pub(crate) fn from_multi(multi: MultiPolygon) -> Result<Vec<Polygon>>
\ No newline at end of file diff --git a/rustdoc/geom/polygon/index.html b/rustdoc/geom/polygon/index.html index 8f3d5921c8..56a463a78c 100644 --- a/rustdoc/geom/polygon/index.html +++ b/rustdoc/geom/polygon/index.html @@ -1 +1 @@ -geom::polygon - Rust
\ No newline at end of file +geom::polygon - Rust
\ No newline at end of file diff --git a/rustdoc/geom/polygon/struct.Polygon.html b/rustdoc/geom/polygon/struct.Polygon.html index 19e9d2fcf6..4286c3c9fe 100644 --- a/rustdoc/geom/polygon/struct.Polygon.html +++ b/rustdoc/geom/polygon/struct.Polygon.html @@ -1,39 +1,39 @@ -Polygon in geom::polygon - Rust
pub struct Polygon {
+Polygon in geom::polygon - Rust
pub struct Polygon {
     pub(crate) rings: Vec<Ring>,
     pub(crate) tessellation: Option<Tessellation>,
-}

Fields

rings: Vec<Ring>tessellation: Option<Tessellation>

Implementations

Does this polygon contain the point in its interior?

-

Transformations must preserve Rings.

-

When factor is small, this may collapse Rings and thus fail.

-

When factor is known to be over 1, then scaling can’t fail.

-

Returns the arithmetic mean of the outer ring’s points. The result could wind up inside a +}

Fields

rings: Vec<Ring>tessellation: Option<Tessellation>

Implementations

Does this polygon contain the point in its interior?

+

Transformations must preserve Rings.

+

When factor is small, this may collapse Rings and thus fail.

+

When factor is known to be over 1, then scaling can’t fail.

+

Returns the arithmetic mean of the outer ring’s points. The result could wind up inside a hole in the polygon. Consider using polylabel too.

-

Top-left at the origin. Doesn’t take Distance, because this is usually pixels, actually.

-

Top-left at the origin. Doesn’t take Distance, because this is usually pixels, actually. +

Top-left at the origin. Doesn’t take Distance, because this is usually pixels, actually.

+

Top-left at the origin. Doesn’t take Distance, because this is usually pixels, actually. Note this will panic if width or height is 0.

-

Top-left at the origin. Doesn’t take Distance, because this is usually pixels, actually.

-

A rectangle, two sides of which are fully rounded half-circles.

-

Top-left at the origin. Doesn’t take Distance, because this is usually pixels, actually. +

Top-left at the origin. Doesn’t take Distance, because this is usually pixels, actually.

+

A rectangle, two sides of which are fully rounded half-circles.

+

Top-left at the origin. Doesn’t take Distance, because this is usually pixels, actually. If it’s not possible to apply the specified radius, fallback to a regular rectangle.

-

Union all of the polygons into one geo::MultiPolygon

-

Find the “pole of inaccessibility” – the most distant internal point from the polygon +

Union all of the polygons into one geo::MultiPolygon

+

Find the “pole of inaccessibility” – the most distant internal point from the polygon outline

-

Do two polygons intersect at all?

-

Does this polygon intersect a polyline?

-

Creates the outline around the polygon (both the exterior and holes), with the thickness +

Do two polygons intersect at all?

+

Does this polygon intersect a polyline?

+

Creates the outline around the polygon (both the exterior and holes), with the thickness half straddling the polygon and half of it just outside.

Returns a Tessellation that may union together the outline from the exterior and multiple holes. Callers that need a Polygon must call to_outline on the individual Rings.

-

Usually m^2, unless the polygon is in screen-space

-

Doesn’t handle multiple crossings in and out.

-

Optionally map the world-space points back to GPS.

-

Extracts all polygons from raw bytes representing a GeoJSON file, along with the string +

Usually m^2, unless the polygon is in screen-space

+

Doesn’t handle multiple crossings in and out.

+

Optionally map the world-space points back to GPS.

+

Extracts all polygons from raw bytes representing a GeoJSON file, along with the string key/value properties. Only the first polygon from multipolygons is returned. If require_in_bounds is set, then the polygon must completely fit within the gps_bounds.

-

If simplification fails, just keep the original polygon

-

An arbitrary placeholder value, when Option types aren’t worthwhile

-

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used +

If simplification fails, just keep the original polygon

+

An arbitrary placeholder value, when Option types aren’t worthwhile

+

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

diff --git a/rustdoc/geom/polyline/constant.MITER_THRESHOLD.html b/rustdoc/geom/polyline/constant.MITER_THRESHOLD.html index e28ed56222..dc614d8dbd 100644 --- a/rustdoc/geom/polyline/constant.MITER_THRESHOLD.html +++ b/rustdoc/geom/polyline/constant.MITER_THRESHOLD.html @@ -1 +1 @@ -MITER_THRESHOLD in geom::polyline - Rust
const MITER_THRESHOLD: f64 = 500.0;
\ No newline at end of file +MITER_THRESHOLD in geom::polyline - Rust
const MITER_THRESHOLD: f64 = 500.0;
\ No newline at end of file diff --git a/rustdoc/geom/polyline/enum.ArrowCap.html b/rustdoc/geom/polyline/enum.ArrowCap.html index b67e4e2d32..741a2f0a4b 100644 --- a/rustdoc/geom/polyline/enum.ArrowCap.html +++ b/rustdoc/geom/polyline/enum.ArrowCap.html @@ -1,4 +1,4 @@ -ArrowCap in geom::polyline - Rust
pub enum ArrowCap {
+ArrowCap in geom::polyline - Rust
pub enum ArrowCap {
     Triangle,
 }

Variants

Triangle

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

diff --git a/rustdoc/geom/polyline/fn.fix_angles.html b/rustdoc/geom/polyline/fn.fix_angles.html index 03914cd4c3..763723ef80 100644 --- a/rustdoc/geom/polyline/fn.fix_angles.html +++ b/rustdoc/geom/polyline/fn.fix_angles.html @@ -1 +1 @@ -fix_angles in geom::polyline - Rust
fn fix_angles(orig: &PolyLine, result: PolyLine) -> Result<PolyLine>
\ No newline at end of file +fix_angles in geom::polyline - Rust
fn fix_angles(orig: &PolyLine, result: PolyLine) -> Result<PolyLine>
\ No newline at end of file diff --git a/rustdoc/geom/polyline/fn.to_set.html b/rustdoc/geom/polyline/fn.to_set.html index 2529b20870..a2bf42140c 100644 --- a/rustdoc/geom/polyline/fn.to_set.html +++ b/rustdoc/geom/polyline/fn.to_set.html @@ -1 +1 @@ -to_set in geom::polyline - Rust
fn to_set(pts: &[Pt2D]) -> (HashSet<HashablePt2D>, HashSet<HashablePt2D>)
\ No newline at end of file +to_set in geom::polyline - Rust
fn to_set(pts: &[Pt2D]) -> (HashSet<HashablePt2D>, HashSet<HashablePt2D>)
\ No newline at end of file diff --git a/rustdoc/geom/polyline/index.html b/rustdoc/geom/polyline/index.html index 5fc6ef517c..a406275aeb 100644 --- a/rustdoc/geom/polyline/index.html +++ b/rustdoc/geom/polyline/index.html @@ -1 +1 @@ -geom::polyline - Rust
\ No newline at end of file +geom::polyline - Rust
\ No newline at end of file diff --git a/rustdoc/geom/polyline/struct.PolyLine.html b/rustdoc/geom/polyline/struct.PolyLine.html index 762244572e..8c7e829f92 100644 --- a/rustdoc/geom/polyline/struct.PolyLine.html +++ b/rustdoc/geom/polyline/struct.PolyLine.html @@ -1,51 +1,51 @@ -PolyLine in geom::polyline - Rust
pub struct PolyLine {
+PolyLine in geom::polyline - Rust
pub struct PolyLine {
     pts: Vec<Pt2D>,
     length: Distance,
-}

Fields

pts: Vec<Pt2D>length: Distance

Implementations

Doesn’t check for duplicates. Use at your own risk.

-

First dedupes adjacent points

-

Like make_polygons, but make sure the points actually form a ring.

-

Returns the quadrant where the overall angle of this polyline (pointing from the first to +}

Fields

pts: Vec<Pt2D>length: Distance

Implementations

Doesn’t check for duplicates. Use at your own risk.

+

First dedupes adjacent points

+

Like make_polygons, but make sure the points actually form a ring.

+

Returns the quadrant where the overall angle of this polyline (pointing from the first to last point) is in. Output between 0 and 3.

-

Glue together two polylines in order. The last point of self must be the same as the +

Glue together two polylines in order. The last point of self must be the same as the first point of other. This method handles removing unnecessary intermediate points if the extension happens to be at the same angle as the last line segment of self.

-

Like extend, but panics on failure.

-

Extends self by a single point. If the new point is close enough to the last, dedupes. +

Like extend, but panics on failure.

+

Extends self by a single point. If the new point is close enough to the last, dedupes. Doesn’t clean up any intermediate points.

-

Like extend, but handles the last and first point not matching by inserting that point. +

Like extend, but handles the last and first point not matching by inserting that point. Doesn’t clean up any intermediate points.

-

One or both args might be empty.

-

Returns the excess distance left over from the end

-

No excess leftover distance allowed.

-

Perpendicularly shifts the polyline to the right if positive or left if negative.

-

self represents some center, with total_width. Logically this shifts left by +

One or both args might be empty.

+

Returns the excess distance left over from the end

+

No excess leftover distance allowed.

+

Perpendicularly shifts the polyline to the right if positive or left if negative.

+

self represents some center, with total_width. Logically this shifts left by total_width / 2, then right by width_from_left_side, but without exasperating sharp bends.

-

This produces a Polygon with a valid Ring. It may crash if this polyline was made with +

This produces a Polygon with a valid Ring. It may crash if this polyline was made with unchecked_new

-

Just produces a Tessellation

-

This does the equivalent of make_polygons, returning the (start left, start right, end +

Just produces a Tessellation

+

This does the equivalent of make_polygons, returning the (start left, start right, end left, end right). Fails rarely.

-

Don’t draw the dashes too close to the ends.

-

Fail if the length is too short.

-

If the length is too short, just give up and make the thick line

-

Also return the angle of the line where the hit was found

-

Panics if the pt is not on the polyline. Returns None if the point is the first point +

Don’t draw the dashes too close to the ends.

+

Fail if the length is too short.

+

If the length is too short, just give up and make the thick line

+

Also return the angle of the line where the hit was found

+

Panics if the pt is not on the polyline. Returns None if the point is the first point (meaning the slice is empty).

-

Returns None if the point is the last point.

-

Same as get_slice_ending_at, but returns None if the point isn’t on the polyline.

-

Same as get_slice_starting_at, but returns None if the point isn’t on the polyline.

-

If the current line is at least this long, return it. Otherwise, extend the end of it, +

Returns None if the point is the last point.

+

Same as get_slice_ending_at, but returns None if the point isn’t on the polyline.

+

Same as get_slice_starting_at, but returns None if the point isn’t on the polyline.

+

If the current line is at least this long, return it. Otherwise, extend the end of it, following the angle of the last line.

-

Produces a GeoJSON linestring, optionally mapping the world-space points back to GPS.

-

Returns the point on the polyline closest to the query.

-

Returns the angle from the start to end of this polyline.

-

Walk along the PolyLine, starting buffer_ends from the start and ending buffer_ends +

Produces a GeoJSON linestring, optionally mapping the world-space points back to GPS.

+

Returns the point on the polyline closest to the query.

+

Returns the angle from the start to end of this polyline.

+

Walk along the PolyLine, starting buffer_ends from the start and ending buffer_ends before the end. Advance in increments of step_size. Returns the point and angle at each step.

-

Walk along the PolyLine, from start_buffer to length - end_buffer. Advance in +

Walk along the PolyLine, from start_buffer to length - end_buffer. Advance in increments of step_size. Returns the point and angle at each step.

-
+
use geom::{PolyLine, Pt2D, Distance};
 
 let polyline = PolyLine::must_new(vec![
@@ -73,13 +73,13 @@ increments of step_size. Returns the point and angle at each step.<
     ]
 );
 
-

An arbitrary placeholder value, when Option types aren’t worthwhile

-

Extracts all linestrings from raw bytes representing a GeoJSON file, along with the string +

An arbitrary placeholder value, when Option types aren’t worthwhile

+

Extracts all linestrings from raw bytes representing a GeoJSON file, along with the string key/value properties. Uses PolyLine::unchecked_new, which doesn’t dedupe or handle any invalid cases.

-

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used +

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

diff --git a/rustdoc/geom/pt/struct.Pt2D.html b/rustdoc/geom/pt/struct.Pt2D.html index 788e502d48..1c7ec6f4f2 100644 --- a/rustdoc/geom/pt/struct.Pt2D.html +++ b/rustdoc/geom/pt/struct.Pt2D.html @@ -5,7 +5,7 @@

Fields

x: f64y: f64

Implementations

Can go out of bounds.

If distance is negative, this projects a point in theta.opposite()

Pretty meaningless units, for comparing distances very roughly

-

Simplifies a list of points using Ramer-Douglas-Peuckr

+

Simplifies a list of points using Ramer-Douglas-Peuckr

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/rustdoc/geom/ring/struct.Ring.html b/rustdoc/geom/ring/struct.Ring.html index 9c7ab8d9fc..6d05a21f16 100644 --- a/rustdoc/geom/ring/struct.Ring.html +++ b/rustdoc/geom/ring/struct.Ring.html @@ -4,7 +4,7 @@

Fields

pts: Vec<Pt2D>

Implementations

First dedupes adjacent points

Draws the ring with some thickness, with half of it straddling the interor of the ring, and half on the outside.

-

Be careful with the order of results. Hits on an earlier line segment of other show up +

Be careful with the order of results. Hits on an earlier line segment of other show up first, but if the ring hits a line segment at multiple points, who knows. Dedupes.

Assuming both points are somewhere along the ring, return the points in between the two, by tracing along the ring in the longer or shorter direction (depending on longer). If both diff --git a/rustdoc/geom/sidebar-items.js b/rustdoc/geom/sidebar-items.js index 9f3c928c2d..f822b55be3 100644 --- a/rustdoc/geom/sidebar-items.js +++ b/rustdoc/geom/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":[["EPSILON_DIST",""]],"enum":[["ArrowCap",""],["Statistic",""]],"fn":[["deserialize_f64","Deserializes a trimmed `f64` from an `i32`."],["geometries_to_geojson","Create a GeoJson with one feature per geometry, and no properties."],["geometries_with_properties_to_geojson","Create a GeoJson with one feature per geometry, with the specified properties."],["serialize_f64","Serializes a trimmed `f64` as an `i32` to save space."],["trim_f64","Reduce the precision of an f64. This helps ensure serialization is idempotent (everything is exactly the same before and after saving/loading). Ideally we’d use some kind of proper fixed-precision type instead of f64."]],"mod":[["angle",""],["bounds",""],["circle",""],["conversions","Conversions between this crate and `geo`. Long-term, we should think about directly using `geo` or wrapping it, but in the meantime…"],["distance",""],["duration",""],["find_closest",""],["gps",""],["line",""],["percent",""],["polygon",""],["polyline",""],["pt",""],["ring",""],["speed",""],["stats",""],["tessellation",""],["time",""]],"struct":[["Angle","An angle, stored in radians."],["Bounds","Represents a rectangular boundary of `Pt2D` points."],["Circle","A circle, defined by a center and radius."],["CornerRadii",""],["Distance","A distance, in meters. Can be negative."],["Duration","A duration, in seconds. Can be negative."],["FindClosest","A quad-tree to quickly find the closest points to some polylines."],["GPSBounds","Represents a rectangular boundary of `LonLat` points. After building one of these, `LonLat`s can be transformed into `Pt2D`s, treating the top-left of the boundary as (0, 0), and growing to the right and down (screen-drawing order, not Cartesian) in meters."],["HashablePt2D","This represents world space, NOT LonLat."],["Histogram",""],["InfiniteLine",""],["Line","A line segment."],["LonLat","Represents a (longitude, latitude) point."],["Percent","Most of the time, [0, 1]. But some callers may go outside this range."],["PolyLine",""],["Polygon",""],["Pt2D","This represents world-space in meters."],["Ring","Maybe a misnomer, but like a PolyLine, but closed."],["Speed","In meters per second. Can be negative."],["Tessellation","A tessellated polygon, ready for rendering."],["Time","In seconds since midnight. Can’t be negative."],["Triangle",""],["UnitFmt","Specifies how to stringify different geom objects."]],"trait":[["HgramValue",""]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["EPSILON_DIST",""]],"enum":[["ArrowCap",""],["Statistic",""]],"fn":[["deserialize_f64","Deserializes a trimmed `f64` from an `i32`."],["geometries_to_geojson","Create a GeoJson with one feature per geometry, and no properties."],["geometries_with_properties_to_geojson","Create a GeoJson with one feature per geometry, with the specified properties."],["serialize_f64","Serializes a trimmed `f64` as an `i32` to save space."],["trim_f64","Reduce the precision of an f64. This helps ensure serialization is idempotent (everything is exactly the same before and after saving/loading). Ideally we’d use some kind of proper fixed-precision type instead of f64."]],"mod":[["angle",""],["bounds",""],["circle",""],["conversions","Conversions between this crate and `geo`. Long-term, we should think about directly using `geo` or wrapping it, but in the meantime…"],["distance",""],["duration",""],["find_closest",""],["gps",""],["line",""],["percent",""],["polygon",""],["polyline",""],["pt",""],["ring",""],["speed",""],["stats",""],["tessellation",""],["time",""],["utils",""]],"struct":[["Angle","An angle, stored in radians."],["Bounds","Represents a rectangular boundary of `Pt2D` points."],["Circle","A circle, defined by a center and radius."],["CornerRadii",""],["Distance","A distance, in meters. Can be negative."],["Duration","A duration, in seconds. Can be negative."],["FindClosest","A quad-tree to quickly find the closest points to some polylines."],["GPSBounds","Represents a rectangular boundary of `LonLat` points. After building one of these, `LonLat`s can be transformed into `Pt2D`s, treating the top-left of the boundary as (0, 0), and growing to the right and down (screen-drawing order, not Cartesian) in meters."],["HashablePt2D","This represents world space, NOT LonLat."],["Histogram",""],["InfiniteLine",""],["Line","A line segment."],["LonLat","Represents a (longitude, latitude) point."],["Percent","Most of the time, [0, 1]. But some callers may go outside this range."],["PolyLine",""],["Polygon",""],["Pt2D","This represents world-space in meters."],["Ring","Maybe a misnomer, but like a PolyLine, but closed."],["Speed","In meters per second. Can be negative."],["Tessellation","A tessellated polygon, ready for rendering."],["Time","In seconds since midnight. Can’t be negative."],["Triangle",""],["UnitFmt","Specifies how to stringify different geom objects."]],"trait":[["HgramValue",""]]}; \ No newline at end of file diff --git a/rustdoc/geom/speed/struct.Speed.html b/rustdoc/geom/speed/struct.Speed.html index 1deb966a5b..08cc961070 100644 --- a/rustdoc/geom/speed/struct.Speed.html +++ b/rustdoc/geom/speed/struct.Speed.html @@ -1,6 +1,6 @@ Speed in geom::speed - Rust

pub struct Speed(f64);
Expand description

In meters per second. Can be negative.

Tuple Fields

0: f64

Implementations

Describes the speed according to formatting rules.

-

Trait Implementations

The resulting type after applying the + operator.
Performs the + operation. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
The resulting type after applying the / operator.
Performs the / operation. Read more
The resulting type after applying the / operator.
Performs the / operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the - operator.
Performs the unary - operation. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used +

Trait Implementations

The resulting type after applying the + operator.
Performs the + operation. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
The resulting type after applying the / operator.
Performs the / operation. Read more
The resulting type after applying the / operator.
Performs the / operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the - operator.
Performs the unary - operation. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= diff --git a/rustdoc/geom/stats/enum.Statistic.html b/rustdoc/geom/stats/enum.Statistic.html index b62a6d39ab..3c1b654fd5 100644 --- a/rustdoc/geom/stats/enum.Statistic.html +++ b/rustdoc/geom/stats/enum.Statistic.html @@ -5,7 +5,7 @@ P90, P99, Max, -}

Variants

Min

Mean

P50

P90

P99

Max

Implementations

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used +}

Variants

Min

Mean

P50

P90

P99

Max

Implementations

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= diff --git a/rustdoc/geom/struct.CornerRadii.html b/rustdoc/geom/struct.CornerRadii.html index 975f779f15..3f343dc605 100644 --- a/rustdoc/geom/struct.CornerRadii.html +++ b/rustdoc/geom/struct.CornerRadii.html @@ -1,9 +1,9 @@ -CornerRadii in geom - Rust
pub struct CornerRadii {
+CornerRadii in geom - Rust
pub struct CornerRadii {
     pub top_left: f64,
     pub top_right: f64,
     pub bottom_right: f64,
     pub bottom_left: f64,
-}

Fields

top_left: f64top_right: f64bottom_right: f64bottom_left: f64

Implementations

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Converts to this type from the input type.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+}

Fields

top_left: f64top_right: f64bottom_right: f64bottom_left: f64

Implementations

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Converts to this type from the input type.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

diff --git a/rustdoc/geom/struct.Duration.html b/rustdoc/geom/struct.Duration.html index 0b4d35a4fb..9da1dda75a 100644 --- a/rustdoc/geom/struct.Duration.html +++ b/rustdoc/geom/struct.Duration.html @@ -1,18 +1,18 @@ -Duration in geom - Rust
pub struct Duration(f64);
Expand description

A duration, in seconds. Can be negative.

-

Tuple Fields

0: f64

Implementations

Creates a duration in seconds.

-

Creates a duration in minutes.

-

Creates a duration in hours.

-

Creates a duration in minutes.

-

Creates a duration in milliseconds.

-

Returns the duration in seconds. Prefer working in typesafe Durations.

-

Splits the duration into (hours, minutes, seconds, deciseconds).

-

Parses a duration such as “3:00” to Duration::minutes(3).

-

If two durations are within this amount, they’ll print as if they’re the same.

-

Returns the duration elapsed from this moment in real time.

-

Rounds a duration up to the nearest whole number multiple.

-

Returns the duration as a number of minutes, rounded up.

-

Returns (rounded max, the boundaries)

-

Shows only the largest unit (hours, minute, seconds), rounded to precision decimal points.

+Duration in geom - Rust
pub struct Duration(f64);
Expand description

A duration, in seconds. Can be negative.

+

Tuple Fields

0: f64

Implementations

Creates a duration in seconds.

+

Creates a duration in minutes.

+

Creates a duration in hours.

+

Creates a duration in minutes.

+

Creates a duration in milliseconds.

+

Returns the duration in seconds. Prefer working in typesafe Durations.

+

Splits the duration into (hours, minutes, seconds, deciseconds).

+

Parses a duration such as “3:00” to Duration::minutes(3).

+

If two durations are within this amount, they’ll print as if they’re the same.

+

Returns the duration elapsed from this moment in real time.

+

Rounds a duration up to the nearest whole number multiple.

+

Returns the duration as a number of minutes, rounded up.

+

Returns (rounded max, the boundaries)

+

Shows only the largest unit (hours, minute, seconds), rounded to precision decimal points.

use geom::Duration;
 assert_eq!(Duration::seconds(3600.0).to_rounded_string(0), "1hr");
@@ -23,13 +23,13 @@
 assert_eq!(Duration::seconds(0.0).to_rounded_string(0), "0");
 assert_eq!(Duration::seconds(12.5).to_rounded_string(1), "12.5s");
 assert_eq!(Duration::seconds(12.5).to_rounded_string(2), "12.50s");
-

Describes the duration according to formatting rules.

-

Trait Implementations

The resulting type after applying the + operator.
Performs the + operation. Read more
The resulting type after applying the + operator.
Performs the + operation. Read more
Performs the += operation. Read more
Performs the += operation. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
The resulting type after applying the / operator.
Performs the / operation. Read more
The resulting type after applying the / operator.
Performs the / operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the - operator.
Performs the unary - operation. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used +

Describes the duration according to formatting rules.

+

Trait Implementations

The resulting type after applying the + operator.
Performs the + operation. Read more
The resulting type after applying the + operator.
Performs the + operation. Read more
Performs the += operation. Read more
Performs the += operation. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
The resulting type after applying the / operator.
Performs the / operation. Read more
The resulting type after applying the / operator.
Performs the / operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the - operator.
Performs the unary - operation. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
The resulting type after applying the % operator.
Performs the % operation. Read more
Serialize this value into the given Serde serializer. Read more
The resulting type after applying the - operator.
Performs the - operation. Read more
The resulting type after applying the - operator.
Performs the - operation. Read more
Performs the -= operation. Read more
Method which takes an iterator and generates Self from the elements by -“summing up” the items. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+operator. Read more
The resulting type after applying the % operator.
Performs the % operation. Read more
Serialize this value into the given Serde serializer. Read more
The resulting type after applying the - operator.
Performs the - operation. Read more
The resulting type after applying the - operator.
Performs the - operation. Read more
Performs the -= operation. Read more
Method which takes an iterator and generates Self from the elements by +“summing up” the items. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

diff --git a/rustdoc/geom/struct.FindClosest.html b/rustdoc/geom/struct.FindClosest.html index 86c004cd4e..1c7ca37586 100644 --- a/rustdoc/geom/struct.FindClosest.html +++ b/rustdoc/geom/struct.FindClosest.html @@ -7,10 +7,10 @@ TODO This doesn’t properly handle single points, and will silently fail by never returning any matches.

Adds the outer ring of a polygon to the quadtree.

-

For every object within some distance of a query point, return the (object’s key, point on +

For every object within some distance of a query point, return the (object’s key, point on the object’s polyline, distance away).

Finds the closest point on the existing geometry to the query pt.

-

Find all objects with a point inside the query polygon

+

Find all objects with a point inside the query polygon

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of diff --git a/rustdoc/geom/struct.GPSBounds.html b/rustdoc/geom/struct.GPSBounds.html index e6eb693080..552ddbac43 100644 --- a/rustdoc/geom/struct.GPSBounds.html +++ b/rustdoc/geom/struct.GPSBounds.html @@ -13,10 +13,10 @@ to the right and down (screen-drawing order, not Cartesian) in meters.

The bottom-right corner of the boundary, in map-space.

Converts the boundary to map-space.

Convert all points to map-space, failing if any points are outside this boundary.

-

Convert all points to map-space. The points may be outside this boundary.

-

Convert map-space points back to LonLats. This is only valid if the GPSBounds used +

Convert all points to map-space. The points may be outside this boundary.

+

Convert map-space points back to LonLats. This is only valid if the GPSBounds used is the same as the one used to originally produce the Pt2Ds.

-

Returns points in order covering this boundary.

+

Returns points in order covering this boundary.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/rustdoc/geom/struct.Line.html b/rustdoc/geom/struct.Line.html index 6150ed5f8a..81f1a4ceb9 100644 --- a/rustdoc/geom/struct.Line.html +++ b/rustdoc/geom/struct.Line.html @@ -5,7 +5,7 @@ at the call-site.

Returns an infinite line passing through this line’s two points.

Returns the first point in this line segment.

Returns the second point in this line segment.

-

Returns the two points in this line segment.

+

Returns the two points in this line segment.

Returns a polyline containing these two points.

Returns a thick line segment.

Length of the line segment

diff --git a/rustdoc/geom/struct.PolyLine.html b/rustdoc/geom/struct.PolyLine.html index 4fa74c7116..ba02dcb4a0 100644 --- a/rustdoc/geom/struct.PolyLine.html +++ b/rustdoc/geom/struct.PolyLine.html @@ -1,51 +1,51 @@ -PolyLine in geom - Rust
pub struct PolyLine {
+PolyLine in geom - Rust
pub struct PolyLine {
     pts: Vec<Pt2D>,
     length: Distance,
-}

Fields

pts: Vec<Pt2D>length: Distance

Implementations

Doesn’t check for duplicates. Use at your own risk.

-

First dedupes adjacent points

-

Like make_polygons, but make sure the points actually form a ring.

-

Returns the quadrant where the overall angle of this polyline (pointing from the first to +}

Fields

pts: Vec<Pt2D>length: Distance

Implementations

Doesn’t check for duplicates. Use at your own risk.

+

First dedupes adjacent points

+

Like make_polygons, but make sure the points actually form a ring.

+

Returns the quadrant where the overall angle of this polyline (pointing from the first to last point) is in. Output between 0 and 3.

-

Glue together two polylines in order. The last point of self must be the same as the +

Glue together two polylines in order. The last point of self must be the same as the first point of other. This method handles removing unnecessary intermediate points if the extension happens to be at the same angle as the last line segment of self.

-

Like extend, but panics on failure.

-

Extends self by a single point. If the new point is close enough to the last, dedupes. +

Like extend, but panics on failure.

+

Extends self by a single point. If the new point is close enough to the last, dedupes. Doesn’t clean up any intermediate points.

-

Like extend, but handles the last and first point not matching by inserting that point. +

Like extend, but handles the last and first point not matching by inserting that point. Doesn’t clean up any intermediate points.

-

One or both args might be empty.

-

Returns the excess distance left over from the end

-

No excess leftover distance allowed.

-

Perpendicularly shifts the polyline to the right if positive or left if negative.

-

self represents some center, with total_width. Logically this shifts left by +

One or both args might be empty.

+

Returns the excess distance left over from the end

+

No excess leftover distance allowed.

+

Perpendicularly shifts the polyline to the right if positive or left if negative.

+

self represents some center, with total_width. Logically this shifts left by total_width / 2, then right by width_from_left_side, but without exasperating sharp bends.

-

This produces a Polygon with a valid Ring. It may crash if this polyline was made with +

This produces a Polygon with a valid Ring. It may crash if this polyline was made with unchecked_new

-

Just produces a Tessellation

-

This does the equivalent of make_polygons, returning the (start left, start right, end +

Just produces a Tessellation

+

This does the equivalent of make_polygons, returning the (start left, start right, end left, end right). Fails rarely.

-

Don’t draw the dashes too close to the ends.

-

Fail if the length is too short.

-

If the length is too short, just give up and make the thick line

-

Also return the angle of the line where the hit was found

-

Panics if the pt is not on the polyline. Returns None if the point is the first point +

Don’t draw the dashes too close to the ends.

+

Fail if the length is too short.

+

If the length is too short, just give up and make the thick line

+

Also return the angle of the line where the hit was found

+

Panics if the pt is not on the polyline. Returns None if the point is the first point (meaning the slice is empty).

-

Returns None if the point is the last point.

-

Same as get_slice_ending_at, but returns None if the point isn’t on the polyline.

-

Same as get_slice_starting_at, but returns None if the point isn’t on the polyline.

-

If the current line is at least this long, return it. Otherwise, extend the end of it, +

Returns None if the point is the last point.

+

Same as get_slice_ending_at, but returns None if the point isn’t on the polyline.

+

Same as get_slice_starting_at, but returns None if the point isn’t on the polyline.

+

If the current line is at least this long, return it. Otherwise, extend the end of it, following the angle of the last line.

-

Produces a GeoJSON linestring, optionally mapping the world-space points back to GPS.

-

Returns the point on the polyline closest to the query.

-

Returns the angle from the start to end of this polyline.

-

Walk along the PolyLine, starting buffer_ends from the start and ending buffer_ends +

Produces a GeoJSON linestring, optionally mapping the world-space points back to GPS.

+

Returns the point on the polyline closest to the query.

+

Returns the angle from the start to end of this polyline.

+

Walk along the PolyLine, starting buffer_ends from the start and ending buffer_ends before the end. Advance in increments of step_size. Returns the point and angle at each step.

-

Walk along the PolyLine, from start_buffer to length - end_buffer. Advance in +

Walk along the PolyLine, from start_buffer to length - end_buffer. Advance in increments of step_size. Returns the point and angle at each step.

-
+
use geom::{PolyLine, Pt2D, Distance};
 
 let polyline = PolyLine::must_new(vec![
@@ -73,13 +73,13 @@ increments of step_size. Returns the point and angle at each step.<
     ]
 );
 
-

An arbitrary placeholder value, when Option types aren’t worthwhile

-

Extracts all linestrings from raw bytes representing a GeoJSON file, along with the string +

An arbitrary placeholder value, when Option types aren’t worthwhile

+

Extracts all linestrings from raw bytes representing a GeoJSON file, along with the string key/value properties. Uses PolyLine::unchecked_new, which doesn’t dedupe or handle any invalid cases.

-

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used +

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

diff --git a/rustdoc/geom/struct.Polygon.html b/rustdoc/geom/struct.Polygon.html index f1c6d6bf70..3859c2a8aa 100644 --- a/rustdoc/geom/struct.Polygon.html +++ b/rustdoc/geom/struct.Polygon.html @@ -1,39 +1,39 @@ -Polygon in geom - Rust
pub struct Polygon {
+Polygon in geom - Rust
pub struct Polygon {
     pub(crate) rings: Vec<Ring>,
     pub(crate) tessellation: Option<Tessellation>,
-}

Fields

rings: Vec<Ring>tessellation: Option<Tessellation>

Implementations

Does this polygon contain the point in its interior?

-

Transformations must preserve Rings.

-

When factor is small, this may collapse Rings and thus fail.

-

When factor is known to be over 1, then scaling can’t fail.

-

Returns the arithmetic mean of the outer ring’s points. The result could wind up inside a +}

Fields

rings: Vec<Ring>tessellation: Option<Tessellation>

Implementations

Does this polygon contain the point in its interior?

+

Transformations must preserve Rings.

+

When factor is small, this may collapse Rings and thus fail.

+

When factor is known to be over 1, then scaling can’t fail.

+

Returns the arithmetic mean of the outer ring’s points. The result could wind up inside a hole in the polygon. Consider using polylabel too.

-

Top-left at the origin. Doesn’t take Distance, because this is usually pixels, actually.

-

Top-left at the origin. Doesn’t take Distance, because this is usually pixels, actually. +

Top-left at the origin. Doesn’t take Distance, because this is usually pixels, actually.

+

Top-left at the origin. Doesn’t take Distance, because this is usually pixels, actually. Note this will panic if width or height is 0.

-

Top-left at the origin. Doesn’t take Distance, because this is usually pixels, actually.

-

A rectangle, two sides of which are fully rounded half-circles.

-

Top-left at the origin. Doesn’t take Distance, because this is usually pixels, actually. +

Top-left at the origin. Doesn’t take Distance, because this is usually pixels, actually.

+

A rectangle, two sides of which are fully rounded half-circles.

+

Top-left at the origin. Doesn’t take Distance, because this is usually pixels, actually. If it’s not possible to apply the specified radius, fallback to a regular rectangle.

-

Union all of the polygons into one geo::MultiPolygon

-

Find the “pole of inaccessibility” – the most distant internal point from the polygon +

Union all of the polygons into one geo::MultiPolygon

+

Find the “pole of inaccessibility” – the most distant internal point from the polygon outline

-

Do two polygons intersect at all?

-

Does this polygon intersect a polyline?

-

Creates the outline around the polygon (both the exterior and holes), with the thickness +

Do two polygons intersect at all?

+

Does this polygon intersect a polyline?

+

Creates the outline around the polygon (both the exterior and holes), with the thickness half straddling the polygon and half of it just outside.

Returns a Tessellation that may union together the outline from the exterior and multiple holes. Callers that need a Polygon must call to_outline on the individual Rings.

-

Usually m^2, unless the polygon is in screen-space

-

Doesn’t handle multiple crossings in and out.

-

Optionally map the world-space points back to GPS.

-

Extracts all polygons from raw bytes representing a GeoJSON file, along with the string +

Usually m^2, unless the polygon is in screen-space

+

Doesn’t handle multiple crossings in and out.

+

Optionally map the world-space points back to GPS.

+

Extracts all polygons from raw bytes representing a GeoJSON file, along with the string key/value properties. Only the first polygon from multipolygons is returned. If require_in_bounds is set, then the polygon must completely fit within the gps_bounds.

-

If simplification fails, just keep the original polygon

-

An arbitrary placeholder value, when Option types aren’t worthwhile

-

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used +

If simplification fails, just keep the original polygon

+

An arbitrary placeholder value, when Option types aren’t worthwhile

+

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

diff --git a/rustdoc/geom/struct.Pt2D.html b/rustdoc/geom/struct.Pt2D.html index 8c95d6ff2e..cca6182a8a 100644 --- a/rustdoc/geom/struct.Pt2D.html +++ b/rustdoc/geom/struct.Pt2D.html @@ -5,7 +5,7 @@

Fields

x: f64y: f64

Implementations

Can go out of bounds.

If distance is negative, this projects a point in theta.opposite()

Pretty meaningless units, for comparing distances very roughly

-

Simplifies a list of points using Ramer-Douglas-Peuckr

+

Simplifies a list of points using Ramer-Douglas-Peuckr

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/rustdoc/geom/struct.Ring.html b/rustdoc/geom/struct.Ring.html index 8734cc3601..d49d9f8256 100644 --- a/rustdoc/geom/struct.Ring.html +++ b/rustdoc/geom/struct.Ring.html @@ -4,7 +4,7 @@

Fields

pts: Vec<Pt2D>

Implementations

First dedupes adjacent points

Draws the ring with some thickness, with half of it straddling the interor of the ring, and half on the outside.

-

Be careful with the order of results. Hits on an earlier line segment of other show up +

Be careful with the order of results. Hits on an earlier line segment of other show up first, but if the ring hits a line segment at multiple points, who knows. Dedupes.

Assuming both points are somewhere along the ring, return the points in between the two, by tracing along the ring in the longer or shorter direction (depending on longer). If both diff --git a/rustdoc/geom/struct.Speed.html b/rustdoc/geom/struct.Speed.html index d0cae32891..4dfbbaab89 100644 --- a/rustdoc/geom/struct.Speed.html +++ b/rustdoc/geom/struct.Speed.html @@ -1,6 +1,6 @@ Speed in geom - Rust

pub struct Speed(f64);
Expand description

In meters per second. Can be negative.

Tuple Fields

0: f64

Implementations

Describes the speed according to formatting rules.

-

Trait Implementations

The resulting type after applying the + operator.
Performs the + operation. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
The resulting type after applying the / operator.
Performs the / operation. Read more
The resulting type after applying the / operator.
Performs the / operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the - operator.
Performs the unary - operation. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used +

Trait Implementations

The resulting type after applying the + operator.
Performs the + operation. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
The resulting type after applying the / operator.
Performs the / operation. Read more
The resulting type after applying the / operator.
Performs the / operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the * operator.
Performs the * operation. Read more
The resulting type after applying the - operator.
Performs the unary - operation. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= diff --git a/rustdoc/geom/struct.Tessellation.html b/rustdoc/geom/struct.Tessellation.html index d3b8cd3b27..096f076a53 100644 --- a/rustdoc/geom/struct.Tessellation.html +++ b/rustdoc/geom/struct.Tessellation.html @@ -8,7 +8,7 @@

Implementations

The points are not necessarily a Ring, which has strict requirements about no duplicate points. We can render various types of invalid polygon.

Returns (points, indices) for rendering

-

Equivalent to self.scale(scale).translate(translate_x, translate_y).rotate_around(rotate, pivot), but modifies the polygon in-place and is faster.

+

Equivalent to self.scale(scale).translate(translate_x, translate_y).rotate_around(rotate, pivot), but modifies the polygon in-place and is faster.

Produces a GeoJSON multipolygon consisting of individual triangles. Optionally map the world-space points back to GPS.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used diff --git a/rustdoc/geom/struct.UnitFmt.html b/rustdoc/geom/struct.UnitFmt.html index ced57e3e53..fb9ba0e24c 100644 --- a/rustdoc/geom/struct.UnitFmt.html +++ b/rustdoc/geom/struct.UnitFmt.html @@ -1,11 +1,11 @@ -UnitFmt in geom - Rust
pub struct UnitFmt {
+UnitFmt in geom - Rust
pub struct UnitFmt {
     pub round_durations: bool,
     pub metric: bool,
 }
Expand description

Specifies how to stringify different geom objects.

Fields

round_durations: bool

Round Durations to a whole number of seconds.

metric: bool

Display in metric; US imperial otherwise.

-

Implementations

Default settings using metric.

-

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+

Implementations

Default settings using metric.

+

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

diff --git a/rustdoc/geom/tessellation/fn.downsize.html b/rustdoc/geom/tessellation/fn.downsize.html index 39db784aed..5a9cf7f407 100644 --- a/rustdoc/geom/tessellation/fn.downsize.html +++ b/rustdoc/geom/tessellation/fn.downsize.html @@ -1 +1 @@ -downsize in geom::tessellation - Rust
fn downsize(input: Vec<usize>) -> Vec<u16>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
    A: Allocator,
\ No newline at end of file +downsize in geom::tessellation - Rust
fn downsize(input: Vec<usize>) -> Vec<u16>
\ No newline at end of file diff --git a/rustdoc/geom/tessellation/struct.Tessellation.html b/rustdoc/geom/tessellation/struct.Tessellation.html index 7a5104ff25..26adeef2ea 100644 --- a/rustdoc/geom/tessellation/struct.Tessellation.html +++ b/rustdoc/geom/tessellation/struct.Tessellation.html @@ -8,7 +8,7 @@

Implementations

The points are not necessarily a Ring, which has strict requirements about no duplicate points. We can render various types of invalid polygon.

Returns (points, indices) for rendering

-

Equivalent to self.scale(scale).translate(translate_x, translate_y).rotate_around(rotate, pivot), but modifies the polygon in-place and is faster.

+

Equivalent to self.scale(scale).translate(translate_x, translate_y).rotate_around(rotate, pivot), but modifies the polygon in-place and is faster.

Produces a GeoJSON multipolygon consisting of individual triangles. Optionally map the world-space points back to GPS.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used diff --git a/rustdoc/geom/utils/fn.prettyprint_usize.html b/rustdoc/geom/utils/fn.prettyprint_usize.html new file mode 100644 index 0000000000..1da7ee4105 --- /dev/null +++ b/rustdoc/geom/utils/fn.prettyprint_usize.html @@ -0,0 +1 @@ +prettyprint_usize in geom::utils - Rust
pub fn prettyprint_usize(x: usize) -> String
\ No newline at end of file diff --git a/rustdoc/geom/utils/index.html b/rustdoc/geom/utils/index.html new file mode 100644 index 0000000000..ec9fb5901e --- /dev/null +++ b/rustdoc/geom/utils/index.html @@ -0,0 +1 @@ +geom::utils - Rust
\ No newline at end of file diff --git a/rustdoc/geom/utils/sidebar-items.js b/rustdoc/geom/utils/sidebar-items.js new file mode 100644 index 0000000000..bd71d107e5 --- /dev/null +++ b/rustdoc/geom/utils/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"fn":[["prettyprint_usize",""]]}; \ No newline at end of file diff --git a/rustdoc/importer/uk/fn.check_sensor_data.html b/rustdoc/importer/uk/fn.check_sensor_data.html index 6986823553..a003172d78 100644 --- a/rustdoc/importer/uk/fn.check_sensor_data.html +++ b/rustdoc/importer/uk/fn.check_sensor_data.html @@ -1 +1 @@ -check_sensor_data in importer::uk - Rust
fn check_sensor_data(
    map: &Map,
    scenario: &Scenario,
    sensor_path: &str,
    timer: &mut Timer<'_>
)
\ No newline at end of file +check_sensor_data in importer::uk - Rust
fn check_sensor_data(
    map: &Map,
    scenario: &Scenario,
    sensor_path: &str,
    timer: &mut Timer<'_>
)
\ No newline at end of file diff --git a/rustdoc/importer/uk/fn.load_study_area.html b/rustdoc/importer/uk/fn.load_study_area.html index a1e140078f..a3c4fcb23b 100644 --- a/rustdoc/importer/uk/fn.load_study_area.html +++ b/rustdoc/importer/uk/fn.load_study_area.html @@ -1 +1 @@ -load_study_area in importer::uk - Rust
fn load_study_area(map: &Map) -> Result<Polygon>
\ No newline at end of file +load_study_area in importer::uk - Rust
fn load_study_area(map: &Map) -> Result<Polygon>
\ No newline at end of file diff --git a/rustdoc/importer/uk/fn.parse_zones.html b/rustdoc/importer/uk/fn.parse_zones.html index f1d270e305..ce614ce5f7 100644 --- a/rustdoc/importer/uk/fn.parse_zones.html +++ b/rustdoc/importer/uk/fn.parse_zones.html @@ -1 +1 @@ -parse_zones in importer::uk - Rust
fn parse_zones(
    gps_bounds: &GPSBounds,
    path: String
) -> Result<HashMap<String, Polygon>>
\ No newline at end of file +parse_zones in importer::uk - Rust
fn parse_zones(
    gps_bounds: &GPSBounds,
    path: String
) -> Result<HashMap<String, Polygon>>
\ No newline at end of file diff --git a/rustdoc/importer/uk/index.html b/rustdoc/importer/uk/index.html index ee6faaf42b..c8df9c0c63 100644 --- a/rustdoc/importer/uk/index.html +++ b/rustdoc/importer/uk/index.html @@ -1 +1 @@ -importer::uk - Rust
\ No newline at end of file +importer::uk - Rust
\ No newline at end of file diff --git a/rustdoc/kml/index.html b/rustdoc/kml/index.html index 01261c0484..429a59a4b5 100644 --- a/rustdoc/kml/index.html +++ b/rustdoc/kml/index.html @@ -1,3 +1,3 @@ -kml - Rust

Crate kml

source · []

Structs

A single object in the dataset.
Some dataset imported from KML, CSV, or something else. If the dataset is large, converting to +kml - Rust

Crate kml

source · []

Structs

A single object in the dataset.
Some dataset imported from KML, CSV, or something else. If the dataset is large, converting to this format and serializing is faster than parsing the original again.

Functions

Parses a .kml file and returns ExtraShapes. Objects will be clipped to the given gps_bounds. If require_all_pts_in_bounds is true, objects that’re partly out-of-bounds will be skipped.
parse_pt 🔒
recurse 🔒
\ No newline at end of file diff --git a/rustdoc/kml/struct.ExtraShapes.html b/rustdoc/kml/struct.ExtraShapes.html index b925c1efc5..41f6364968 100644 --- a/rustdoc/kml/struct.ExtraShapes.html +++ b/rustdoc/kml/struct.ExtraShapes.html @@ -6,7 +6,7 @@ this format and serializing is faster than parsing the original again.

‘Longitude’ and ‘Latitude’, representing a single point, OR a column called ‘geometry’ with a WKT-style linestring. All other columns will just be attributes. Objects that’re partly out-of-bounds will be excluded.

-

Parses a .geojson file and returns ExtraShapes

+

Parses a .geojson file and returns ExtraShapes

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an diff --git a/rustdoc/map_gui/tools/title_screen/built_info/constant.BUILT_TIME_UTC.html b/rustdoc/map_gui/tools/title_screen/built_info/constant.BUILT_TIME_UTC.html index 28b28b8339..c4098d4797 100644 --- a/rustdoc/map_gui/tools/title_screen/built_info/constant.BUILT_TIME_UTC.html +++ b/rustdoc/map_gui/tools/title_screen/built_info/constant.BUILT_TIME_UTC.html @@ -1,2 +1,2 @@ -BUILT_TIME_UTC in map_gui::tools::title_screen::built_info - Rust
pub const BUILT_TIME_UTC: &'static str = r"Sun, 13 Nov 2022 18:13:32 +0000";
Expand description

The build time in RFC2822, UTC.

+BUILT_TIME_UTC in map_gui::tools::title_screen::built_info - Rust
pub const BUILT_TIME_UTC: &'static str = r"Wed, 16 Nov 2022 22:04:43 +0000";
Expand description

The build time in RFC2822, UTC.

\ No newline at end of file diff --git a/rustdoc/search-index.js b/rustdoc/search-index.js index e4ff2cdcc0..20398cb495 100644 --- a/rustdoc/search-index.js +++ b/rustdoc/search-index.js @@ -6,7 +6,7 @@ var searchIndex = JSON.parse('{\ "convert_osm":{"doc":"","t":[13,13,13,13,13,4,3,4,4,13,5,11,11,11,11,11,11,11,11,5,5,5,11,0,12,12,0,12,11,11,11,11,0,12,12,11,11,11,11,11,11,11,11,12,12,0,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,5,5,5,5,5,5,5,5,5,12,12,12,12,3,3,3,3,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,17,5,5,5,5,5],"n":["Blockface","FixedPerBldg","Gis","JustOSM","None","OnstreetParking","Options","PrivateOffstreetParking","PublicOffstreetParking","SomeAdditionalWhereNoData","add_extra_buildings","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bristol_hack","clip_map","convert","default","elevation","elevation","extra_buildings","extract","filter_crosswalks","from","from","from","from","gtfs","gtfs_url","include_railroads","into","into","into","into","is_within","is_within","is_within","is_within","map_config","onstreet_parking","parking","private_offstreet_parking","public_offstreet_parking","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","0","pct","0","0","add_data","generate_input","scrape_output","extract_osm","find_parking_aisles","get_area_type","get_bldg_amenities","is_bldg","service_road_crosses_parking_lot","0","0","0","0","Route","RouteID","Shape","ShapeID","Stop","StopID","StopTime","Trip","TripID","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dump_kml","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_hash","get_hash","get_hash","get_hash","hash","hash","hash","hash","import","into","into","into","into","into","into","into","into","into","is_within","is_within","is_within","is_within","is_within","is_within","is_within","is_within","is_within","partial_cmp","partial_cmp","partial_cmp","partial_cmp","route_desc","route_id","route_id","route_long_name","route_short_name","route_type","shape_id","shape_id","shape_pt_lat","shape_pt_lon","shape_pt_sequence","stop_id","stop_id","stop_lat","stop_lon","stop_name","stop_sequence","to_owned","to_owned","to_owned","to_owned","trip_id","trip_id","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","DIRECTED_ROAD_THICKNESS","apply_parking","apply_private_offstreet_parking","unknown_parking","use_offstreet_parking","use_parking_hints"],"q":["convert_osm","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","convert_osm::OnstreetParking","","convert_osm::PrivateOffstreetParking","convert_osm::PublicOffstreetParking","convert_osm::elevation","","","convert_osm::extract","","","","","","convert_osm::gtfs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","convert_osm::parking","","","","",""],"d":["If OSM data is missing, then try to match data from …","","Pull data from …","If not tagged, there won’t be parking.","","What roads will have on-street parking lanes? Data from …","Configures the creation of a RawMap from OSM and other …","If a building doesn’t have anything from …","How many spots are available in public parking garages?","If OSM data is missing, then infer parking lanes on some …","","","","","","","","","","","","Create a RawMap from OSM and other input data.","","","","If provided, read polygons from this GeoJSON file and add …","","Only include crosswalks that match a highway=crossing OSM …","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Configure public transit using this URL to a static GTFS …","OSM railway=rail will be included as light rail if so. …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","[0, 100]","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[32,31,33,32,33,0,0,0,0,32,0,8,32,33,31,8,32,33,31,0,0,0,8,0,8,8,0,8,8,32,33,31,0,8,8,8,32,33,31,8,32,33,31,8,8,0,8,8,8,32,33,31,8,32,33,31,8,32,33,31,34,35,36,37,0,0,0,0,0,0,0,0,0,18,19,20,21,0,0,0,0,0,0,0,0,0,18,19,20,21,23,24,25,26,27,18,19,20,21,23,24,25,26,27,18,19,20,21,18,19,20,21,18,19,20,21,18,19,20,21,23,24,25,26,27,0,18,19,20,21,18,19,20,21,18,19,20,21,18,19,20,21,23,24,25,26,27,18,19,20,21,18,19,20,21,0,18,19,20,21,23,24,25,26,27,18,19,20,21,23,24,25,26,27,18,19,20,21,23,23,24,23,23,23,24,25,25,25,25,26,27,26,26,26,27,18,19,20,21,24,27,18,19,20,21,23,24,25,26,27,18,19,20,21,23,24,25,26,27,18,19,20,21,23,24,25,26,27,0,0,0,0,0,0],"f":[0,0,0,0,0,0,0,0,0,0,[[1,2],3],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1],[[1,4]],[[5,6,[7,[5]],8,4],1],[[],8],0,0,0,0,0,[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[],9],[[],9],[[],9],[[],9],0,0,0,0,0,[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],11],[[],11],[[],11],[[],11],0,0,0,0,[1,3],[[2,1],[[3,[[13,[12]]]]]],[[2,1,[13,[12]]],3],[[1,2,[7,[5]],8,4]],[[1,13]],[14,[[7,[15]]]],[14,[[13,[16]]]],[14,9],[[1,[13,[17]]],9],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[18,18],[19,19],[20,20],[21,21],[[]],[[]],[[]],[[]],[[18,18],22],[[19,19],22],[[20,20],22],[[21,21],22],[[],[[10,[18]]]],[[],[[10,[19]]]],[[],[[10,[20]]]],[[],[[10,[21]]]],[[],[[10,[23]]]],[[],[[10,[24]]]],[[],[[10,[25]]]],[[],[[10,[26]]]],[[],[[10,[27]]]],[1],[[18,18],9],[[19,19],9],[[20,20],9],[[21,21],9],[[],9],[[],9],[[],9],[[],9],[[18,28],29],[[19,28],29],[[20,28],29],[[21,28],29],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],30],[[],30],[[],30],[[],30],[18],[19],[20],[21],[1,3],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[18,18],[[7,[22]]]],[[19,19],[[7,[22]]]],[[20,20],[[7,[22]]]],[[21,21],[[7,[22]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],0,0,[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],0,[[1,8,4]],[[1,31]],[14,9],[[1,5,4]],[[1,5,4]]],"p":[[3,"RawMap"],[15,"str"],[6,"Result"],[3,"Timer"],[3,"String"],[3,"MapName"],[4,"Option"],[3,"Options"],[15,"bool"],[4,"Result"],[3,"TypeId"],[3,"OriginalRoad"],[3,"Vec"],[3,"Tags"],[4,"AreaType"],[3,"Amenity"],[15,"usize"],[3,"ShapeID"],[3,"TripID"],[3,"StopID"],[3,"RouteID"],[4,"Ordering"],[3,"Route"],[3,"Trip"],[3,"Shape"],[3,"Stop"],[3,"StopTime"],[3,"Formatter"],[6,"Result"],[15,"u64"],[4,"PrivateOffstreetParking"],[4,"OnstreetParking"],[4,"PublicOffstreetParking"],[13,"Blockface"],[13,"SomeAdditionalWhereNoData"],[13,"FixedPerBldg"],[13,"Gis"]]},\ "fifteen_min":{"doc":"","t":[6,0,0,0,0,5,5,0,3,13,4,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,12,12,12,3,3,11,11,11,11,11,11,11,11,5,5,11,12,11,11,12,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,5,11,11,11,11,11,11,11,11,13,3,3,4,3,13,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,3,3,6,3,3,12,12,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,5,11,11,12,5,5,12,12,12,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,5,5,12,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["App","bus","find_amenities","find_home","isochrone","main","run","viewer","BusExperiment","BusRoute","ID","Waypoint","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","draw","eq","equivalent","event","fmt","from","from","get_hash","get_hash","hash","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","new_state","panel","recalculate_everything","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","waypoints","world","0","0","FindAmenity","Results","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","create_border_isochrone","create_multi_isochrone","draw","draw","from","from","hovering_on_bldg","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","isochrone","new_state","new_state","on_click","other_event","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","FindHome","Results","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","draw","draw_houses","from","from","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","new_state","new_state","on_click","on_click","options","other_event","score_houses","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Biking","BorderIsochrone","Isochrone","MovementOptions","Options","Walking","amenities_reachable","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","colors","colors","default_thresholds","draw","draw","from","from","from","from","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","is_within","movement","new","new","onstreet_parking_spots","options","options","path_to","population","start","start","thresholds","thresholds","thresholds","time_to_reach_building","time_to_reach_building","times_from","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","0","Entry","ExploreAmenities","HoverKey","HoverOnBuilding","Viewer","address","amenity_idx","amenity_type","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","bldg","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_panel","draw","draw","draw","draw_star","draw_unwalkable_roads","draw_unwalkable_roads","drawn_route","duration_away","event","event","from","from","from","from","highlight_start","hovering_on_bldg","hovering_on_category","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","is_within","isochrone","key","name","new_state","new_state","options_from_controls","options_to_controls","panel","panel","random_start","table","tooltip","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","value","vzip","vzip","vzip","vzip"],"q":["fifteen_min","","","","","","","","fifteen_min::bus","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","fifteen_min::bus::ID","","fifteen_min::find_amenities","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","fifteen_min::find_home","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","fifteen_min::isochrone","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","fifteen_min::isochrone::MovementOptions","fifteen_min::viewer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","","","This is a tool to experiment with the concept of 15-minute …","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Calculate isochrones around each amenity on a map and …","","","","","","","","","","Draw an isochrone from every intersection border","For every one of the requested amenity on the map, draw an …","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Ask what types of amenities are necessary to be within a …","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","For every house in the map, return the percent of …","","","","","","","","","","Represents the area reachable from all intersections on …","Represents the area reachable from a single building.","The constraints on how we’re moving.","","","Per category of amenity, what buildings have that?","","","","","","","","","","","","","","","","","","","","","Colors used to draw the isochrone","Colors used to draw the isochrone","","Colored polygon contours, uploaded to the GPU and ready …","Colored polygon contours, uploaded to the GPU and ready …","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","How many sreet parking spots are on the same road as any …","The options used to generate this isochrone","The options used to generate this isochrone","","How many people live in the returned area, according to …","The center of the isochrone (can be multiple points)","The center of the isochrone (can be multiple points)","Thresholds used to draw the isochrone","Thresholds used to draw the isochrone","","How far away is each building from the start?","How far away is each building from the start?","Calculate the quickest time to reach buildings across the …","","","","","","","","","","","","","","","","","","","","","","(building, scale factor)","","This is the UI state for exploring the isochrone/walkshed …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Start with a random building","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,3,0,3,4,3,4,3,4,3,4,3,3,3,4,3,3,4,3,4,3,3,3,3,4,3,4,3,3,4,3,4,3,4,4,4,3,4,3,4,3,4,3,4,3,4,4,48,49,0,0,50,24,50,24,50,24,50,24,0,0,24,24,50,24,24,50,24,50,24,50,50,24,50,24,24,50,24,24,24,50,24,50,24,50,24,50,24,0,0,32,27,32,27,32,27,32,27,27,27,32,27,32,27,32,27,32,32,27,32,27,32,27,32,27,32,27,0,32,27,32,27,32,27,32,27,34,0,0,0,0,34,23,23,21,20,34,23,21,20,34,23,21,20,34,23,21,20,34,20,34,20,34,23,21,20,23,21,23,21,20,34,23,21,20,34,23,21,20,34,20,34,23,21,20,34,23,21,20,34,20,23,21,23,23,21,23,23,23,21,23,21,20,23,21,34,20,34,23,21,20,34,23,21,20,34,23,21,20,34,23,21,20,34,51,0,0,0,0,0,52,52,52,42,47,43,52,42,47,43,52,52,42,47,43,52,42,47,43,52,0,42,43,43,0,0,42,47,52,42,43,42,47,43,52,42,42,42,42,47,43,52,42,47,43,52,52,42,47,43,52,42,47,43,52,42,47,52,42,43,0,0,42,43,42,43,47,42,47,43,52,42,47,43,52,42,47,43,52,47,42,47,43,52],"f":[0,0,0,0,0,[[]],[1],0,0,0,0,0,[[],2],[[],2],[[],2],[[],2],[[]],[[]],[[]],[[]],[3,3],[[]],[[4,5,6]],[[3,3],7],[[],7],[[4,8,6],[[9,[6]]]],[[3,10],11],[[]],[[]],[[],12],[[],12],[3],[[]],[[]],[[[14,[13]]],[[14,[2,13]]]],[[[14,[13]]],[[14,[2,13]]]],[15,[[15,[2]]]],[16,[[16,[2]]]],[16,[[16,[2]]]],[[],7],[[],7],[[8,6],[[14,[17]]]],0,[[4,8,6]],[[]],[[],18],[[],18],[[],18],[[],18],[[],19],[[],19],[[]],[[]],0,0,0,0,0,0,[[],2],[[],2],[[],2],[[],2],[[]],[[]],[[]],[[]],[[8,6,20],21],[[8,6,22,20],23],[[24,5,6]],0,[[]],[[]],0,[[]],[[]],[[[14,[13]]],[[14,[2,13]]]],[[[14,[13]]],[[14,[2,13]]]],[15,[[15,[2]]]],[16,[[16,[2]]]],[16,[[16,[2]]]],[[],7],[[],7],0,[[8,20],[[14,[17]]]],[[8,6,23,21,22],[[14,[17]]]],[[24,8,6,25,26],[[9,[6]]]],[[24,8,6],[[9,[6]]]],[[],18],[[],18],[[],18],[[],18],[[],19],[[],19],[[]],[[]],0,0,[[],2],[[],2],[[],2],[[],2],[[]],[[]],[[]],[[]],[[27,5,6]],0,[[]],[[]],[[]],[[]],[[[14,[13]]],[[14,[2,13]]]],[[[14,[13]]],[[14,[2,13]]]],[15,[[15,[2]]]],[16,[[16,[2]]]],[16,[[16,[2]]]],[[],7],[[],7],[[8,20],[[14,[17]]]],[[8,6,[30,[28,29]],[31,[22]]],[[14,[17]]]],[[32,8,6,25,26],[[9,[6]]]],[[27,8,6,25,26],[[9,[6]]]],0,[[27,8,6],[[9,[6]]]],[[6,[31,[22]],20,33],[[30,[28,29]]]],[[],18],[[],18],[[],18],[[],18],[[],19],[[],19],[[]],[[]],0,0,0,0,0,0,0,[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[20,20],[34,34],[[]],[[]],0,0,[[],31],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[14,[13]]],[[14,[2,13]]]],[[[14,[13]]],[[14,[2,13]]]],[[[14,[13]]],[[14,[2,13]]]],[[[14,[13]]],[[14,[2,13]]]],[15,[[15,[2]]]],[15,[[15,[2]]]],[16,[[16,[2]]]],[16,[[16,[2]]]],[16,[[16,[2]]]],[16,[[16,[2]]]],[[],7],[[],7],[[],7],[[],7],0,[[8,6,[31,[28]],20],23],[[8,6,[31,[35]],20],21],0,0,0,[[23,36,28],[[38,[37]]]],0,0,0,0,0,0,0,0,[[34,36,[31,[39]]],[[30,[28,40]]]],[[]],[[]],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],19],[[],19],[[],19],[[],19],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[8,6,41,23],26],[[42,5,6]],[[43,5,6]],0,[[8,41],44],[[8,6,20],45],0,0,0,[[42,8,6],[[9,[6]]]],[[43,8,6],[[9,[6]]]],[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[[14,[13]]],[[14,[2,13]]]],[[[14,[13]]],[[14,[2,13]]]],[[[14,[13]]],[[14,[2,13]]]],[[[14,[13]]],[[14,[2,13]]]],[15,[[15,[2]]]],[16,[[16,[2]]]],[16,[[16,[2]]]],[16,[[16,[2]]]],[16,[[16,[2]]]],[[],7],[[],7],[[],7],[[],7],0,[[8,6],38],0,[[8,6,28],[[14,[17]]]],[[8,6,23,22],[[14,[17]]]],[26,34],[[8,20],46],0,0,[[8,6],[[14,[17]]]],0,0,[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],19],[[],19],[[],19],[[],19],[[8,6,23],47],[[]],[[]],[[]],[[]]],"p":[[3,"Settings"],[8,"Any"],[4,"ID"],[3,"BusExperiment"],[3,"GfxCtx"],[3,"SimpleApp"],[15,"bool"],[3,"EventCtx"],[4,"Transition"],[3,"Formatter"],[6,"Result"],[15,"u64"],[3,"Global"],[3,"Box"],[3,"Arc"],[3,"Rc"],[8,"State"],[4,"Result"],[3,"TypeId"],[3,"Options"],[3,"BorderIsochrone"],[4,"AmenityType"],[3,"Isochrone"],[3,"Results"],[15,"str"],[3,"Panel"],[3,"Results"],[3,"BuildingID"],[3,"Percent"],[3,"HashMap"],[3,"Vec"],[3,"FindHome"],[3,"Timer"],[4,"MovementOptions"],[3,"IntersectionID"],[3,"Map"],[3,"Path"],[4,"Option"],[4,"Spot"],[3,"Duration"],[3,"Building"],[3,"Viewer"],[3,"ExploreAmenities"],[3,"GeomBatch"],[3,"Drawable"],[3,"Widget"],[3,"HoverOnBuilding"],[13,"Waypoint"],[13,"BusRoute"],[3,"FindAmenity"],[13,"Walking"],[3,"Entry"]]},\ "game":{"doc":"","t":[3,13,13,13,13,13,4,13,13,3,13,13,13,12,12,0,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,0,12,11,12,0,12,5,0,12,0,12,12,12,12,0,11,5,12,12,11,11,11,11,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,5,12,12,12,12,0,12,5,0,12,12,5,12,12,12,12,11,11,11,11,11,11,12,12,11,11,11,0,12,11,11,11,12,12,12,12,3,3,3,3,3,3,3,3,8,6,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,12,11,11,11,11,12,12,12,12,12,12,11,11,11,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,12,10,11,12,11,12,11,11,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,12,11,12,11,12,11,12,12,12,11,10,11,12,12,12,12,12,12,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,3,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,0,12,12,12,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,0,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,13,3,3,13,4,13,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,12,12,12,12,11,11,12,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,5,3,2,2,2,11,11,11,11,12,5,5,5,11,11,11,11,11,11,12,11,11,11,11,11,5,11,5,11,11,0,0,0,5,5,11,11,11,11,0,2,13,13,17,4,13,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,13,4,13,13,3,13,11,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,11,12,12,11,11,11,11,11,11,11,11,11,12,12,17,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,12,11,11,3,17,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,5,12,3,3,2,3,3,11,12,11,11,11,11,11,11,11,11,0,0,11,11,11,11,11,11,11,11,5,12,5,11,11,12,5,5,5,11,11,11,11,5,5,5,0,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,0,12,12,0,0,12,5,11,0,12,5,12,0,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,3,12,11,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,12,12,11,11,11,11,11,11,12,3,17,17,3,3,17,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,13,3,13,4,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,12,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,12,11,11,11,11,11,11,12,12,11,11,11,11,4,13,13,3,13,11,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,11,12,12,11,11,11,11,11,11,11,11,12,12,12,3,3,3,11,11,11,11,11,11,12,11,11,11,11,11,11,5,5,12,12,11,11,11,12,12,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,5,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,5,11,12,12,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,0,0,0,11,11,11,11,11,11,0,11,11,0,0,0,11,11,11,11,3,3,5,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,12,5,12,12,12,11,11,11,11,11,11,11,11,12,3,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,11,3,17,17,3,11,11,11,11,12,11,11,11,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,5,5,5,11,12,12,12,5,12,12,12,11,11,11,11,11,11,11,11,3,11,11,11,11,11,12,11,11,11,11,11,11,12,11,12,11,11,11,11,3,11,11,11,11,11,12,11,11,11,11,11,11,11,12,12,11,11,11,11,12,3,3,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,12,11,12,11,11,11,12,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,3,3,3,2,2,3,2,2,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,12,2,2,5,0,12,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,12,5,12,12,0,11,11,11,11,12,12,12,12,12,12,11,11,12,0,0,5,0,12,12,0,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,0,12,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,3,11,11,12,12,11,11,12,12,11,12,11,11,11,11,11,11,11,12,11,12,11,12,11,11,11,11,3,11,11,11,11,5,5,11,11,11,5,12,11,5,12,11,12,11,11,11,11,11,12,5,12,5,5,11,11,11,12,12,12,11,11,11,12,12,5,12,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,3,11,11,11,11,11,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,5,11,11,12,11,12,11,11,12,5,0,11,11,5,12,11,11,11,0,11,11,11,11,11,11,11,11,11,5,5,12,12,12,12,11,0,12,0,0,11,12,12,12,5,11,11,12,12,11,11,11,11,11,11,11,11,11,12,3,11,11,11,11,11,5,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,5,11,11,11,11,11,11,11,11,5,11,11,11,11,12,11,12,5,5,11,11,11,11,11,11,11,11,11,11,12,12,11,12,5,5,12,12,12,12,12,11,11,11,11,11,11,11,11,3,3,3,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,5,12,12,11,12,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,5,11,12,12,11,11,11,11,5,5,5,3,12,11,11,11,11,11,12,5,11,11,11,11,11,11,5,11,12,12,12,11,11,11,11,13,13,13,8,13,3,3,3,13,13,13,13,13,13,13,13,13,13,13,2,13,13,13,13,13,3,4,13,13,13,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,12,11,11,11,11,11,11,11,5,0,11,11,12,12,5,11,12,12,11,11,11,10,11,11,11,11,11,11,11,11,10,5,12,12,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,12,11,11,11,11,11,0,5,5,11,11,11,12,0,0,5,12,12,12,12,12,5,12,12,12,11,11,11,11,11,11,12,12,0,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,11,11,11,11,12,5,11,11,5,5,5,11,5,11,5,11,11,11,11,11,5,5,5,11,5,12,11,11,11,11,11,11,13,8,4,17,3,13,13,11,11,11,11,11,11,11,11,10,11,11,10,0,10,11,0,11,11,5,11,11,11,11,11,11,11,11,0,10,0,12,0,11,0,0,0,11,0,0,11,11,11,11,11,11,11,11,11,12,12,17,3,17,3,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,13,13,13,3,3,13,13,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,3,4,13,3,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,12,12,12,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,3,3,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,5,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,11,11,12,11,11,11,11,11,11,11,11,11,5,12,11,11,11,11,12,12,11,12,12,12,11,11,11,11,11,11,11,12,11,11,6,3,3,12,12,11,11,11,11,12,12,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,12,12,11,12,11,11,12,11,11,11,11,11,11,11,11,3,3,3,3,3,3,3,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,12,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,3,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,11,11,11,11,3,11,11,11,11,5,11,11,11,11,11,11,11,0,11,11,11,11,3,11,11,11,11,12,11,11,11,11,11,11,5,11,11,12,11,11,11,11,3,3,13,2,13,13,4,13,13,13,2,3,3,3,2,2,2,2,2,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,0,11,11,11,11,11,11,11,12,11,11,11,11,11,11,0,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,12,11,11,11,11,11,11,12,5,0,12,0,12,5,11,11,12,11,12,11,2,0,12,11,12,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,13,2,13,4,13,13,13,2,13,13,13,13,11,11,11,11,11,11,0,11,11,11,0,11,11,11,11,11,11,0,0,0,11,0,0,11,11,0,11,0,0,0,11,11,11,11,3,6,4,4,13,3,3,13,13,3,13,13,3,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,11,11,11,12,12,12,11,12,11,11,11,12,11,11,11,11,11,11,11,12,5,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,12,11,12,5,12,11,12,12,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,5,5,5,3,3,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,12,12,12,11,12,5,5,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,12,12,12,5,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,3,3,11,11,11,11,11,11,11,11,11,11,5,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,11,3,3,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,12,3,3,11,11,11,11,11,11,11,11,12,5,11,11,5,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,5,5,5,11,11,11,11,11,11,11,11,3,3,3,8,12,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,12,12,11,11,12,11,12,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,11,12,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,5,12,12,12,12,12,12,11,12,12,12,12,5,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,12,13,3,13,13,13,4,8,4,13,13,13,13,13,2,13,2,2,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,12,11,11,11,0,11,11,11,11,10,11,11,11,10,11,0,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,0,10,12,11,2,11,11,11,11,11,11,11,0,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,3,3,11,11,11,11,12,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,5,12,11,11,5,11,5,12,11,11,11,11,12,11,12,12,11,12,12,12,11,11,11,11,3,17,11,11,11,11,11,5,12,11,11,5,11,11,11,11,11,12,11,11,11,12,12,11,11,11,11,12,3,3,5,0,11,11,11,11,11,11,11,11,11,11,11,5,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,5,0,12,11,11,11,11,11,11,11,11,12,3,3,13,4,13,3,13,3,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,3,11,11,11,11,11,11,5,5,5,11,11,11,11,11,12,12,11,11,11,11,3,11,11,11,11,12,11,11,11,12,11,11,11,11,11,12,12,11,11,11,11,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,12,12,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,17,13,13,17,13,13,13,13,3,13,13,3,4,13,3,3,3,13,5,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,12,11,12,11,11,11,11,11,11,5,12,12,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,12,11,5,11,12,11,11,11,12,11,12,11,11,11,11,11,12,12,12,11,11,12,11,11,11,11,11,11,12,11,12,12,11,12,11,11,12,11,5,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,3,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,5,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,11,11,12,12,11,11,11,11,11,11,11,11,13,13,13,13,4,3,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,3,3,5,11,11,11,11,11,11,11,11,5,5,5,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,12,13,13,2,2,2,13,2,4,8,13,11,11,0,11,11,11,0,11,11,11,11,11,11,11,0,11,0,0,10,0,11,11,11,11,3,3,3,3,3,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,11,3,11,11,12,11,11,11,12,11,12,11,11,11,11,11,11,12,11,5,11,5,12,12,11,12,12,11,12,11,11,11,11,11,5,12,3,3,3,3,3,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,12,12,11,12,5,11,12,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,12,5,12,11,5,12,11,12,11,11,11,11,11,13,4,13,3,3,13,12,11,11,11,11,11,11,11,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,12,12,12,11,12,12,12,12,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Args","Challenges","CompareCounts","Devtools","Gameplay","LoadKML","Mode","Proposals","Sandbox","Setup","SomethingElse","TutorialIntro","Ungap","actdev","actdev_scenario","app","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cam","center_camera","challenge","challenges","challenges","clap","color_scheme","common","compare_counts","continue_app_setup","debug","dev","devtools","devtools","diff_map","diff_map","dump_raw_events","edit","eq","finish_app_setup","flags","flags","from","from","from","from_clap","info","initialize_tutorial","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","layer","load_kml","main","minimal_controls","mode","opts","prebake","pregame","proposals","run","sandbox","sandbox","scale_factor","setup_app","start_time","start_time","start_with_edits","start_with_edits","try_from","try_from","try_from","try_into","try_into","try_into","tutorial","tutorial_intro","type_id","type_id","type_id","ungap","ungap","vzip","vzip","vzip","0","0","0","1","App","FindDelayedIntersections","Flags","PerMap","PerObjectActions","SessionState","ShowEverything","ShowLayers","ShowObject","Transition","add_study_area","agents","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","before_event","before_quit","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buffer_lane_type","calculate_current_selection","canonical_point","clap","clear_everything","clear_sim","click_action","click_on_intersection","clone","clone_into","cs","cs","current_flags","current_selection","currently_delayed","dash_tab","dirty_from_edits","draw","draw_default","draw_map","draw_map","draw_with_opts","dump_before_abort","elevation_contours","empty","free_memory","from","from","from","from","from","from","from","from","from_clap","get_renderables_back_to_front","halt_limit","has_modified_trips","has_prebaked","high_scores","info_panel_tab","init_camera_for_loaded_map","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_secondary","is_within","is_within","is_within","is_within","is_within","is_within","is_within","is_within","last_gmns_timing_csv","last_warped_from","layer","layers","layers","layers","left_click","live_map_edits","make_warper","map","map","map_loaded","map_switched","mode_shift","mouseover_debug_mode","mouseover_unzoomed_buildings","mouseover_unzoomed_everything","mouseover_unzoomed_intersections","mouseover_unzoomed_roads_and_intersections","mut_cs","mut_draw_map","mut_opts","new","new","new","opts","opts","per_obj","prebaked","prebaked","primary","recalculate_current_selection","report_limit","reset","routing_preferences","run","scenario","secondary","session","set_prebaked","show","show","show_areas","show_buildings","show_intersections","show_labels","show_lanes","show_parking_lots","sim","sim","sim_cb","sim_flags","store_unedited_map_in_secondary","study_area","suspended_sim","swap_map","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tutorial","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unedited_map","ungap_current_trip_name","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Challenge","ChallengesPicker","HighScore","alias","all","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","challenge","cutscene","cutscene","description","edits_name","find","from","from","from","gameplay","goal","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","links","make","new_state","on_click","prebake","record","score","title","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","BossSpeaking","CutsceneBuilder","CutscenePlayer","Extra","Layout","PlayerSpeaking","Scene","ShowMessage","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","boss","build","draw","draw","event","event","extra","fg_color","from","from","from","from","from","idx","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","is_within","is_within","layout","make_panel","make_task","msg","name","name","new","new_state","panel","panel","player","scenes","scenes","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","0","1","prebake_all","CommonState","RoadSelector","RouteSketcher","Warping","as_any","as_any_mut","borrow","borrow_mut","cached_actions","cmp_duration_shorter","color_for_agent_type","color_for_trip_phase","debug_actions","draw","draw_custom_osd","draw_osd","event","from","info_panel","info_panel_open","into","into_any","into_any_rc","is_within","jump_to_time_upon_startup","launch_info_panel","list_names","new","osd_for","route_sketcher","select","share","sync_abtest","tool_panel","try_from","try_into","type_id","vzip","warp","warp_to_id","Dragging","Hovering","INTERSECTON_RADIUS","Mode","Neutral","Route","RouteSketcher","add_waypoint","all_roads","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","draw","eq","eq","event","from","from","from","full_path","get_widget_to_describe","idx","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is_route_started","is_route_valid","is_within","is_within","is_within","mode","mouseover_i","move_waypoint","new","new","on_click","preview","route","snap_to_intersections","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_mode","update_preview","vzip","vzip","vzip","waypoints","0","at","idx","Erase","Mode","Paint","Pan","RoadSelector","Route","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","dragging","draw","event","from","from","intersections","into","into","into_any","into_any","into_any_rc","into_any_rc","is_within","is_within","make_controls","mode","new","preview","roads","roads_changed","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","i1","preview_path","PROPOSAL_HOST_URL","ShareProposal","UploadedProposals","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","deserialize","draw","fmt","from","from","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","load","md5sums","new_state","on_click","proposal_uploaded","serialize","try_from","try_from","try_into","try_into","type_id","type_id","url","url_flag","vzip","vzip","DebugWarp","WARP_TO_CAM_ZOOM","Warping","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","draw","draw","event","event","from","from","id","inner_warp_to_id","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","new_state","new_state","panel","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","warp_to_id","warper","Actions","DebugMode","PathCostDebugger","ScreenshotTest","SearchResults","actions","all_routes","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","blocked_by","blockfinder","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","calc_all_routes","common","diff_tags","draw","draw","draw","draw_arterial_crosswalks","draw_bad_intersections","draw_banned_turns","draw_baselayer","event","event","execute","find_bad_signals","find_degenerate_roads","find_large_intersections","floodfill","from","from","from","from","gameplay_mode","hidden","highlighted_agents","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_paused","is_within","is_within","is_within","is_within","layers","layers","new_state","new_state","num_matches","objects","objects","panel","path_counter","polygons","query","reimport_map","reset_info","routes","screenshot_done","search_osm","search_results","select_roads","show","todo_maps","tool_panel","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","uber_turns","vzip","vzip","vzip","vzip","Viewer","agent_positions","arrow_for","arrows","as_any","as_any_mut","borrow","borrow_mut","draw","event","find_worst_problems","from","graph","into","into_any","into_any_rc","is_within","new_state","panel","root_cause","simple_root_cause","trace_root_cause","try_from","try_into","type_id","vzip","0","Blockfinder","COLORS","MODIFIED","Obj","OneBlock","TO_MERGE","add_block","add_blocks_with_coloring","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","block","blocks","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","cmp","draw","draw","draw","eq","equivalent","event","fmt","from","from","from","get_hash","get_hash","hash","id_counter","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","make_panel","new_id","new_state","new_state","on_click","other_event","panel","partial_cmp","partitions","to_merge","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","world","Floodfill","Floodfiller","Scc","Source","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","calculate","clone","clone_into","draw","draw","event","floodfill","from","from","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","new_state","panel","scc","source","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","0","ObjectDebugger","as_any","as_any_mut","borrow","borrow_mut","debug_json","draw","dump_debug","from","into","into_any","into_any_arc","into_any_rc","is_within","try_from","try_into","type_id","vzip","PathCounter","as_any","as_any_mut","borrow","borrow_mut","cnt","demand_across_intersection","draw","draw","event","from","into","into_any","into_any_rc","is_within","panel","tooltip","try_from","try_into","type_id","vzip","Item","Point","Polygon","PolygonDebugger","Triangle","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","center","draw","event","from","from","idx","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","items","new_state","noun","panel","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","0","0","0","AllRoutesExplorer","PathCostDebugger","RouteExplorer","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","baseline_counts","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","calculate_demand","controls_to_params","costs","current_counts","draw","draw","draw","draw","draw_path","event","event","event","from","from","from","goal","into","into","into","into_any","into_any","into_any","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","maybe_new","new_state","new_state","panel","panel","panel","params_to_controls","recalc_paths","requests","start","tooltip","tooltip","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","BulkSelect","as_any","as_any_mut","borrow","borrow_mut","draw","event","from","into","into_any","into_any_rc","is_within","make_select_panel","new_state","panel","selector","try_from","try_into","type_id","vzip","UberTurnPicker","UberTurnViewer","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","draw","draw","draw","draw_baselayer","from","from","ic","idx","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","legal_turns","members","new_state","new_state","on_click","on_click","on_mouseover","other_event","other_event","panel_changed","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","DevToolsMode","as_any","as_any_mut","borrow","borrow_mut","collisions","compare_counts","destinations","from","into","into_any","into_any_arc","into_any_rc","is_within","kml","new_state","on_click","polygon","scenario","story","try_from","try_into","type_id","vzip","CollisionsViewer","Filters","aggregated","apply","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","data","draw","eq","event","from","from","from_controls","individual","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","make_controls","new","new_state","panel","pct","severity","show_individual","time_range","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","world","GenericCompareCounts","as_any","as_any_mut","borrow","borrow_mut","compare","draw","from","into","into_any","into_any_rc","is_within","new_state","on_click","other_event","try_from","try_into","type_id","vzip","PopularDestinations","as_any","as_any_mut","borrow","borrow_mut","draw","draw","event","from","into","into_any","into_any_rc","is_within","make","new_state","panel","per_bldg","try_from","try_into","type_id","vzip","Object","RADIUS","THICKNESS","ViewKML","as_any","as_any","as_any_mut","as_any_mut","attribs","borrow","borrow","borrow_mut","borrow_mut","color","draw","draw","draw_query","event","from","from","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","load_objects","make_object","make_query","new_state","objects","osm_bldg","panel","pick_file","polygon","quadtree","selected","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","PolygonEditor","as_any","as_any_mut","borrow","borrow_mut","draw","edit","event","from","into","into_any","into_any_rc","is_within","name","new_state","panel","try_from","try_into","type_id","vzip","ScenarioManager","as_any","as_any_mut","borrow","borrow_mut","draw","draw","event","from","into","into_any","into_any_rc","is_within","new_state","panel","scenario","try_from","try_into","type_id","vzip","0","DrawFreehand","EditingMarker","Marker","MarkerID","RecordedStoryMap","StoryMap","StoryMapEditor","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","dirty","draw","draw","draw_baselayer","draw_baselayer","draw_baselayer","eq","equivalent","event","event","fmt","from","from","from","from","from","from","from","from_story","get_hash","get_hash","hash","idx","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","is_within","is_within","is_within","is_within","label","lasso","load","markers","markers","name","name","new","new_idx","new_state","new_state","on_click","panel","pts","rebuild_panel","rebuild_world","save","serialize","story","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","world","ConfirmDiscard","EditMode","LoadEdits","RoadEditor","RouteEditor","SaveEdits","StopSignEditor","TrafficSignalEditor","apply_map_edits","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","can_edit_lane","cancel","changelist","check_blackholes","check_sidewalk_connectivity","cmd_to_id","crosswalks","current_name","discard","draw","draw","draw","draw","draw","event","event","event","event","from","from","from","from","into","into","into","into","into_any","into_any","into_any","into_any","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","is_within","make_changelist","make_topcenter","map_edit_key","maybe_edit_intersection","mode","mode","multiple_roads","new_state","new_state","new_state","new_state","on_success","orig_dirty","orig_edits","panel","panel","panel","quit","recalc_btn","reset","roads","routes","speed_limit_choices","stop_signs","tool_panel","top_center","traffic_signals","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","validate","vzip","vzip","vzip","vzip","zones","0","CrosswalkEditor","ID","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","draw","eq","equivalent","event","fmt","from","from","get_hash","get_hash","hash","id","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","new_state","panel","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","world","SelectSegments","as_any","as_any_mut","base_edits","base_road","borrow","borrow_mut","candidates","current","draw","draw","event","from","into","into_any","into_any_rc","is_within","new_state","new_state","on_destroy","panel","recalculate","selected","try_from","try_into","type_id","vzip","RoadEditor","as_any","as_any_mut","borrow","borrow_mut","build_lane_highlights","can_reverse","compress_edits","create","draw","draw_drop_position","draw_drop_position","event","fade_irrelevant","fade_irrelevant","from","hovering_on_lane","into","into_any","into_any_rc","is_within","lane_for_idx","lane_highlights","lane_type_to_icon","main_panel","make_main_panel","make_top_panel","modify_current_lane","new_state","new_state_without_lane","num_edit_cmds_originally","orig_road_state","r","recalc_all_panels","recalc_hovering","recalc_lane_highlights","redo_stack","selected_lane","selected_lane_bg","top_panel","try_from","try_into","type_id","vzip","width_choices","RouteEditor","as_any","as_any_mut","borrow","borrow_mut","draw","event","from","into","into_any","into_any_rc","is_within","new_state","panel","route","try_from","try_into","type_id","vzip","StopSignEditor","as_any","as_any_mut","borrow","borrow_mut","draw","from","geom","id","into","into_any","into_any_arc","into_any_rc","is_within","mode","new_state","on_click","on_mouseover","other_event","selected_sign","try_from","try_into","type_id","vzip","BundleEdits","TrafficSignalEditor","add_new_edit","apply","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","change_stage","check_for_missing_turns","clone","clone_into","command_stack","commit","current_stage","draw","draw_baselayer","draw_current","draw_multiple_signals","edits","eq","event","fade_irrelevant","fade_irrelevant","from","from","get_current","gmns","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","make_side_panel","make_top_panel","members","mode","movement_selected","movements","new_state","offsets","original","picker","preview","recalc_draw_current","redo_stack","side_panel","signals","squish_polygons_together","synchronize","to_owned","tooltip","top_panel","try_from","try_from","try_into","try_into","type_id","type_id","validate_all_members","vzip","vzip","warn_changed","ChangeDuration","as_any","as_any_mut","borrow","borrow_mut","draw_baselayer","edit_entire_signal","from","idx","into","into_any","into_any_arc","into_any_rc","is_within","new_state","on_click","other_event","panel_changed","try_from","try_into","type_id","vzip","Record","Snapper","add_crosswalks","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","cardinal_direction","deserialize","fmt","from","from","geometry","get_mvmnt","green_time","import","import_all","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","movements","mvmt_txt_id","new","osm_ids","parse_linestring","parse_osm_ids","protection","roads_incoming","roads_outgoing","stage","timing_plan_id","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ShowAbsolute","ShowRelative","TuneRelative","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","base","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","draw","draw","draw","from","from","from","i1","i2","into","into","into","into_any","into_any","into_any","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","labels","labels","labels","members","members","members","new_state","new_state","new_state","on_click","on_click","on_click","on_mouseover","on_mouseover","other_event","other_event","other_event","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","SignalPicker","as_any","as_any_mut","borrow","borrow_mut","draw","event","from","into","into_any","into_any_rc","is_within","make_btn","members","mode","new_state","panel","try_from","try_into","type_id","vzip","PreviewTrafficSignal","as_any","as_any_mut","borrow","borrow_mut","draw","event","from","into","into_any","into_any_rc","is_within","make_previewer","new_state","panel","time_panel","try_from","try_into","type_id","vzip","check_blackholes","check_sidewalk_connectivity","fix_sidewalk_direction","ZoneEditor","allow_through_traffic","as_any","as_any_mut","borrow","borrow_mut","draw","draw","draw_zone","event","from","into","into_any","into_any_rc","is_within","make_instructions","new_state","orig_members","panel","selector","try_from","try_into","type_id","vzip","Area","BldgInfo","BldgPeople","ContextualActions","Crowd","DataOptions","Details","InfoPanel","IntersectionArrivals","IntersectionDelay","IntersectionDemand","IntersectionInfo","IntersectionProblems","IntersectionTraffic","IntersectionTrafficSignal","LaneDebug","LaneInfo","LaneProblems","LaneTraffic","OpenTrip","ParkedCar","ParkingLot","PersonBio","PersonSchedule","PersonTrips","ProblemOptions","Tab","TransitRoute","TransitStop","TransitVehicleStatus","actions","active_id","active_keys","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","building","cached_actions","can_jump_to_time","changed_settings","clone","clone","clone","clone_into","clone_into","clone_into","color_for_problem_type","debug","disabled_series","disabled_series","disabled_types","disabled_types","do_time_warp","draw","draw_extra","draw_extra","eq","eq","event","execute","from","from","from","from","from","from_controls","from_controls","from_id","gameplay_mode","header_btns","hyperlinks","hyperlinks","intersection","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_paused","is_paused","is_within","is_within","is_within","is_within","is_within","lane","make_table","make_tabs","new","new","new","panel","parking_lot","person","problem_count","show_before","show_before","show_end_of_day","show_end_of_day","tab","throughput","time","time_warpers","time_warpers","to_controls","to_controls","to_id","to_owned","to_owned","to_owned","tooltips","tooltips","transit","trip","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","variant","vzip","vzip","vzip","vzip","vzip","warpers","warpers","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","1","1","1","1","1","1","1","2","draw_occupants","header","info","info_body","people","people_body","area","area_body","arrivals","current_demand","current_demand_body","delay","delay_body","delay_plot","header","info","info_body","problems","problems_body","traffic","traffic_body","traffic_signal","traffic_signal_body","debug","debug_body","header","info","info_body","problems","problems_body","traffic","traffic_body","header","info","info_body","bio","bio_body","cmp_duration_shorter","crowd","crowd_body","current_status","header","parked_car","parked_car_body","schedule","schedule_body","trips","trips_body","bus_header","bus_status","bus_status_body","describe_schedule","route","route_body","stop","stop_body","OpenTrip","as_any","as_any_mut","borrow","borrow_mut","cached_routes","cancelled","clone","clone_into","describe_problems","draw_problems","endpoint","eq","finished","from","future","into","into_any","into_any_arc","into_any_rc","is_within","make_elevation","make_timeline","make_trip_details","new","ongoing","show_after","single","to_owned","try_from","try_into","type_id","vzip","Close","Layer","LayerOutcome","PANEL_PLACEMENT","PickLayer","Replace","Transition","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","draw","draw","draw_baselayer","draw_minimap","elevation","event","event","favorites","from","from","header","into","into","into_any","into_any","into_any_rc","into_any_rc","is_within","is_within","map","name","pandemic","panel","parking","pick","population","problems","problems_diff","simple_event","traffic","transit","try_from","try_from","try_into","try_into","type_id","type_id","update","vzip","vzip","0","0","CONTOUR_STEP_SIZE","ElevationContours","INTERSECTION_SEARCH_RADIUS","SteepStreets","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","closest_elevation","draw","draw","draw","draw","draw_minimap","draw_minimap","event","event","from","from","into","into","into_any","into_any","into_any_rc","into_any_rc","is_within","is_within","make_colorer","make_contours","make_legend","name","name","new","new","panel","panel","tooltip","tooltip","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Favorites","ShowFavorites","add","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","buildings","contains","deserialize","draw","draw","draw_minimap","event","from","from","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","load","name","new","panel","path","remove","serialize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","BikeActivity","Static","amenities","as_any","as_any","as_any_mut","as_any_mut","blackholes","borrow","borrow","borrow_mut","borrow_mut","draw","draw","draw","draw","draw_minimap","draw_minimap","edits","event","event","from","from","high_stress","into","into","into_any","into_any","into_any_rc","into_any_rc","is_within","is_within","name","name","name","new","new","no_sidewalks","panel","panel","time","tooltip","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Dead","Exposed","Infected","Options","Pandemic","Recovered","Sane","Seir","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","draw","draw","draw_minimap","eq","eq","event","fmt","from","from","from","heatmap","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","make_controls","name","new","options","opts","panel","state","time","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Bldg","Efficiency","Loc","Lot","Occupancy","Road","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","cmp","draw","draw","draw","draw","draw_minimap","draw_minimap","eq","equivalent","event","event","from","from","from","garages","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","looking_for_parking","lots","name","name","new","new","new","onstreet","panel","panel","partial_cmp","private_bldgs","time","time","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","0","0","0","Options","PopulationMap","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","draw","draw","draw_minimap","eq","event","from","from","heatmap","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","make_controls","name","new","options","opts","panel","time","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Options","ProblemMap","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","draw","draw","draw_minimap","eq","event","export_raw_problems","from","from","heatmap","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","make_controls","modes","name","new","new","options","opts","panel","show","time","time1","time2","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","types","vzip","vzip","Options","ProblemTypes","RelativeProblemMap","after_intersection","after_road","as_any","as_any","as_any_mut","as_any_mut","before_intersection","before_road","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","disabled_types","draw","draw","draw_minimap","eq","event","from","from","from_controls","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","make_controls","name","new","new","opts","panel","show","time","to_controls","to_owned","tooltip","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Backpressure","CompareThroughput","Delay","Jam","PedestrianCrowding","Throughput","TrafficJams","adjacent_to","agent_types","all_polygons","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cluster_jams","draw","draw","draw","draw","draw","draw","draw","draw","draw","draw","draw","draw_minimap","draw_minimap","draw_minimap","draw_minimap","draw_minimap","draw_minimap","epicenter","event","event","event","event","event","event","export_throughput","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","is_within","is_within","is_within","is_within","members","name","name","name","name","name","name","new","new","new","new","new","new","panel","panel","panel","panel","panel","panel","time","time","time","time","time","time","tooltip","tooltip","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","world","TransitNetwork","as_any","as_any_mut","borrow","borrow_mut","draw","draw","draw_minimap","event","from","into","into_any","into_any_rc","is_within","name","new","panel","try_from","try_into","type_id","vzip","TitleScreen","as_any","as_any_mut","borrow","borrow_mut","enter_state","from","into","into_any","into_any_arc","into_any_rc","is_within","new_state","proposals","try_from","try_into","type_id","vzip","Proposals","as_any","as_any_mut","borrow","borrow_mut","current","from","into","into_any","into_any_arc","into_any_rc","is_within","launch","new_state","on_click","proposals","try_from","try_into","type_id","vzip","Actions","BackToTitleScreen","Finalizing","GameplayMode","GotPrebaked","GotScenario","LoadStage","LoadingMap","LoadingPrebaked","LoadingScenario","MinimapController","SandboxControls","SandboxLoader","SandboxMode","SpeedSetting","TimePanel","TimeWarpScreen","TutorialPointer","TutorialState","actions","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","async_new","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","can_interact","common","contextual_actions","controls","dashboards","draw","draw","draw","event","event","event","execute","finalize","from","from","from","from","from","from","gameplay","gameplay","gameplay","gameplay_mode","gameplay_mode","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_daytime","is_paused","is_paused","is_within","is_within","is_within","is_within","is_within","is_within","last_cs","maybe_exit_sandbox","minimap","minimap","misc_tools","mode","mouseover_unzoomed_agent_circle","new","on_destroy","recalc_unzoomed_agent","recreate_panels","route_preview","simple_new","spawn_agents_around","speed","stage","start_from_savestate","time_panel","time_warp","tool_panel","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","1","ActiveTraffic","CommuterPatterns","CommuterPatterns","DashTab","ModeShift","ParkingOverhead","RiskSummaries","TrafficSignalDemand","TrafficSignals","TransitRoutes","TravelTimes","TripTable","as_any","as_any_mut","borrow","borrow_mut","clone","clone_into","commuter","eq","fmt","from","generic_trip_table","into","into_any","into_any_arc","into_any_rc","is_within","launch","misc","mode_shift","parking_overhead","picker","risks","selector","tab_changed","to_owned","traffic_signals","transition","travel_times","trip_problems","trip_table","try_from","try_into","type_id","vzip","Block","BlockID","BlockSelection","BorderType","Both","CommuterPatterns","Filter","Incoming","Locked","Loop","NothingSelected","Outgoing","PanelState","Unlocked","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","bldg_to_block","bldgs","bldgs","blocks","border_to_block","borders","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_block_drawable","build_shape_for_border","building_counts","clone","clone_into","count_per_block","current_block","depart_from","depart_until","draw","draw_all_blocks","eq","eq","event","filter","from","from","from","from","from","from","from","from_block","group_bldgs","id","include_borders","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","is_within","is_within","is_within","is_within","make_panel","max_count","modes","new_state","panel","partition_sidewalk_loops","proper","redraw_panel","roads","shape","to_owned","total_trips","trips_from_block","trips_to_block","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","base","compare_to","open_trip_transition","preview_route","preview_trip","ActiveTraffic","TransitRoutes","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","downsample","draw","draw","event","event","from","from","into","into","into_any","into_any","into_any_rc","into_any_rc","is_within","is_within","new_state","new_state","panel","panel","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Entry","Filters","ModeShift","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","distance","draw","estimated_biking_time","estimated_driving_time","event","from","from","from","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","make_table","max_biking_time","max_distance","max_driving_time","max_elevation_gain","new_state","panel","produce_raw_data","show_route_gaps","show_route_gaps","tab","table","total_elevation_gain","total_elevation_loss","trip","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Entry","Filters","ParkingOverhead","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","draw","driving_duration","ends_off_map","ends_off_map","event","from","from","from","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","make_table","new_state","panel","parking_duration","percent_overhead","produce_raw_data","starts_off_map","starts_off_map","tab","table","total_duration","trip","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","walking_duration","Filter","RiskSummaries","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","draw","event","export_problems","from","from","include_no_changes","include_no_changes","includes_mode","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","modes","new_state","panel","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","RectangularSelector","as_any","as_any_mut","borrow","borrow_mut","corners","draw","event","from","into","into_any","into_any_rc","is_within","new_state","panel","region","try_from","try_into","type_id","vzip","Demand","TrafficSignalDemand","all_demand","all_demand","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","count","draw","draw_baselayer","event","from","from","hour","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","new_state","panel","raw","rebuild_world","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","world","Filter","TravelTimes","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","changes_pct","contingency_table","draw","event","export_times","from","from","get_trips","include_no_changes","include_no_changes","includes_mode","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","make_panel","modes","new","new_state","panel","pct_diff","scatter_plot","summary_boxes","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","CLEAR_COLOR_SCALE","Matrix","MatrixOptions","TripProblemFilter","__private_field","add_pt","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","bucketize_isizes","buckets_x","buckets_y","color_scale_for_bucket","deref","draw","entries","finished_trip_count","fmt_y_axis","from","from","from","idx","include_no_changes","includes_mode","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","new","problem_matrix","tooltip_for_bucket","total_height","total_width","trip_problems","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","CancelledTrip","Filters","FinishedTrip","TripTable","UnfinishedTrip","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cancelled_trips_table","departure","departure","departure","draw","duration_after","duration_before","duration_before","duration_before","end","end","ends_in","event","finished_trips_table","from","from","from","from","from","id","id","id","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","is_within","is_within","make_table_cancelled_trips","make_table_finished_trips","make_table_unfinished_trips","mode","mode","mode","modes","modified","modified_trips","new","off_map_ends","off_map_starts","panel","percent_waiting","produce_raw_data","reason","recompute_filters","start","start","starts_in","tab","table_tabs","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unfinished_trips_table","unmodified_trips","vzip","vzip","vzip","vzip","vzip","waiting","Actdev","FinalScore","FixTrafficSignals","Freeform","Future","GameplayMode","GameplayState","LoadScenario","Nothing","OptimizeCommute","Path","PlayScenario","Scenario","Tutorial","Tutorial","TutorialPointer","TutorialState","actdev","allows","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","can_edit_roads","can_edit_stop_signs","can_examine_objects","can_jump_to_time","can_move_canvas","challenge_header","chose_back_to_challenges","chose_next","clone","clone_into","cmp","commute","downcast","downcast_mut","downcast_rc","downcast_ref","draw","draw","eq","equivalent","event","event","fix_traffic_signals","freeform","from","from","from","has_common","has_minimap","has_time_panel","has_tool_panel","initialize","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is","is_within","is_within","is_within","map_name","new_state","next_mode","on_destroy","panel","partial_cmp","play_scenario","recreate_panels","retry","scenario","spawn_agents_around","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","tutorial","type_id","type_id","type_id","vzip","vzip","vzip","0","0","0","0","0","1","1","1","2","2","0","0","0","About","Actdev","as_any","as_any","as_any_mut","as_any_mut","bg_traffic","borrow","borrow","borrow_mut","borrow_mut","draw","draw","event","find_active_trip","from","from","has_tool_panel","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","new_state","on_click","once","recreate_panels","scenario_name","top_right","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","OptimizeCommute","as_any","as_any_mut","borrow","borrow_mut","cutscene_pt1","cutscene_pt2","cutscene_task","done","draw","event","final_score","from","get_score","goal","into","into_any","into_any_rc","is_within","mode","new_state","once","person","recreate_panels","time","top_right","trips","try_from","try_into","type_id","vzip","FixTrafficSignals","THRESHOLD","as_any","as_any_mut","borrow","borrow_mut","cutscene_pt1","cutscene_pt1_task","done_at","draw","event","final_score","from","into","into_any","into_any_rc","is_within","mode","new_state","on_destroy","recreate_panels","time","top_right","try_from","try_into","type_id","vzip","worst","ChangeScenario","Freeform","actions","area_spawner","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","draw","draw","event","execute","from","from","importers","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","new_state","new_state","on_click","recreate_panels","spawn_agents_around","spawner","top_right","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","0","Area","AreaSpawner","DrawingArea","Mode","Neutral","Obj","PickingDestination","SelectRectangle","areas","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borders","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buildings","clone","clone_into","draw","draw","eq","equivalent","event","event","fmt","from","from","from","from","from","get_hash","get_hash","hash","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","is_within","is_within","mode","new","new","new_state","panel","polygon","preview","pt1","rebuild_world","rect","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","world","0","source","Input","as_any","as_any_mut","borrow","borrow_mut","deserialize","from","import_grid2demand","import_json","import_json_scenario","into","into_any","into_any_arc","into_any_rc","is_within","people","scenario_name","try_from","try_into","type_id","vzip","AgentSpawner","as_any","as_any_mut","borrow","borrow_mut","confirmed","draw","event","from","goal","into","into_any","into_any_rc","is_within","new_state","panel","start","try_from","try_into","type_id","vzip","ChangeMode","CountTrips","DepartureSummary","EditScenarioModifiers","PlayScenario","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","count","count_trips","departures_per_mode","draw","draw","draw","event","event","event","first_trip","from","from","from","from","from","get_filters","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","is_within","is_within","modifiers","modifiers","modifiers","new","new_state","new_state","new_state","new_state","on_click","on_destroy","panel","panel","recalc_count","recreate_panels","scenario_name","scenario_name","scenario_name","top_right","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","CAR_BIKE_CONTENTION_GOAL","Camera","Done","ESCORT","Escort","FixBikes","InspectObjects","LowParking","Message","Nil","PauseResume","Stage","Task","TimeControls","Tutorial","TutorialPointer","TutorialState","WatchBikes","actions","aligned","arrow","arrow","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","bldg","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","can_examine_objects","can_move_canvas","car_parked","clone","clone","clone_into","clone_into","cmp","current","custom_spawn","custom_spawn","draw","dynamic_arrow","eq","eq","equivalent","event","execute","fire_station","following_car","from","from","from","from","from","from","has_common","has_minimap","has_time_panel","has_tool_panel","icon","icon","initialize","inner_event","inspected_bike_lane","inspected_border","inspected_building","inspected_stop_sign","interaction","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","intro_story","is_within","is_within","is_within","is_within","is_within","is_within","label","last_finished_task","left_aligned","make_bike_lane_scenario","make_gameplay","make_scenario","make_state","make_top_right","message","messages","msg","msg_panel","new","new","new","new","next","num_pauses","parking_found","part","partial_cmp","partial_cmp","prank_done","prev","recreate_panels","reset_state","scenario","scenario","scenarios_to_prebake","score_delivered","stage","stage","stages","start","task","to_owned","to_owned","top_right","top_txt","transition","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","txt","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","warp_to","warp_to","warped","was_paused","window_dims","MinimapController","as_any","as_any_mut","borrow","borrow_mut","draw_extra","from","has_layer","has_zorder","into","into_any","into_any_arc","into_any_rc","is_within","make_agent_toggles","make_legend","make_tool_panel","make_unzoomed_panel","make_zoomed_side_panel","panel_changed","panel_clicked","try_from","try_into","type_id","vzip","RoutePreview","TrafficRecorder","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","draw","draw","event","event","from","from","into","into","into_any","into_any","into_any_rc","into_any_rc","is_within","is_within","make_btn","members","new","new_state","panel","preview","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Fast","Faster","Fastest","Realtime","SpeedSetting","TimePanel","as_any","as_any","as_any_mut","as_any_mut","baseline_finished_trips","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","create_time_panel","draw","eq","event","from","from","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","is_paused","is_within","is_within","new","override_height","panel","partial_cmp","pause","paused","recreate_panel","resume","setting","time","to_owned","trips_completion_bar","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","JumpToTime","TimeWarpScreen","area_under_curve","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","build_jump_to_delay_button","build_jump_to_time_btn","compare_count","draw","draw","draw_baselayer","event","event","from","from","halt_upon_delay","into","into","into_any","into_any","into_any_rc","into_any_rc","is_within","is_within","maybe_mode","new_state","new_state","on_destroy","panel","panel","sim_time_started","tabs","target","target","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","wall_time_started","AddLanes","Explore","ExploreMap","Layers","ModeShiftData","PredictImpact","RoutingPreferences","Tab","TakeLayers","Trip","as_any","as_any_mut","bike_network","borrow","borrow_mut","eq","explore","from","handle_action","into","into_any","into_any_arc","into_any_rc","is_within","layers","make_left_panel","predict","quick_sketch","take_layers","trip","try_from","try_into","type_id","vzip","DEDICATED_TRAIL","DrawNetworkLayer","GREENWAY","PAINTED_BIKE_LANE","PROTECTED_BIKE_LANE","__private_field","__private_field","__private_field","__private_field","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","draw","draw_intersections","draw_roads","from","from","from","from","from","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_greenway","is_within","is_within","is_within","is_within","is_within","new","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","ExploreMap","as_any","as_any_mut","borrow","borrow_mut","draw","event","from","into","into_any","into_any_rc","is_within","layers","new_state","take_layers","top_panel","try_from","try_into","type_id","vzip","Layers","as_any","as_any_mut","bike_network","borrow","borrow_mut","draw","elevation","event","fade_map","from","highlight_road_type","into","into_any","into_any_rc","is_within","labels","layer_icon_pos","legend_btn","make_legend","make_zoom_controls","map_edit_key","minimized","new","panel","road_types","show_panel","steep_streets","try_from","try_into","type_id","update_panel","vzip","zoom_enabled_cache_key","zoom_enabled_cache_key","CandidateTrip","Filters","ModeShiftData","NetworkGaps","Results","ShowGaps","all_candidate_trips","annual_co2_emissions_tons","apply","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","bike_req","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","count_per_road","default","default","describe","draw","draw","driving_distance","empty","estimated_biking_time","event","filtered_trips","filters","from","from","from","from","from","from","from_controls","from_scenario","gaps","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","is_within","is_within","is_within","layers","make_top_panel","max_biking_time","max_elevation_gain","new_state","num_trips","pct","recalculate_gaps","results","take_layers","to_controls","tooltip","top_panel","total_driving_distance","total_elevation_gain","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","QuickSketch","as_any","as_any_mut","borrow","borrow_mut","draw","event","from","into","into_any","into_any_rc","is_within","layers","make_quick_changes","map_edit_key","new_state","proposal_management","route_sketcher","take_layers","top_panel","try_from","try_into","type_id","update_top_panel","vzip","AltRoute","ID","MainRoute","RoutingPreferences","TripPlanner","Waypoint","alt_routes","app_session_current_trip_name","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","avoid_hills","avoid_stressful_roads","before_after_button","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","default","draw","eq","eq","equivalent","event","files","fmt","from","from","from","get_hash","get_hash","hash","input_panel","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","layers","main_route","mut_files","name","new_state","on_destroy","recalculate_routes","results","routing_params","sync_from_file_management","take_layers","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_input_panel","vzip","vzip","vzip","waypoints","world","0","0","BuiltRoute","RouteDetails","RouteStats","alt_route","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","closest_path_segment","compare_routes","details","details_widget","dist_along_high_stress_roads","draw","draw","draw_high_stress","draw_traffic_signals","draw_unprotected_turns","eq","event","from","from","from","hitboxes","hover_on_line_plot","hover_on_route_tooltip","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","main_route","make_detail_widget","new_route","num_traffic_signals","num_unprotected_turns","paths","preferences","stats","tooltip_for_alt","total_distance","total_down","total_time","total_up","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip"],"q":["game","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::Mode","","","","game::app","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::challenges","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::challenges::cutscene","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::challenges::cutscene::Layout","","game::challenges::prebake","game::common","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::common::route_sketcher","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::common::route_sketcher::Mode","","","game::common::select","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::common::select::Mode","","game::common::share","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::common::warp","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::debug","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::debug::blocked_by","","","","","","","","","","","","","","","","","","","","","","","","","","game::debug::blockfinder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::debug::floodfill","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::debug::floodfill::Source","game::debug::objects","","","","","","","","","","","","","","","","","","game::debug::path_counter","","","","","","","","","","","","","","","","","","","","","game::debug::polygons","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::debug::polygons::Item","","","game::debug::routes","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::debug::select_roads","","","","","","","","","","","","","","","","","","","","game::debug::uber_turns","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::devtools","","","","","","","","","","","","","","","","","","","","","","","","game::devtools::collisions","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::devtools::compare_counts","","","","","","","","","","","","","","","","","","","game::devtools::destinations","","","","","","","","","","","","","","","","","","","","","game::devtools::kml","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::devtools::polygon","","","","","","","","","","","","","","","","","","","","game::devtools::scenario","","","","","","","","","","","","","","","","","","","","game::devtools::story","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::edit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::edit::crosswalks","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::edit::multiple_roads","","","","","","","","","","","","","","","","","","","","","","","","","","","game::edit::roads","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::edit::routes","","","","","","","","","","","","","","","","","","","game::edit::stop_signs","","","","","","","","","","","","","","","","","","","","","","","","game::edit::traffic_signals","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::edit::traffic_signals::edits","","","","","","","","","","","","","","","","","","","","","","game::edit::traffic_signals::gmns","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::edit::traffic_signals::offsets","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::edit::traffic_signals::picker","","","","","","","","","","","","","","","","","","","","","game::edit::traffic_signals::preview","","","","","","","","","","","","","","","","","","","","game::edit::validate","","","game::edit::zones","","","","","","","","","","","","","","","","","","","","","","","","game::info","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::info::Tab","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::info::building","","","","","","game::info::debug","","game::info::intersection","","","","","","","","","","","","","","","game::info::lane","","","","","","","","","game::info::parking_lot","","","game::info::person","","","","","","","","","","","","","game::info::transit","","","","","","","","game::info::trip","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::layer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::layer::LayerOutcome","","game::layer::elevation","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::layer::favorites","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::layer::map","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::layer::pandemic","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::layer::parking","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::layer::parking::Loc","","","game::layer::population","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::layer::problems","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::layer::problems_diff","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::layer::traffic","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::layer::transit","","","","","","","","","","","","","","","","","","","","","game::pregame","","","","","","","","","","","","","","","","","","game::pregame::proposals","","","","","","","","","","","","","","","","","","","","game::sandbox","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::LoadStage","","","","game::sandbox::dashboards","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::dashboards::commuter","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::dashboards::commuter::BlockSelection","","","game::sandbox::dashboards::generic_trip_table","","","game::sandbox::dashboards::misc","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::dashboards::mode_shift","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::dashboards::parking_overhead","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::dashboards::risks","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::dashboards::selector","","","","","","","","","","","","","","","","","","","","game::sandbox::dashboards::traffic_signals","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::dashboards::travel_times","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::dashboards::trip_problems","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::dashboards::trip_table","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::gameplay","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::gameplay::GameplayMode","","","","","","","","","","game::sandbox::gameplay::LoadScenario","","","game::sandbox::gameplay::actdev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::gameplay::commute","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::gameplay::fix_traffic_signals","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::gameplay::freeform","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::gameplay::freeform::area_spawner","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::gameplay::freeform::area_spawner::Mode","","game::sandbox::gameplay::freeform::importers","","","","","","","","","","","","","","","","","","","","","game::sandbox::gameplay::freeform::spawner","","","","","","","","","","","","","","","","","","","","","game::sandbox::gameplay::play_scenario","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::gameplay::tutorial","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::minimap","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::misc_tools","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::speed","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::sandbox::time_warp","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::ungap","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::ungap::bike_network","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::ungap::explore","","","","","","","","","","","","","","","","","","","","game::ungap::layers","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::ungap::predict","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::ungap::quick_sketch","","","","","","","","","","","","","","","","","","","","","","","","","game::ungap::trip","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game::ungap::trip::ID","","game::ungap::trip::results","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","","","","Start in ActDev mode for a particular site name.","Start by showing an ActDev scenario. Either “base” or …","","","","","","","","","","","","","","Initially position the camera here. The format is an …","","Start playing a particular challenge","","Start by listing gameplay challenges","","The color scheme for map elements, agents, and the UI.","","Start in a tool for comparing traffic counts","","","Dev mode exposes experimental tools useful for debugging, …","This directory contains extra/experimental tools not …","Start by listing internal developer tools","","Load the map at this path as a secondary debug map to …","Print raw widgetry events to the console for debugging","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","Start by showing this KMl file in a debug viewer","","When making a screen recording, enable this option to hide …","","","Run a configured set of simulations and record prebaked …","","Start by showing community proposals","","","Start in the simulation sandbox mode","Override the monitor’s auto-detected scale factor","","","Start the simulation at this time","","Start with these map edits loaded. This should be the name …","","","","","","","Start on a particular tutorial stage","Start at the tutorial intro screen","","","","","Launch Ungap the Map, a bike network planning tool","","","","","","","","The top-level data that lasts through the entire game, no …","","","All of the state that’s bound to a specific map.","","","","","","","Load an extra GeoJSON file, and add the area to the map …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Ensure the map edits are blank, reset the simulation, and …","Returns whatever was there","","If an intersection was clicked, return its ID.","","","","","","","","","If we ever left edit mode and resumed without restarting …","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Any ScenarioModifiers in effect?","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Is this the original “secondary” state, loaded via –…","","","","","","","","","","","","","","","","If true, all map edits immediately apply to the live …","","","","","","","","","","","","","","","","","","","","","","Only exists in some gameplay modes. Must be carefully …","State (like the simulation and drawing stuff) associated …","Assumes some defaults.","","","","","The most recent Scenario loaded from a file. Don’t …","Represents state for a different version of the primary …","Static data that lasts the entire session. Use sparingly.","","","","","","","","","","","","","","","Display an extra area with this name on the map. This gets …","Only filled out in edit mode. Stored here once to avoid …","This swaps the primary and secondary PerMaps. Depending on …","","","","","","","","","","","","","","","","","","","","","","","","","","","If the map has been edited and …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Allow toggling of dev mode and warping to an object by ID.","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","If you want a simulation to start after midnight, pass the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","True if the route changed","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","Has the user even picked a start point?","Has the user specified a full route?","","","","","","","","","True if something changed. False if this component doesn’…","","","","","","","","","","","","","","","","","","","","","","","","Click and drag to unselect roads","","Click and drag to select roads","No selecting, just normal click-and-drag controls.","A tool for selecting multiple roads.","The user is choosing two intersections, to select the …","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Intersections can’t be selected directly. If all roads …","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","This will point to a URL with the new edits and the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Visualize the graph of what agents are blocked by others.","","","","","","","","","","Trace the root cause for everyone, find the most common …","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","Figure out why some agent is blocked. Draws an arrow for …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","A state to count the number of trips that will cross …","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","See how live-tuned routing parameters affect all requests …","Evaluate why an alternative path wasn’t chosen, by …","See how live-tuned routing parameters affect a single …","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the indices of all matching collisions","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","Loads and clips objects to the current map. Also returns …","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","A simple tool to place markers and free-hand shapes over a …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","After a single road has been edited, these states let the …","","","Mode is just used for allows.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","Always starts focused on a certain lane.","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","Snaps a line to a vehicle movement across an intersection. …","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","This imports timing.csv from …","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","Looks at all changed roads and makes sure sidewalk …","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Draw extra things when unzoomed or zoomed.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","When a button with this label is clicked, open this info …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","When a button with this label is clicked, time-warp and …","","","","","","","","Show these tooltips over the map. If the tooltip is …","","","","","","","","","","","","","","","","","","","","","","","","","When a button with this label is clicked, warp to this ID.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","Draws the timeline for a single trip, with tooltips","Creates the timeline, location warp, and time warp buttons …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Creates the top row for any layer panel.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","Also returns the steepest street and a row explaining the …","","Returns the colored categories used and a row explaining …","","","","","","","","","","","","","","","","","A set of buildings that the player has starred, persisted …","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This does not immediately initialize anything (like …","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","If you don’t need to chain any transitions after the …","","","","Assumes that the map and simulation have already been set …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Aka a 2D histogram. Tracks matching IDs in each cell.","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","The caller should handle Outcome::ClickCustom with Vec for …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns a boxed object from a boxed trait object if the …","Returns a mutable reference to the object within the trait …","Returns an Rc-ed object from an Rc-ed trait object if the …","Returns a reference to the object within the trait object …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Must be called after the scenario has been setup. The …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","Returns true if the trait object wraps an object of type …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A gameplay mode with specific controls for integration with","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","True if done","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Idempotent. This must be called before make_gameplay or …","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Launches the tutorial gameplay along with its cutscene","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","is_enabled: are (car, bike, bus, pedestrian) toggles …","","","","","","","","","","","Draws a preview of the path for the agent under the mouse …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","5 sim seconds per real second","30 sim seconds per real second","1 sim hour per real second","1 sim second per real second","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","Shows the bike network while unzoomed. Handles thickening …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","A bottom-right panel for managing a bunch of toggleable …","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A temporary structure that the caller should unpack and …","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","“main” is determined by app.session.routing_preferences","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,12,12,12,12,12,0,12,12,0,12,12,12,16,16,0,6,16,12,6,16,12,6,16,12,6,16,12,16,6,16,0,16,16,16,0,16,0,0,16,0,16,6,16,16,0,12,0,6,16,6,16,12,16,0,6,6,16,12,6,16,12,6,16,12,6,16,12,6,16,12,0,16,0,16,6,6,16,0,16,0,0,16,16,0,6,16,6,16,6,16,12,6,16,12,16,16,6,16,12,0,16,6,16,12,347,348,349,348,0,0,0,0,0,0,0,0,0,0,0,7,4,43,44,7,38,45,50,33,4,43,44,7,38,45,50,33,4,4,4,43,44,7,38,45,50,33,4,43,44,7,38,45,50,33,38,4,7,33,4,7,45,4,33,33,4,4,7,7,50,38,7,4,4,4,7,4,4,38,38,4,4,43,44,7,38,45,50,33,33,4,50,7,4,38,38,7,4,43,44,7,38,45,50,33,4,43,44,7,38,45,50,33,43,44,45,50,33,4,43,44,7,38,45,50,33,7,4,43,44,7,38,45,50,33,38,7,7,27,44,44,45,33,4,4,7,7,4,38,4,4,4,4,4,4,4,4,43,44,45,4,4,4,4,7,4,4,50,45,38,50,7,4,4,4,27,44,43,43,43,43,43,43,4,7,7,33,4,33,7,4,33,4,43,44,7,38,45,50,33,4,43,44,7,38,45,50,33,38,4,43,44,7,38,45,50,33,7,38,4,43,44,7,38,45,50,33,0,0,0,51,51,51,57,54,51,57,54,51,57,54,51,57,54,54,0,51,51,57,51,51,57,54,51,57,51,57,54,51,57,54,51,57,54,51,57,54,51,57,54,54,54,54,54,0,57,57,51,51,57,54,51,57,54,51,57,54,51,57,54,350,0,0,350,0,350,0,0,58,350,351,60,61,58,350,351,60,61,58,350,351,60,61,58,350,351,60,61,58,58,60,61,60,61,58,58,58,350,351,60,61,60,58,350,351,60,61,58,350,351,60,61,58,350,351,58,350,351,60,61,58,350,351,60,61,351,0,60,351,58,60,58,61,60,61,58,58,60,58,350,351,60,61,58,350,351,60,61,58,350,351,60,61,58,350,351,60,61,352,352,0,0,0,0,0,69,69,69,69,69,0,0,0,69,69,69,69,69,69,69,69,69,69,69,69,0,69,0,69,69,0,0,0,0,0,69,69,69,69,0,0,78,78,0,0,78,0,0,75,76,76,75,78,76,75,78,76,75,78,76,75,78,75,78,75,78,76,75,78,76,76,75,78,75,76,75,76,75,78,76,75,78,75,78,76,75,78,76,76,76,75,78,76,76,75,76,75,76,76,76,76,75,78,76,75,78,76,75,78,76,75,78,76,76,76,75,78,75,353,354,354,355,0,355,355,0,355,79,355,79,355,79,355,79,355,79,79,79,79,355,79,79,355,79,355,79,355,79,355,79,79,79,79,79,79,79,355,79,355,79,355,79,355,356,356,0,0,0,81,80,81,80,81,80,81,80,80,81,80,81,80,81,80,81,80,81,80,81,80,81,80,80,80,81,81,80,80,81,80,81,80,81,80,81,81,81,80,0,0,0,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,0,84,85,84,85,84,84,85,84,85,84,85,85,84,85,84,85,84,85,84,85,0,84,0,0,0,0,0,86,88,88,357,86,89,88,357,86,89,0,0,88,357,86,89,88,357,86,89,0,88,0,88,89,357,0,0,0,88,88,89,86,0,0,0,0,88,357,86,89,86,88,88,88,357,86,89,88,357,86,89,86,89,88,357,86,89,86,88,357,86,89,88,88,88,89,357,0,88,88,0,0,357,0,88,0,89,0,88,0,88,89,88,88,357,86,89,88,357,86,89,88,357,86,89,0,88,357,86,89,0,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,98,0,0,0,0,0,0,97,97,97,102,98,97,102,98,102,97,97,102,98,97,102,98,98,98,98,97,102,102,98,98,97,98,97,102,98,98,98,98,97,97,102,98,97,102,98,98,97,102,98,97,102,98,0,97,97,102,102,102,97,98,97,97,98,97,102,98,97,102,98,97,102,98,97,102,98,97,104,0,104,0,106,104,106,104,106,104,106,104,104,104,104,106,106,106,106,106,104,106,104,106,104,104,106,104,106,104,106,106,106,106,104,106,104,106,104,106,104,106,104,358,0,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,0,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,0,111,111,0,111,110,111,110,111,110,111,110,111,110,110,110,110,111,110,110,111,110,111,111,110,111,110,111,110,110,110,110,110,111,110,111,110,111,110,111,359,360,361,0,0,0,114,115,116,114,115,116,115,114,115,116,114,115,116,0,0,116,115,114,115,116,115,116,114,115,116,114,115,116,114,114,115,116,114,115,116,114,115,116,114,115,116,116,114,115,114,115,116,0,114,115,114,115,116,114,115,116,114,115,116,114,115,116,114,115,116,0,122,122,122,122,122,122,122,122,122,122,122,0,122,122,122,122,122,122,122,0,0,123,124,123,124,123,124,123,124,123,124,124,124,123,124,124,124,123,124,123,124,123,123,124,123,124,124,123,123,124,123,124,123,123,124,124,123,124,123,124,123,124,123,124,0,125,125,125,125,0,0,0,125,125,125,125,125,125,0,125,125,0,0,0,125,125,125,125,0,0,0,129,130,129,130,129,130,129,130,129,130,130,129,130,130,129,129,0,130,129,130,129,129,130,129,130,129,129,129,130,130,0,129,129,129,130,129,130,129,130,129,130,129,130,0,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,0,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,0,0,0,0,136,138,136,138,138,136,138,136,138,138,136,136,136,136,136,138,136,138,136,138,138,136,138,136,138,0,0,0,136,136,138,136,0,138,136,136,136,138,136,138,136,138,136,138,0,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,0,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,142,0,0,0,0,0,0,0,144,147,362,146,145,142,143,144,147,362,146,145,142,143,144,147,362,146,145,142,143,144,147,362,146,145,142,143,142,143,142,143,143,144,144,145,144,146,145,142,142,144,145,142,144,147,362,146,145,142,143,144,142,142,142,146,144,147,362,146,145,142,143,144,147,362,146,145,142,143,147,362,146,145,142,143,144,147,362,146,145,142,143,144,147,362,146,145,142,143,362,145,147,147,143,147,143,147,145,144,146,146,144,362,144,144,147,143,144,142,143,144,147,362,146,145,142,143,144,147,362,146,145,142,143,144,147,362,146,145,142,143,144,147,362,146,145,142,143,144,0,0,0,0,0,0,0,0,0,149,150,151,152,149,150,151,152,149,150,151,152,149,150,151,152,0,150,149,0,0,0,0,150,152,149,150,151,152,149,149,150,151,152,149,150,151,152,149,150,151,152,149,150,151,152,149,150,151,152,149,150,151,152,0,0,149,0,149,151,0,149,150,151,152,150,149,149,150,151,152,149,150,150,0,0,0,0,149,149,0,149,150,151,152,149,150,151,152,149,150,151,152,0,149,150,151,152,0,155,0,0,156,155,156,155,156,155,156,155,155,155,156,155,155,156,155,156,155,155,155,155,156,156,155,156,155,155,156,155,156,155,156,156,155,156,155,156,155,156,155,156,155,156,0,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,0,160,160,160,160,0,0,160,160,160,0,160,160,0,160,160,160,160,160,160,160,160,160,0,160,0,0,160,160,160,160,160,160,160,160,160,160,160,0,160,160,160,160,160,0,0,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,0,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,0,0,168,169,168,169,168,169,168,169,168,169,168,0,169,169,168,169,168,168,168,168,0,0,169,168,0,168,168,169,169,0,168,169,168,169,169,168,169,168,169,0,0,168,168,168,168,168,0,168,0,0,168,168,168,169,0,169,169,168,168,168,169,168,169,168,169,168,168,169,168,0,170,170,170,170,170,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,0,0,174,173,174,173,174,173,174,173,0,173,173,174,173,173,174,173,0,0,174,173,174,173,174,173,174,173,174,173,174,173,174,173,0,0,173,174,174,173,173,174,173,174,173,174,173,174,173,0,0,0,178,179,180,178,179,180,179,178,179,180,178,179,180,178,179,180,178,179,180,180,180,178,179,180,178,179,180,178,179,180,178,179,180,178,179,180,178,179,180,178,179,180,178,179,180,178,179,178,179,180,178,179,180,178,179,180,178,179,180,178,179,180,0,181,181,181,181,181,181,181,181,181,181,181,0,181,181,181,181,181,181,181,181,0,182,182,182,182,182,182,182,182,182,182,182,0,182,182,182,182,182,182,182,0,0,0,0,183,183,183,183,183,183,183,0,183,183,183,183,183,183,0,183,183,183,183,183,183,183,183,73,73,73,0,73,0,0,0,73,73,73,73,73,73,73,73,73,73,73,0,73,73,73,73,73,0,0,73,73,73,71,184,184,184,191,73,185,186,184,191,73,185,186,184,191,73,185,186,184,191,73,185,186,0,184,191,73,73,185,186,73,185,186,0,0,185,186,185,186,0,184,184,191,185,186,184,71,184,191,73,185,186,185,186,73,71,0,184,191,0,184,191,73,185,186,184,191,73,185,186,191,73,185,186,184,191,73,185,186,71,184,184,191,73,185,186,0,0,0,184,185,186,184,0,0,0,185,186,185,186,184,0,184,184,191,185,186,73,73,185,186,184,191,0,0,184,191,73,185,186,184,191,73,185,186,184,191,73,185,186,73,184,191,73,185,186,184,191,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,363,376,377,379,381,384,385,377,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,199,199,199,199,0,199,199,0,0,0,199,0,199,0,199,199,199,199,199,0,0,0,199,0,199,199,199,199,199,199,199,206,0,0,0,0,206,206,206,205,206,205,206,205,206,205,386,205,205,386,0,386,205,0,206,205,0,206,205,206,205,206,205,206,205,0,386,0,205,0,205,0,0,0,386,0,0,206,205,206,205,206,205,205,206,205,387,388,0,0,0,0,207,208,207,208,207,208,207,208,208,207,208,207,208,207,208,207,208,207,208,207,208,207,208,207,208,207,208,207,208,207,207,208,207,208,207,208,207,208,207,208,207,208,207,208,207,208,0,0,209,210,209,210,209,210,209,210,209,209,209,209,210,210,210,210,210,209,210,209,210,209,209,210,209,210,209,209,210,210,210,209,209,209,210,209,210,209,210,209,210,209,0,0,211,212,211,212,211,211,212,211,212,211,212,211,212,211,212,211,211,212,211,212,211,211,212,211,212,211,212,211,212,211,212,211,211,212,211,211,212,211,212,212,212,211,212,211,212,211,212,211,214,214,214,0,0,214,214,0,216,214,215,216,214,215,216,214,215,216,214,215,214,215,214,215,216,216,216,214,215,216,214,216,214,215,215,216,214,215,216,214,215,214,215,216,214,215,216,214,215,0,216,216,216,216,216,215,216,214,215,216,214,215,216,214,215,216,214,215,216,214,215,217,0,0,217,0,217,218,219,217,218,219,217,218,219,217,218,219,217,217,217,217,218,219,218,219,218,219,217,217,218,219,218,219,217,218,218,219,217,218,219,217,217,218,219,217,218,219,217,218,218,218,219,218,219,217,218,218,219,217,218,218,219,217,218,219,217,218,219,217,218,219,217,218,219,217,389,390,391,0,0,222,221,222,221,222,221,222,221,221,221,222,222,222,221,222,222,221,221,222,221,222,221,221,222,221,222,221,0,222,222,222,222,222,222,221,222,221,222,221,222,221,222,221,0,0,224,223,224,223,224,223,224,223,223,223,224,224,224,223,224,0,224,223,223,224,223,224,223,223,224,223,224,223,0,223,224,224,223,224,224,224,223,224,223,223,223,224,223,224,223,224,223,223,224,223,0,0,0,227,227,227,226,227,226,227,227,227,226,227,226,226,226,226,227,227,227,226,227,227,226,226,227,226,227,226,226,227,226,227,226,0,227,227,226,227,227,226,227,226,226,227,227,226,227,226,227,226,227,226,0,0,0,0,0,0,0,228,230,228,229,230,231,232,228,233,234,229,230,231,232,228,233,234,229,230,231,232,228,233,234,229,230,231,232,228,233,234,0,229,230,231,232,233,234,229,230,231,232,233,229,230,231,232,233,234,228,229,230,231,232,233,234,0,229,230,231,232,228,233,234,229,230,231,232,228,233,234,229,230,231,232,228,233,234,228,229,230,231,232,228,233,234,229,230,231,232,228,233,234,228,229,230,231,232,233,234,229,230,231,232,233,234,229,230,231,232,233,234,229,230,231,232,233,234,230,231,229,230,231,232,228,233,234,229,230,231,232,228,233,234,229,230,231,232,228,233,234,229,230,231,232,228,233,234,234,0,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,0,392,392,392,392,0,392,392,392,392,392,392,392,0,392,392,392,392,0,237,237,237,237,237,237,237,237,237,237,237,0,237,237,237,237,237,237,237,0,0,393,0,393,393,0,393,393,393,0,0,0,0,0,0,0,0,0,238,239,243,240,238,393,241,239,243,240,238,393,241,239,239,243,240,238,393,241,239,243,240,238,393,241,238,243,239,239,0,239,240,241,239,240,241,238,241,239,243,240,238,393,241,0,239,238,238,239,239,243,240,238,393,241,239,243,240,238,393,241,240,238,393,239,243,240,238,393,241,0,238,238,239,243,240,238,393,241,239,0,0,243,0,241,0,243,239,239,243,243,239,0,0,241,239,243,0,243,239,243,240,238,393,241,239,243,240,238,393,241,239,243,240,238,393,241,239,243,240,238,393,241,394,395,396,396,244,0,244,0,244,244,244,0,244,244,244,244,244,244,244,244,244,244,0,244,244,244,0,244,244,244,244,244,244,0,0,0,244,0,0,244,244,0,244,0,0,0,244,244,244,244,0,0,0,0,248,0,0,248,246,0,246,248,0,246,245,252,249,248,251,246,250,245,252,249,248,251,246,250,245,249,251,245,245,249,245,252,249,248,251,246,250,245,252,249,248,251,246,250,245,0,252,246,246,245,245,250,250,245,245,246,250,245,245,245,252,249,248,251,246,250,250,0,249,250,245,252,249,248,251,246,250,245,252,249,248,251,246,250,252,249,248,251,246,250,245,252,249,248,251,246,250,245,252,249,248,251,246,250,0,252,250,245,245,0,251,245,251,249,246,252,245,245,245,252,249,248,251,246,250,245,252,249,248,251,246,250,245,252,249,248,251,246,250,245,252,249,248,251,246,250,397,398,398,0,0,0,0,0,253,254,253,254,253,254,253,254,0,253,254,253,254,253,254,253,254,253,254,253,254,253,254,253,254,253,254,253,254,253,254,253,254,253,254,0,0,0,255,256,257,255,256,257,255,256,257,255,256,257,256,255,256,256,255,255,256,257,255,256,257,255,256,257,256,257,255,256,257,255,256,257,0,257,257,257,257,255,255,0,0,255,255,255,256,256,256,255,256,257,255,256,257,255,256,257,255,256,257,0,0,0,259,260,261,259,260,261,259,260,261,259,260,261,259,260,260,261,259,259,260,261,259,260,261,259,260,261,260,261,259,260,261,259,260,261,0,259,259,260,260,0,260,261,259,259,260,260,259,260,261,259,260,261,259,260,261,259,260,261,260,0,0,262,263,262,263,262,263,262,263,262,262,0,262,263,263,263,263,262,263,262,263,263,262,263,262,263,263,262,262,262,263,262,263,262,263,262,263,0,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,0,0,266,267,267,266,267,266,267,266,267,266,266,267,267,267,267,266,267,267,266,267,266,266,267,266,267,266,267,267,266,267,267,266,267,266,267,266,267,266,267,0,0,269,268,269,268,269,268,269,268,268,0,269,269,0,269,268,268,268,268,268,269,268,269,268,268,269,268,269,268,269,268,268,269,269,0,0,0,269,268,269,268,269,268,269,268,0,0,0,0,276,275,275,278,276,275,278,276,275,278,276,275,278,276,0,275,275,278,276,275,275,399,278,275,278,276,275,399,399,275,278,276,275,278,276,275,276,275,278,276,275,278,276,275,0,278,278,278,399,275,278,276,275,278,276,275,278,276,275,278,276,0,0,0,0,0,279,282,280,283,281,279,282,280,283,281,279,282,280,283,281,279,282,280,283,281,279,282,280,283,279,282,282,280,283,282,280,281,279,279,279,282,280,283,281,282,280,283,279,282,280,283,281,279,282,280,283,281,282,280,283,281,279,282,280,283,281,279,282,280,283,281,0,0,0,282,280,283,281,282,281,279,281,281,279,282,0,280,279,282,280,281,279,279,279,282,280,283,281,279,282,280,283,281,279,282,280,283,281,279,281,279,282,280,283,281,282,53,0,53,53,286,0,0,0,286,53,286,53,286,0,53,0,0,0,53,286,284,53,286,284,53,286,284,53,286,284,53,53,53,242,53,242,0,284,284,53,53,53,0,242,242,242,242,242,284,53,53,242,284,0,0,286,284,53,242,242,242,242,53,286,284,53,286,284,53,53,286,284,53,242,286,284,53,53,284,284,242,284,53,0,242,284,53,0,53,286,284,53,286,284,53,0,286,284,53,286,284,53,400,401,402,403,404,401,402,403,401,403,405,406,407,0,0,287,288,287,288,287,287,288,287,288,287,288,287,0,287,288,287,287,288,287,288,288,287,288,287,288,287,288,287,287,287,287,287,288,287,288,287,288,287,288,0,289,289,289,289,289,289,0,289,289,289,0,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,0,291,291,291,291,291,0,291,291,291,0,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,0,0,0,0,292,293,292,293,292,293,292,293,292,293,292,0,292,293,0,292,293,292,293,293,292,293,292,293,292,293,293,292,0,0,292,292,293,292,293,292,293,292,293,294,0,0,408,0,408,0,408,0,295,295,408,296,297,294,295,408,296,297,294,297,295,408,296,297,294,295,408,296,297,294,297,294,294,295,296,294,294,295,296,294,295,408,296,297,294,294,294,294,295,408,296,297,294,295,408,296,297,294,297,294,295,408,296,297,294,295,408,296,297,294,295,296,297,295,295,297,296,296,295,296,294,295,408,296,297,294,295,408,296,297,294,295,408,296,297,294,295,408,296,297,294,295,409,410,0,298,298,298,298,298,298,0,0,0,298,298,298,298,298,298,298,298,298,298,298,0,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,0,0,0,0,0,301,302,303,305,300,301,302,303,305,300,301,302,303,305,300,301,302,303,305,300,300,303,300,301,302,303,301,302,303,305,301,302,303,305,300,303,301,302,303,305,300,301,302,303,305,300,305,300,301,302,303,305,300,301,302,303,305,300,301,302,303,300,301,302,303,305,305,301,302,303,303,301,301,302,303,301,301,302,303,305,300,301,302,303,305,300,301,302,303,305,300,301,302,303,305,300,0,312,312,0,312,312,312,312,0,312,312,0,0,312,0,0,0,312,0,306,306,306,310,313,306,314,311,312,310,313,306,314,311,312,0,310,313,306,314,311,312,310,313,306,314,311,312,310,310,314,311,312,311,312,311,314,313,313,310,306,311,312,311,310,0,314,314,310,313,306,314,311,312,310,310,310,310,306,306,310,310,314,314,314,314,314,310,313,306,314,311,312,310,313,306,314,311,312,311,312,310,313,306,314,311,312,0,310,313,306,314,311,312,312,310,306,0,310,313,314,314,314,313,313,310,313,306,314,311,314,314,314,311,311,312,314,314,310,314,310,313,314,314,314,311,314,310,313,311,312,310,312,0,310,313,306,314,311,312,310,313,306,314,311,312,306,310,313,306,314,311,312,310,313,306,314,311,312,313,313,310,314,314,0,316,316,316,316,316,316,316,316,316,316,316,316,316,0,316,0,316,316,316,316,316,316,316,316,0,0,317,318,317,318,317,318,317,318,317,318,317,318,317,318,317,318,317,318,317,318,317,318,0,318,317,318,318,317,317,318,317,318,317,318,317,318,319,319,319,319,0,0,320,319,320,319,320,320,319,320,319,319,319,320,320,319,320,320,319,320,319,320,319,319,320,319,320,320,319,320,320,320,319,320,320,320,320,320,320,319,320,320,319,320,319,320,319,320,319,0,0,0,321,322,321,322,321,322,321,322,0,0,0,321,322,322,321,322,321,322,322,321,322,321,322,321,322,321,322,321,321,322,322,321,322,322,321,321,322,321,322,321,322,321,322,321,322,322,323,323,0,0,0,323,0,0,0,323,323,323,0,323,323,323,0,323,323,323,323,323,323,323,0,323,0,0,411,0,323,323,323,323,0,0,0,0,0,325,326,327,328,329,325,326,327,328,329,325,326,327,328,329,325,326,327,328,329,325,326,327,328,325,326,327,328,329,329,329,329,325,326,327,328,329,325,326,327,328,329,325,326,327,328,325,326,327,328,329,325,326,327,328,0,329,325,326,327,328,329,329,325,326,327,328,329,325,326,327,328,329,325,326,327,328,329,325,326,327,328,0,330,330,330,330,330,330,330,330,330,330,330,330,330,330,330,330,330,330,330,0,324,324,324,324,324,324,324,324,324,324,324,324,324,324,324,324,324,0,324,0,324,324,324,324,324,324,324,324,324,324,324,324,0,324,0,0,0,0,0,0,336,334,332,335,336,333,332,412,334,335,336,333,332,412,334,333,335,336,333,332,412,334,335,336,333,332,412,334,412,332,334,334,335,412,333,336,333,335,336,336,335,336,333,332,412,334,332,336,336,335,336,333,332,412,334,335,336,333,332,412,334,333,332,334,335,336,333,332,412,334,335,336,333,332,412,334,335,0,332,332,335,334,0,336,336,335,332,335,335,334,333,335,336,333,332,412,334,335,336,333,332,412,334,335,336,333,332,412,334,335,336,333,332,412,334,0,337,337,337,337,337,337,337,337,337,337,337,337,0,337,337,0,337,337,337,337,337,337,337,337,339,0,339,0,0,339,341,341,341,339,340,341,339,340,340,340,0,341,339,340,341,339,340,339,340,339,340,340,341,339,340,339,341,341,339,341,339,340,339,339,339,341,341,339,340,341,339,340,339,340,341,339,340,341,339,340,341,341,341,340,341,341,341,0,340,341,341,339,340,341,339,340,341,339,340,341,339,340,341,341,339,340,341,341,413,414,0,0,0,343,344,343,345,344,343,345,344,343,345,344,343,345,343,0,344,344,345,343,344,343,343,343,345,343,344,343,345,344,343,343,344,343,345,344,343,345,345,344,343,345,344,343,345,343,0,343,345,345,343,343,343,344,345,345,345,345,344,343,345,344,343,345,344,343,345,344,343,345],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[],2],0,0,0,[[3,4,5,6,[8,[7]]],[[11,[[10,[9]]]]]],0,0,0,0,0,0,0,0,[[12,12],5],[[3,4,5,[8,[13]],[8,[14]],6],[[11,[[10,[9]]]]]],0,0,[[]],[[]],[[]],[15,16],0,0,[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],0,0,[[]],0,0,0,0,0,0,[20],0,0,0,[[3,6]],0,0,0,0,[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],0,0,[[],22],[[],22],[[],22],0,0,[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[23,24],25],0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[4],[[4,26]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[4,3,27,5,5,5],[[8,[28]]]],[[7,28],[[8,[29]]]],[[],2],[[4,3]],[7,13],0,[[4,3,[31,[30]]],[[8,[32]]]],[33,33],[[]],[4,34],0,0,0,0,0,0,[[4,35,36,27]],[[4,35]],[4,37],0,[[4,35,36]],[[4,26]],0,[[],38],[4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[15,33],[[4,39,40,41,27],[[11,[42]]]],0,0,[4,8],0,0,[[7,3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],0,[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],0,0,0,[[],43],[44,43],0,[[45,3,[31,[30]]],5],0,[[4,3,29,[8,[46]],[8,[28]]],[[10,[9]]]],[4,23],0,[[23,13,33,47,34,3,48],7],[[4,3,23,48]],0,[[4,3,27],[[8,[28]]]],[[4,3],[[8,[28]]]],[[4,3],[[8,[28]]]],[[4,3],[[8,[28]]]],[[4,3],[[8,[28]]]],[4,34],[4,37],[4,47],[[],43],[[],44],[[],45],[4,47],0,0,[4,49],0,0,[[4,3]],0,[45],0,[[50,13,23],5],0,0,0,[[4,8]],[28,5],[[44,28],5],0,0,0,0,0,0,[4,13],0,0,0,0,0,0,[4],[[]],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],0,[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[],[[52,[30,[11,[51]]]]]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[53],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],0,[[3,4,8],[[10,[9]]]],[[3,4],[[10,[9]]]],[[54,3,4,24,55],[[56,[4]]]],0,[[57,4,53]],0,0,[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[58,[31,[30]]],58],[[58,3,[10,[59]]],[[10,[9]]]],[[60,35,4]],[[61,35,4]],[[60,3,4],[[56,[4]]]],[[61,3,4],[[56,[4]]]],[[58,24,46,[31,[30]]],58],[[],62],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],[[],5],[[],5],0,[[3,24,59,63],55],0,0,0,0,[24,58],[[3,64,62],[[10,[9]]]],0,0,[[58,[31,[30]]],58],0,0,[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[],22],[[],22],[[]],[[]],[[]],[[]],[[]],0,0,[[]],0,0,0,0,[[],1],[[],1],[[]],[[]],0,[[4,65,65],[[11,[66]]]],[[4,67],62],[[4,68],62],[[3,4],[[8,[[56,[4]]]]]],[[69,35,4]],[[35,4,70]],[[35,4]],[[69,3,4,71],[[8,[[56,[4]]]]]],[[]],0,[[69,4],[[8,[28]]]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],[65,[[10,[72]]]],[[69,3,4,73,71]],[[70,59,[74,[30]]]],[[],69],[[4,28],70],0,0,0,[[3,4]],[3,55],[[],21],[[],21],[[],22],[[]],0,0,0,0,0,0,0,0,0,[[75,4,32]],[[76,4],[[11,[77]]]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[75,75],[78,78],[[]],[[]],[[76,35]],[[75,75],5],[[78,78],5],[[76,3,4],5],[[]],[[]],[[]],0,[[76,3],64],[[75,32],[[8,[63]]]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[76,5],[76,5],[[],5],[[],5],[[],5],0,[[76,3],[[8,[32]]]],[[75,23,63,32],63],[4,76],[[],75],[[76,24],5],0,0,0,[[]],[[]],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[76,3,4]],[[76,4]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],0,[[79,35,4,5]],[[79,3,4,[8,[24]]],5],[[]],[[]],0,[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[79,3],64],0,[[3,4,[74,[77]]],79],0,0,[[79,3,4]],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[],[[21,[80]]]],[[81,35,4]],[[80,82],83],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],80],0,[[3,4,24],[[10,[9]]]],[[81,3,4,24,55],[[56,[4]]]],[30],[80,21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],0,0,[[]],[[]],0,0,0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[84,35,4]],[[85,35,4]],[[84,3,4],[[56,[4]]]],[[85,3,4],[[56,[4]]]],[[]],[[]],0,[[3,4,24],[[8,[[56,[4]]]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[3,29,[8,[46]],[8,[28]],7],[[10,[9]]]],[3,[[10,[9]]]],0,[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],[[3,4,24],[[56,[4]]]],0,0,0,0,0,0,[[86,4,28],11],0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[3,4]],0,[[87,87]],[[88,35,4]],[[89,35,4]],0,[[3,4],90],[[3,4],90],[[3,4],90],[88,91],[[88,3,4],[[56,[4]]]],[[89,3,4],[[56,[4]]]],[[86,3,4,28,30,5],[[56,[4]]]],[4],[4],[4],0,[[]],[[]],[[]],[[]],[86,53],0,0,[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[86,5],[[],5],[[],5],[[],5],[[],5],[88,43],0,[[3,4],[[10,[9]]]],[[3,4,[11,[92]]],[[10,[9]]]],0,0,0,0,0,0,0,[[3,4,[8,[[11,[93]]]]],[[10,[9]]]],[[88,3]],0,0,[[30,3,4],[[56,[4]]]],0,0,[[88,28],5],0,0,[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[],22],0,[[]],[[]],[[]],[[]],0,0,[[94,4,95],8],0,[[],1],[[],1],[[]],[[]],[[94,35,4]],[[94,3,4],[[56,[4]]]],[[94,3,4]],[[]],0,[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],[[3,4],[[10,[9]]]],0,0,[[94,95],96],[[94,4,95]],[[],21],[[],21],[[],22],[[]],0,0,0,0,0,0,0,[[97,3,4,98,62,99]],[[97,3,4,[11,[100]],48]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[98,98],[[]],[[98,98],101],[[97,35,4]],[[102,35,4]],0,[[98,98],5],[[],5],[[97,3,4],[[56,[4]]]],[[98,82],83],[[]],[[]],[[]],[[],103],[[],103],[98],0,[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],[3,55],[97,98],[[3,4],[[10,[9]]]],[[3,4,99],[[10,[9]]]],[[102,3,4,24,55],[[56,[4]]]],[[102,3,4],[[56,[4]]]],0,[[98,98],[[8,[101]]]],0,0,[[]],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[]],[[]],[[]],0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[104,23,105]],[104,104],[[]],[[106,35,4]],0,[[106,3,4],[[56,[4]]]],[[3,4,107],[[10,[9]]]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[3,4,104,105],[[10,[9]]]],0,[[3,4,107],[[10,[9]]]],0,[[]],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,[[],1],[[],1],[[]],[[]],[[28,23,13]],[[108,35,4]],[[28,23,13]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[[],5],[[],21],[[],21],[[],22],[[]],0,[[],1],[[],1],[[]],[[]],0,[[3,4,32],[[10,[9]]]],[[109,35,4]],0,[[109,3,4],[[56,[4]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],0,0,[[],21],[[],21],[[],22],[[]],0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],0,[[110,35,4]],[[110,3,4],[[56,[4]]]],[[]],[[]],0,[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],0,[[3,24,[11,[111]],[8,[29]]],[[10,[9]]]],0,0,[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,[[]],[[]],[[]],[[]],[[]],[[]],[[4,112,48],[[113,[77]]]],[55],0,0,[[114,35,4]],[[115,35,4]],[[116,35,4]],0,0,[[114,3,4],[[56,[4]]]],[[115,3,4],[[56,[4]]]],[[116,3,4],[[56,[4]]]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],[[3,4,117,118],[[8,[[10,[9]]]]]],[[3,4,119],[[10,[9]]]],[[3,4],[[10,[9]]]],0,0,0,[[3,120,121],64],[[114,3,4]],0,0,0,0,[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[]],[[]],[[]],0,[[],1],[[],1],[[]],[[]],[[122,35,4]],[[122,3,4],[[56,[4]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],[[3,79],55],[[3,4,77],[[10,[9]]]],0,0,[[],21],[[],21],[[],22],[[]],0,0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[123,35,4]],[[124,35,4]],0,[124,91],[[]],[[]],0,0,[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],0,0,[[3,4,32],[[10,[9]]]],[[3,4,[74,[32]],63,5],[[10,[9]]]],[[123,3,4,24,55],[[56,[4]]]],[[124,3,4,24,55],[[56,[4]]]],[[123,3,4]],[[123,3,4],[[56,[4]]]],[[124,3,4],[[56,[4]]]],[[124,3,4,55],[[8,[[56,[4]]]]]],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,[[],1],[[],1],[[]],[[]],0,0,0,[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[[],5],0,[[3,4],[[10,[9]]]],[[125,3,4,24,55],[[56,[4]]]],0,0,0,[[],21],[[],21],[[],22],[[]],0,0,[[3,4,126,[11,[63]]],[[128,[127]]]],[[129,126],[[11,[63]]]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],0,[[130,35,4]],[[129,129],5],[[130,3,4],[[56,[4]]]],[[]],[[]],[55,129],[[3,4,126,[11,[63]]],[[128,[127]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[3,64],[[],129],[[3,4],[[10,[9]]]],0,[[63,63],46],0,0,0,[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,[[],1],[[],1],[[]],[[]],0,[[131,35,4]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],[[3,4,30,30],[[10,[9]]]],[[131,3,4,24,55],[[56,[4]]]],[[131,3,4],[[56,[4]]]],[[],21],[[],21],[[],22],[[]],0,[[],1],[[],1],[[]],[[]],[[132,35,4]],0,[[132,3,4],[[56,[4]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],[[3,4,[113,[133]],[8,[134]]],[[10,[9]]]],[[3,4,135],[[10,[9]]]],0,0,[[],21],[[],21],[[],22],[[]],0,0,0,0,[[],1],[[],1],[[],1],[[],1],0,[[]],[[]],[[]],[[]],0,[[136,35,4]],0,0,[[136,3,4],[[56,[4]]]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[4,[8,[30]],5,48]],[[34,137,[52,[30,30]],[11,[29]],24,63],138],[[4,24]],[[3,4,[8,[30]]],[[10,[9]]]],0,0,0,[[3,4],[[56,[4]]]],0,0,0,[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,[[],1],[[],1],[[]],[[]],[[139,35,4]],0,[[139,3,4],[[56,[4]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],0,[[3,4,30,[11,[140]]],[[10,[9]]]],0,[[],21],[[],21],[[],22],[[]],0,[[],1],[[],1],[[]],[[]],[[141,35,4]],0,[[141,3,4],[[56,[4]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],[[135,3,4],[[10,[9]]]],0,0,[[],21],[[],21],[[],22],[[]],0,0,0,0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[142,142],[143,143],[[]],[[]],[[],[[21,[143]]]],0,[[144,35,4]],[[145,35,4]],[144,91],[146,91],[145,91],[[142,142],5],[[],5],[[144,3,4],[[56,[4]]]],[[145,3,4],[[56,[4]]]],[[142,82],83],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[3,4,147],[[10,[9]]]],[[],103],[[],103],[142],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],0,0,[[4,143],[[8,[147]]]],0,0,0,0,[[],147],0,[[3,4],[[10,[9]]]],[[3,63,24],[[10,[9]]]],[[146,3,4,24,55],[[56,[4]]]],0,0,[[144,3]],[[144,3,4]],[[147,4]],[143,21],0,[[]],[[]],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,[[3,4,14]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[4,107],5],0,0,0,0,[148,[[8,[28]]]],0,0,0,[[149,35,4]],[[150,35,4]],[[151,35,4]],[[152,35,4]],0,[[149,3,4],[[56,[4]]]],[[150,3,4],[[56,[4]]]],[[151,3,4],[[56,[4]]]],[[152,3,4],[[56,[4]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],[[],5],[[3,4],55],[[3,4],55],0,[[3,4,32,53],[[8,[[10,[9]]]]]],0,0,0,[[3,4,53],[[10,[9]]]],[[3,4,[31,[30]],5,[8,[[56,[4]]]],[10,[59]]],[[10,[9]]]],[[3,4,53],[[10,[9]]]],[[3,[10,[59]]],[[10,[9]]]],0,0,0,0,0,0,[[149,3,4],[[56,[4]]]],[[150,3,4]],0,0,0,[[4,[8,[153]]],[[11,[[154,[153]]]]]],0,0,0,0,[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[],22],0,[[]],[[]],[[]],[[]],0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[155,155],[[]],[[156,35,4]],[[155,155],5],[[],5],[[156,3,4],[[56,[4]]]],[[155,82],83],[[]],[[]],[[],103],[[],103],[155],0,[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[3,4,32],[[10,[9]]]],0,[[]],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,[[],1],[[],1],0,0,[[]],[[]],0,0,[[157,35,4]],0,[[157,3,4],[[56,[4]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],[[3,4,77,158,158,14],[[10,[9]]]],0,[[157,3,4]],0,[[157,3,4]],0,[[],21],[[],21],[[],22],[[]],0,[[],1],[[],1],[[]],[[]],[[3,4,[8,[107]],[8,[107]]]],[159,5],[[160,4],[[8,[14]]]],[[3,4,77,[8,[107]]],[[10,[9]]]],[[160,35,4]],[[4,77,63,63],161],0,[[160,3,4],[[56,[4]]]],[[4,77],161],0,[[]],0,[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],[[160,4,63],107],0,[159,[[8,[24]]]],0,[[3,4,162,[8,[107]],[8,[107]]],55],[[3,4,63,5,77,158],55],[[160,3,4,[8,[163]],59],[[56,[4]]]],[[3,4,107],[[10,[9]]]],[[3,4,77],[[10,[9]]]],0,0,0,[[160,3,4]],[[160,3,4]],[[160,3,4]],0,0,[3,62],0,[[],21],[[],21],[[],22],[[]],[[4,107],[[11,[[154,[164]]]]]],0,[[],1],[[],1],[[]],[[]],[[165,35,4]],[[165,3,4],[[56,[4]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],[[3,4,166],[[10,[9]]]],0,0,[[],21],[[],21],[[],22],[[]],0,[[],1],[[],1],[[]],[[]],[[167,35,4]],[[]],0,0,[[]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[[],5],0,[[3,4,32,53],[[10,[9]]]],[[167,3,4,24,55],[[56,[4]]]],[[167,3,4]],[[167,3,4],[[56,[4]]]],0,[[],21],[[],21],[[],22],[[]],0,0,[[168,3,4,63,59]],[[169,4]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[168,3,4,63]],[[4,74],[[8,[169]]]],[169,169],[[]],0,[[169,3,4]],0,[[168,35,4]],[168,91],0,[[3,4,74,63],161],0,[[169,169],5],[[168,3,4],[[56,[4]]]],[[4,74],161],0,[[]],[[]],[[4,74],169],0,[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[3,4,74,63],55],[[3,4,5,5],55],0,0,0,0,[[3,4,[74,[32]],53],[[10,[9]]]],0,0,0,0,[[168,3,4]],0,0,0,[[[11,[118]]],11],[[4,74],169],[[]],0,0,[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[168,4],25],[[]],[[]],0,0,[[],1],[[],1],[[]],[[]],[170,91],[[3,4,32,53,169],[[10,[9]]]],[[]],0,[[]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[[],5],[[3,4,171,63],[[10,[9]]]],[[170,3,4,24,55],[[56,[4]]]],[[170,3,4],[[56,[4]]]],[[170,3,4,55],[[8,[[56,[4]]]]]],[[],21],[[],21],[[],22],[[]],0,0,[[171,23]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[172,24],[[],[[21,[173]]]],[[173,82],83],[[]],[[]],0,[[174,24,23],[[25,[175]]]],0,[[23,32,24],[[25,[171]]]],[[3,4,24],[[10,[9]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],0,0,[[23,32],[[25,[174]]]],0,[176,25],[176,[[25,[[11,[177]]]]]],0,0,0,0,0,[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,[[]],[[]],[[]],[[]],[[]],[[]],[[178,35,4]],[[179,35,4]],[[180,35,4]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],0,0,0,0,0,0,[[3,4,[74,[32]]],[[10,[9]]]],[[3,4,32,[74,[32]]],[[10,[9]]]],[[3,4,32,32,[74,[32]]],[[10,[9]]]],[[178,3,4,24,55],[[56,[4]]]],[[179,3,4,24,55],[[56,[4]]]],[[180,3,4,24,55],[[56,[4]]]],[[178,3,4]],[[179,3,4]],[[178,3,4],[[56,[4]]]],[[179,3,4],[[56,[4]]]],[[180,3,4],[[56,[4]]]],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[]],[[]],[[]],0,[[],1],[[],1],[[]],[[]],[[181,35,4]],[[181,3,4],[[56,[4]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],[[3,63],64],0,0,[[3,[74,[32]],53],[[10,[9]]]],0,[[],21],[[],21],[[],22],[[]],0,[[],1],[[],1],[[]],[[]],[[182,35,4]],[[182,3,4],[[56,[4]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],[[3,4,[74,[32]],63],[[10,[9]]]],[[3,4],[[10,[9]]]],0,0,[[],21],[[],21],[[],22],[[]],[[3,4,148],[[8,[[10,[9]]]]]],[[3,4,148],[[8,[[10,[9]]]]]],[23,[[11,[148]]]],0,0,[[],1],[[],1],[[]],[[]],[[183,35,4]],0,[[3,4,74]],[[183,3,4],[[56,[4]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],[[3,74],64],[[3,4,77],[[10,[9]]]],0,0,0,[[],21],[[],21],[[],22],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[4,28],11],[[184,4],[[8,[28]]]],[184,11],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[73,55],[[8,[73]]]],[73,73],[185,185],[186,186],[[]],[[]],[[]],[[4,187],62],0,[185,[[188,[30]]]],[186,[[188,[30]]]],0,0,[[71,4,189,190]],[[184,35,4]],0,0,[[185,185],5],[[186,186],5],[[184,3,4,71]],[[3,4,28,30,5],[[56,[4]]]],[[]],[[]],[[]],[[]],[[]],[55,185],[55,186],[[4,28],73],[[],53],[3,64],0,0,0,[[]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],0,[[],5],[[],5],[[],5],[[],5],[[],5],0,[[3,11],[[11,[64]]]],[[3,137,73,11],64],[[3,4,73,71],184],[[],185],[[],186],0,0,0,[[3,4,24,59,186],64],0,0,0,0,0,[[3,4,24,59,185],64],0,0,0,[[185,3,4],64],[[186,3,4],64],[[73,4],[[8,[28]]]],[[]],[[]],[[]],0,0,0,0,[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[],22],[[],22],[73],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[191,4,133,[8,[192]]]],[[3,4,191,133,73],64],[[3,4,191,133],64],[[3,4,191,133],64],[[3,4,191,133],64],[[3,4,191,133],64],[[3,4,191,193],64],[[3,4,193],64],[[3,4,191,32,185],64],[[3,4,191,32],64],[[3,4,32],64],[[3,4,191,32,185,5],64],[[3,4,32,185,5],64],[[3,4,32,185,5],64],[[3,4,191,32,73],64],[[3,4,191,32],64],[[3,4,32],64],[[3,4,191,32,186],64],[[3,4,32,186],64],[[3,4,191,32,185],64],[[3,4,32,185],64],[[3,4,191,32],64],[[3,4,32],64],[[3,4,191,107],64],[[3,4,107],64],[[3,4,191,107,73],64],[[3,4,191,107],64],[[3,4,107],64],[[3,4,191,107,186],64],[[3,4,107,186],64],[[3,4,191,107,185],64],[[3,4,107,185],64],[[3,191,194,73],64],[[3,4,191,194],64],[[3,4,194],64],[[3,4,191,192,5],64],[[3,4,191,192],64],[[65,65],66],[[3,4,191],64],[[3,4,191],64],[[3,195,23],64],[[3,4,191,192,73,5],64],[[3,4,191,196,5],64],[[3,4,191,196],64],[[3,4,191,192,5],64],[[3,4,192],64],[[3,4,191,192,52,5],64],[[3,4,191,192,52],64],[[3,4,191,196,73],64],[[3,4,191,196],64],[[3,4,191,196],64],[197,70],[[3,4,191,166],64],[[3,4,191,166],64],[[3,4,191,198],64],[[3,4,191,198],64],0,[[],1],[[],1],[[]],[[]],0,[[3,4,189,199,191],64],[199,199],[[]],[[3,49,189,200,201],64],[[3,4,49,191,189,23]],[[119,4]],[[199,199],5],[[3,4,192,52,189,191],64],[[]],[[3,4,189,199,191],64],[[]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[[],5],[[3,62,5,202,23,203],64],[[3,4,189,[8,[46]]],64],[[3,4,189,199,191,[11,[204]],23,[8,[46]]],64],[[],199],[[3,4,189,95,199,191],64],0,[189,[[52,[189,199]]]],[[]],[[],21],[[],21],[[],22],[[]],0,0,0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[35,4]],[[205,35,4]],[205,91],[35],0,[[3,4],[[8,[206]]]],[[205,3,4],[[56,[4]]]],0,[[]],[[]],[[3,24],64],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],0,[[],[[8,[24]]]],0,0,0,[[3,4],[[10,[9]]]],0,0,0,[[3,55],[[8,[206]]]],0,0,[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[3,4],[[8,[[56,[4]]]]]],[[]],[[]],0,0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],0,[[207,35,4]],[[208,35,4]],0,0,[[207,35]],[[208,35]],[[207,3,4],[[8,[206]]]],[[208,3,4],[[8,[206]]]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[3,4]],[[3,4,164,164]],[3],[207,[[8,[24]]]],[208,[[8,[24]]]],[[3,4],207],[[3,4],208],0,0,0,0,[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,[[4,133]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],0,[[4,133],5],[[],[[21,[209]]]],[[210,35,4]],0,[[210,35]],[[210,3,4],[[8,[206]]]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[4,209],[210,[[8,[24]]]],[[3,4],210],0,[4,30],[[4,133]],[209,21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,[[3,4],211],[[],1],[[],1],[[],1],[[],1],[[3,4],211],[[]],[[]],[[]],[[]],[[212,35,4]],[[211,35,4]],0,0,[[212,35]],[[211,35]],[[3,4],211],[[212,3,4],[[8,[206]]]],[[211,3,4],[[8,[206]]]],[[]],[[]],[[3,4],211],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[212,[[8,[24]]]],[211,[[8,[24]]]],0,[[3,4],212],[[3,213,24,30,64],211],[[3,4],211],0,0,0,0,[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,0,0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[214,214],[215,215],[[]],[[]],[[216,35,4]],0,[[216,35]],[[214,214],5],[[215,215],5],[[216,3,4],[[8,[206]]]],[[214,82],83],[[]],[[]],[[]],0,[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],[[3,4,215,[8,[64]]],55],[216,[[8,[24]]]],[[3,4,215],216],[216,215],0,0,0,0,[[]],[[]],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[]],[[]],[[]],0,0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[217,217],[[]],[[217,217],101],[[218,35,4]],[[219,35,4]],0,0,[[218,35]],[[219,35]],[[217,217],5],[[],5],[[218,3,4],[[8,[206]]]],[[219,3,4],[[8,[206]]]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],0,0,[218,[[8,[24]]]],[219,[[8,[24]]]],[[3,4,5,5,5,5,5],218],[[3,4],219],[220,217],0,0,0,[[217,217],[[8,[101]]]],0,0,0,[[]],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[]],[[]],[[]],0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[221,221],[[]],[[222,35,4]],0,[[222,35]],[[221,221],5],[[222,3,4],[[8,[206]]]],[[]],[[]],0,[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[3,4,221,[8,[64]]],55],[222,[[8,[24]]]],[[3,4,221],222],[222,221],0,0,0,[[]],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[223,223],[[]],[[224,35,4]],0,[[224,35]],[[223,223],5],[[224,3,4],[[8,[206]]]],[4,[[25,[30]]]],[[]],[[]],0,[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[3,4,223,[8,[64]],63],55],0,[224,[[8,[24]]]],[[3,4,223],224],[4,223],[[224,4],223],0,0,[[223,200,190,225],5],0,0,0,[[]],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],0,[[]],[[]],0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],0,0,[[]],[[]],[[]],[[]],[226,226],[[]],0,[[227,35,4]],0,[[227,35]],[[226,226],5],[[227,3,4],[[8,[206]]]],[[]],[[]],[55,226],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[3,226,64],55],[227,[[8,[24]]]],[[3,4,226],227],[[],226],0,0,[[226,225],5],0,[[226,3],64],[[]],0,[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,0,0,0,0,0,[[228,23,32],5],0,[[228,23],[[11,[118]]]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[23,11],11],[[229,35,4]],[[230,35,4]],[[231,35,4]],[[232,35,4]],[[233,35,4]],[[234,35,4]],0,0,0,0,0,[[229,35]],[[230,35]],[[231,35]],[[232,35]],[[233,35]],[[234,35]],0,[[229,3,4],[[8,[206]]]],[[230,3,4],[[8,[206]]]],[[231,3,4],[[8,[206]]]],[[232,3,4],[[8,[206]]]],[[233,3,4],[[8,[206]]]],[[234,3,4],[[8,[206]]]],[4,25],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],0,[229,[[8,[24]]]],[230,[[8,[24]]]],[231,[[8,[24]]]],[232,[[8,[24]]]],[233,[[8,[24]]]],[234,[[8,[24]]]],[[3,4],229],[[3,4,[74,[67]]],230],[[3,4],231],[[3,4],232],[[3,4],233],[[3,4],234],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[],1],[[],1],[[]],[[]],[[235,35,4]],0,[[235,35]],[[235,3,4],[[8,[206]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],[235,[[8,[24]]]],[[3,4,5,5,5],235],0,[[],21],[[],21],[[],22],[[]],0,[[],1],[[],1],[[]],[[]],[[3,4,[11,[24]]],[[10,[9]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[[],5],[[3,4],[[10,[9]]]],0,[[],21],[[],21],[[],22],[[]],0,[[],1],[[],1],[[]],[[]],0,[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[[],5],[[3,4,236],[[56,[4]]]],[[3,[8,[30]]],[[10,[9]]]],[[237,3,4,24,55],[[56,[4]]]],0,[[],21],[[],21],[[],22],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[238,4,28],11],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[4,53,[10,[72]]],[[10,[9]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[239,238],0,0,[[239,35,4]],[[240,35,4]],[[241,35,4]],[[239,3,4],[[56,[4]]]],[[240,3,4],[[56,[4]]]],[[241,3,4],[[56,[4]]]],[[238,3,4,28,30,5],[[56,[4]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[238,53],0,[[]],[[]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[4,5],[238,5],0,[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],0,[3,[[56,[4]]]],0,0,0,0,[[3,4]],[[3,4,242],243],[[239,3,4]],0,[[243,3,4]],0,[[4,53],[[10,[9]]]],0,0,0,[4,[[10,[9]]]],0,0,0,[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],1],[[],1],[[]],[[]],[244,244],[[]],0,[[244,244],5],[[244,82],83],[[]],0,[[]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[[],5],[[244,3,4],[[10,[9]]]],0,0,0,[[244,3,4],64],0,0,[[244,4,55],[[8,[244]]]],[[]],0,[[244,3,4,55],[[8,[[56,[4]]]]]],0,0,0,[[],21],[[],21],[[],22],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[245,246,3,4]],[[247,248,23],118],0,[246,246],[[]],[[245,249],11],0,0,0,[[245,35,4]],0,[[246,246],5],[[250,250],5],[[245,3,4],[[56,[4]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[4,48],25],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[3,4],55],0,0,[[3,4],[[10,[9]]]],0,[4,[[11,[251]]]],0,[[245,[8,[252]],3,4]],0,0,[[]],0,0,0,[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[4,63],[[56,[4]]]],[[35,4,189,161]],[[35,4,55,161,[8,[90]]]],0,0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[11,11],[[253,35,4]],[[254,35,4]],[[253,3,4],[[56,[4]]]],[[254,3,4],[[56,[4]]]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[3,4],[[10,[9]]]],[[3,4],[[10,[9]]]],0,0,[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],0,[[255,35,4]],0,0,[[255,3,4],[[56,[4]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],[[3,4],[[258,[4,256,257]]]],0,0,0,0,[[3,4],[[10,[9]]]],0,[[3,4],[[11,[256]]]],[[3,4,258],90],0,0,0,0,0,0,[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[]],[[]],[[]],0,0,0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[[259,35,4]],0,0,0,[[259,3,4],[[56,[4]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],[4,[[258,[4,260,261]]]],[[3,4],[[10,[9]]]],0,0,0,[4,[[11,[260]]]],0,0,0,0,0,0,[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[]],[[]],[[]],0,0,0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[262,35,4]],[[262,3,4],[[56,[4]]]],[4,[[25,[30]]]],[[]],[[]],[263,5],0,[[263,120],5],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],0,[[3,4,5],[[10,[9]]]],0,[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,[[],1],[[],1],[[]],[[]],0,[[264,35,4]],[[264,3,4],[[56,[4]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],[[3,[19,[[265,[[8,[118]]]]]]],[[10,[9]]]],0,0,[[],21],[[],21],[[],22],[[]],0,0,[[4,48],[[137,[32,266]]]],0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[266,190],[[113,[175]]]],[[267,35,4]],[267,91],[[267,3,4],[[56,[4]]]],[[]],[[]],0,[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[3,4],[[10,[9]]]],0,0,[[267,3,4]],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],0,[[3,4,268],64],[[269,35,4]],[[269,3,4],[[56,[4]]]],[4,[[25,[30]]]],[[]],[[]],[[268,4],11],[268,5],0,[[268,120],5],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[3,4,268],55],0,[[],268],[[3,4,268],[[10,[9]]]],0,[[65,65],46],[[3,4,268],64],[[3,4,268],64],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,0,0,0,[[[275,[[0,[270,271]],[0,[272,273,274]],[0,[272,273,274]]]],[0,[270,271]],[0,[272,273,274]],[0,[272,273,274]]]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[63,[[11,[163]]]],0,0,0,[276,277],[[[275,[[0,[270,271]],[0,[272,273,274]],[0,[272,273,274]]]],3,4,[278,[[0,[272,273,274]],[0,[272,273,274]]]]],64],0,[4,63],0,[[]],[[]],[[]],[[[275,[[0,[270,271]],[0,[272,273,274]],[0,[272,273,274]]]],63,63],63],[[],5],[120,5],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],[[[11,[[0,[272,273,274]]]],[11,[[0,[272,273,274]]]]],[[275,[[0,[270,271]],[0,[272,273,274]],[0,[272,273,274]]]]]],[[3,4,11],64],0,0,0,[[4,187],11],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[]],[[]],[[]],0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[279,35,4]],0,0,0,0,0,0,0,[[279,3,4],[[56,[4]]]],0,[[]],[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],[[],5],[[],5],[4,[[258,[4,280,281]]]],[4,[[258,[4,282,281]]]],[4,[[258,[4,283,281]]]],0,0,0,0,0,0,[[3,4],279],0,0,0,0,[4],0,0,0,0,0,0,0,[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[],22],[[],22],0,0,[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[53,14],5],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[53,5],[53,5],[[],5],[53,5],[[],5],[[3,24],64],0,0,[53,53],[[]],[[53,53],101],0,[[[10,[242]]],[[21,[[10,[242]],[10,[242]]]]]],[242,8],[[[19,[242]]],[[21,[[19,[242]],[19,[242]]]]]],[242,8],[[35,4]],[[284,35,4]],[[53,53],5],[[],5],[[3,4,243,238],[[8,[[56,[4]]]]]],[[284,3,4],[[56,[4]]]],0,0,[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[53,3,4],[[10,[242]]]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[242,5],[[],5],[[],5],[[],5],[53,92],[[3,30,53,[8,[53]]],[[10,[9]]]],0,[4],0,[[53,53],[[8,[101]]]],0,[[3,4]],0,[[53,4,285,48],286],0,[[]],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],0,[[],22],[[],22],[[],22],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],0,[[]],[[]],[[]],[[]],[[287,35,4]],[[288,35,4]],[[287,3,4,243,238],[[8,[[56,[4]]]]]],[4,8],[[]],[[]],[287,5],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[3,30,5],[[10,[242]]]],[[288,3,4,24,55],[[56,[4]]]],0,[[287,3,4]],0,0,[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,[[],1],[[],1],[[]],[[]],[[3,4,53],[[10,[9]]]],[[3,4,53],[[10,[9]]]],[53,[[10,[59]]]],0,[[289,35,4]],[[289,3,4,243,238],[[8,[[56,[4]]]]]],[[3,4,53,65,65,65],[[10,[9]]]],[[]],[4],0,[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],0,[[3,4,290,65],[[10,[242]]]],0,0,[[289,3,4]],0,0,0,[[],21],[[],21],[[],22],[[]],0,0,[[],1],[[],1],[[]],[[]],[[3,4,53],[[10,[9]]]],[3,64],0,[[291,35,4]],[[291,3,4,243,238],[[8,[[56,[4]]]]]],[[3,4,53,5],[[10,[9]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],0,[3,[[10,[242]]]],[[291,4]],[[291,3,4]],0,0,[[],21],[[],21],[[],22],[[]],0,0,0,[[4,28],11],0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[292,35,4]],[[293,35,4]],[[292,3,4,243,238],[[8,[[56,[4]]]]]],[[3,4,28,24],[[56,[4]]]],[[]],[[]],0,[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[3,4],[[10,[242]]]],[[3,4,24],[[10,[9]]]],[[293,3,4,24,55],[[56,[4]]]],[[292,3,4]],[[32,4]],0,0,[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,0,0,0,0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[294,294],[[]],[[295,35,4]],[[296,35]],[[294,294],5],[[],5],[[295,3,4],[[56,[4]]]],[[296,3],5],[[294,82],83],[[]],[[]],[[]],[[]],[[]],[[],103],[[],103],[294],[[]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],[[],5],[[],5],0,[3,296],[[4,118],297],[3,[[10,[9]]]],0,0,0,0,[[295,3,4]],0,[[]],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[],22],[[],22],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[],1],[[],1],[[]],[[]],[[],[[21,[298]]]],[[]],[3,[[56,[4]]]],[3,[[56,[4]]]],[[23,30,48],[[25,[30]]]],[[]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[[],5],0,0,[[],21],[[],21],[[],22],[[]],0,[[],1],[[],1],[[]],[[]],0,[[299,35,4]],[[299,3,4],[[56,[4]]]],[[]],0,[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],[[3,4,[8,[133]]],[[10,[9]]]],0,0,[[],21],[[],21],[[],22],[[]],0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[300,120,190,190],63],0,0,[[301,35,4]],[[302,35,4]],[[303,35,4]],[[301,3,4,243,238],[[8,[[56,[4]]]]]],[[302,3,4],[[56,[4]]]],[[303,3,4],[[56,[4]]]],0,[[]],[[]],[[]],[[]],[[]],[[303,4]],[[]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],[[],5],[[],5],0,0,0,[4,300],[[3,4,24,[11,[304]]],[[10,[242]]]],[[3,30,[11,[304]]],[[10,[9]]]],[[3,4,30,[11,[304]]],[[10,[9]]]],[[3,4],[[10,[9]]]],[[305,3,4,24,55],[[56,[4]]]],[[301,4]],0,0,[[303,3,4]],[[301,3,4]],0,0,0,0,[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[],22],[[],22],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[4,28],11],0,[[306,307],306],0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[308,309],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[310,5],[310,5],0,[311,311],[312,312],[[]],[[]],[[311,311],101],0,[[313,[10,[59]]],313],0,[[310,35,4]],[[306,[10,[59]]],306],[[311,311],5],[[312,312],5],[[],5],[[310,3,4,243,238],[[8,[[56,[4]]]]]],[[3,4,28,24],[[56,[4]]]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[310,5],[310,5],[310,5],[310,5],[[306,24],306],0,[[3,4]],[[310,3,4,243,314],[[8,[[56,[4]]]]]],0,0,0,0,[314,312],[[]],[[]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[3,[[10,[9]]]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[312,24],0,[306,306],[23,315],[[3,4,311],[[10,[242]]]],0,[[314,3,4],[[10,[242]]]],[[314,3,5],55],[314,[[8,[306]]]],0,[[313,306],313],0,[312,313],[70,306],[[3,4],314],[[63,63],311],[314],0,0,0,[[311,311],[[8,[101]]]],[[312,312],[[8,[101]]]],0,[314],[[310,3,4]],[314],[[4,311],[[8,[315]]]],[[313,315],313],[23,[[11,[315]]]],0,[314,313],0,0,[[3,4],[[10,[9]]]],0,[[]],[[]],0,[[312,3,314],70],[[4,314],[[56,[4]]]],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],0,[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[]],[[]],[[]],[[]],[[]],[[]],[[313,28,[8,[46]]],313],0,0,0,0,0,[[],1],[[],1],[[]],[[]],[[316,35,4]],[[]],[[316,4],5],[[316,4],5],[[]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[[],5],[[3,4],[[11,[64]]]],[[316,3,4],64],[[3,4],64],[[316,3,4],55],[[316,3,4],64],[[316,3,4,55]],[[316,3,4,24],[[8,[[56,[4]]]]]],[[],21],[[],21],[[],22],[[]],0,0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[317,35]],[[318,35,4]],[[317,3,4],[[8,[[56,[4]]]]]],[[318,3,4],[[56,[4]]]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[3,63],64],0,[[],317],[[3,[74,[32]]],[[10,[9]]]],0,0,[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],0,[[]],[[]],[[]],[[]],[319,319],[[]],[[320,3,4],64],[[320,35]],[[319,319],5],[[320,3,4,[8,[53]]],[[8,[[56,[4]]]]]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[320,5],[[],5],[[],5],[[3,4],320],0,0,[[319,319],[[8,[101]]]],[[320,3,4]],0,[[320,3,4]],[[320,3,4,319]],0,0,[[]],[[320,3,4],64],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,[[11,46,46],118],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[3,65],64],[[3,190],64],[[63,63],30],[[321,35,4]],[[322,35,4]],[322,91],[[321,3,4],[[56,[4]]]],[[322,3,4],[[56,[4]]]],[[]],[[]],0,[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],0,[[3,4,[8,[53]]],[[10,[9]]]],[[3,4,190,[8,[65]]],[[10,[9]]]],[[322,3,4]],0,0,0,0,0,0,[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[[],1],[[],1],0,[[]],[[]],[[323,323],5],0,[[]],[[323,3,4,24],[[8,[[56,[4]]]]]],[[]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[[],5],0,[[323,3,4,64],55],0,0,[[],324],0,[[],21],[[],21],[[],22],[[]],0,0,0,0,0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[325,62],[326,62],[327,62],[328,62],[[329,35]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[162,5],[[],5],[[],5],[[],5],[[],5],[[],5],[[3,4],329],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[],22],[[],22],[[]],[[]],[[]],[[]],[[]],0,[[],1],[[],1],[[]],[[]],[[330,35,4]],[[330,3,4],[[56,[4]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],0,[[3,4,324],[[10,[9]]]],[330,324],0,[[],21],[[],21],[[],22],[[]],0,[[],1],[[],1],0,[[]],[[]],[[324,35,4]],0,[[324,3,4],[[8,[[56,[4]]]]]],0,[[]],[[324,3,4,24]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],0,[324,307],[[62,24],331],[[324,3,4],64],[3,64],0,0,[[3,4],324],0,0,[[324,3,4]],0,[[],21],[[],21],[[],22],[[324,3,4]],[[]],[3],0,0,0,0,0,0,0,0,0,[[332,333],5],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],332],[[],334],[334,70],[[335,35,4]],0,0,[3,336],0,[[335,3,4],[[56,[4]]]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[55,332],[[3,4,135,48],336],0,[[]],[[]],[[]],[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],0,[[3,4],55],0,0,[[3,4,324],[[10,[9]]]],0,[[63,63],46],[[336,3,4,48]],0,[335,324],[[332,3],64],0,0,0,0,[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],1],[[],1],[[]],[[]],[[337,35,4]],[[337,3,4],[[56,[4]]]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[19,[[19,[1]]]],[[],5],0,[[3,4,[11,[77]],[8,[338]]],[[11,[30]]]],0,[[3,4,324],[[10,[9]]]],[[3,4],64],0,[337,324],0,[[],21],[[],21],[[],22],[[337,3,4]],[[]],0,0,0,0,0,0,0,[4,8],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,0,[[3,4],64],[[]],[[]],[[]],[[]],[[]],[[]],[339,339],[340,340],[[]],[[]],[[],340],[[341,35,4]],[[339,339],5],[[340,340],5],[[],5],[[341,3,4],[[56,[4]]]],0,[[339,82],83],[[]],[[]],[[]],[[],103],[[],103],[339],0,[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],0,0,[341,342],[340,24],[[3,4,324],[[10,[9]]]],[[341,3,4]],[[341,3,4]],0,[340,121],[[341,3,4]],[341,324],[[]],[[]],[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[341,3,4,64]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[3,4,[11,[119]],343,340],344],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],0,[[4,345,345,340],70],0,0,0,[[343,35,55]],0,0,0,0,[[345,345],5],[[343,3,4,346,55],[[8,[[56,[4]]]]]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[[[10,[17]]],[[10,[1,17]]]],[18,[[18,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[19,[[19,[1]]]],[[],5],[[],5],[[],5],[[3,4,[11,[119]]],344],[[3,4,345,11],64],[[3,4,[11,[119]],62,[8,[62]],340],344],0,0,0,0,0,0,0,0,0,0,[[],21],[[],21],[[],21],[[],21],[[],21],[[],21],[[],22],[[],22],[[],22],[[]],[[]],[[]]],"p":[[8,"Any"],[3,"App"],[3,"EventCtx"],[3,"App"],[15,"bool"],[3,"Setup"],[3,"PerMap"],[4,"Option"],[8,"State"],[3,"Box"],[3,"Vec"],[4,"Mode"],[3,"Sim"],[3,"MapEdits"],[3,"ArgMatches"],[3,"Args"],[3,"Global"],[3,"Arc"],[3,"Rc"],[3,"Settings"],[4,"Result"],[3,"TypeId"],[3,"Map"],[15,"str"],[6,"Result"],[3,"Canvas"],[8,"ShowObject"],[4,"ID"],[3,"Pt2D"],[3,"String"],[8,"Into"],[3,"IntersectionID"],[3,"Flags"],[3,"ColorScheme"],[3,"GfxCtx"],[3,"DrawOptions"],[3,"DrawMap"],[3,"SessionState"],[3,"Bounds"],[3,"Prerender"],[3,"AgentCache"],[8,"Renderable"],[3,"ShowLayers"],[3,"ShowEverything"],[3,"PerObjectActions"],[15,"f64"],[3,"Options"],[3,"Timer"],[3,"Analytics"],[3,"FindDelayedIntersections"],[3,"Challenge"],[3,"BTreeMap"],[4,"GameplayMode"],[3,"ChallengesPicker"],[3,"Panel"],[4,"Transition"],[3,"HighScore"],[3,"CutsceneBuilder"],[8,"Fn"],[3,"CutscenePlayer"],[3,"ShowMessage"],[3,"Color"],[15,"usize"],[3,"Widget"],[3,"Duration"],[3,"TextSpan"],[4,"AgentType"],[4,"TripPhaseType"],[3,"CommonState"],[3,"Text"],[8,"ContextualActions"],[8,"FnOnce"],[4,"Tab"],[3,"BTreeSet"],[3,"Route"],[3,"RouteSketcher"],[3,"RoadID"],[4,"Mode"],[3,"RoadSelector"],[3,"UploadedProposals"],[3,"ShareProposal"],[3,"Formatter"],[6,"Result"],[3,"Warping"],[3,"DebugWarp"],[3,"Actions"],[3,"Tags"],[3,"DebugMode"],[3,"ScreenshotTest"],[3,"Drawable"],[4,"DrawBaselayer"],[3,"MapName"],[3,"OriginalRoad"],[3,"Viewer"],[4,"AgentID"],[4,"DelayCause"],[3,"Blockfinder"],[3,"Obj"],[3,"Block"],[3,"Perimeter"],[4,"Ordering"],[3,"OneBlock"],[15,"u64"],[4,"Source"],[4,"PathConstraints"],[3,"Floodfiller"],[3,"LaneID"],[3,"ObjectDebugger"],[3,"PathCounter"],[3,"PolygonDebugger"],[4,"Item"],[3,"Pathfinder"],[3,"Counter"],[3,"RouteExplorer"],[3,"AllRoutesExplorer"],[3,"PathCostDebugger"],[3,"PathRequest"],[3,"Polygon"],[4,"TripEndpoint"],[4,"TripMode"],[3,"RoutingParams"],[3,"BulkSelect"],[3,"UberTurnPicker"],[3,"UberTurnViewer"],[3,"DevToolsMode"],[3,"CollisionDataset"],[3,"DummyID"],[3,"World"],[3,"Filters"],[3,"CollisionsViewer"],[3,"GenericCompareCounts"],[3,"PopularDestinations"],[3,"BuildingID"],[3,"HeatmapOptions"],[3,"Scenario"],[3,"ViewKML"],[3,"HashMap"],[3,"Object"],[3,"PolygonEditor"],[3,"LonLat"],[3,"ScenarioManager"],[3,"MarkerID"],[3,"RecordedStoryMap"],[3,"StoryMapEditor"],[3,"DrawFreehand"],[3,"EditingMarker"],[3,"StoryMap"],[4,"EditCmd"],[3,"EditMode"],[3,"SaveEdits"],[3,"LoadEdits"],[3,"ConfirmDiscard"],[3,"Speed"],[3,"Choice"],[3,"ID"],[3,"CrosswalkEditor"],[3,"SelectSegments"],[3,"EditRoad"],[4,"LaneType"],[3,"RoadEditor"],[3,"GeomBatch"],[3,"Road"],[15,"isize"],[3,"Distance"],[3,"RouteEditor"],[3,"TransitRouteID"],[3,"StopSignEditor"],[3,"TrafficSignalEditor"],[3,"BundleEdits"],[3,"ChangeDuration"],[3,"ControlTrafficSignal"],[3,"Angle"],[3,"Record"],[3,"Snapper"],[3,"MovementID"],[8,"Deserializer"],[3,"NodeID"],[3,"ShowAbsolute"],[3,"ShowRelative"],[3,"TuneRelative"],[3,"SignalPicker"],[3,"PreviewTrafficSignal"],[3,"ZoneEditor"],[3,"InfoPanel"],[3,"DataOptions"],[3,"ProblemOptions"],[4,"ProblemType"],[3,"HashSet"],[3,"TripID"],[3,"Time"],[3,"Details"],[3,"PersonID"],[3,"AreaID"],[3,"ParkingLotID"],[3,"Person"],[3,"CarID"],[3,"TransitRoute"],[3,"TransitStopID"],[3,"OpenTrip"],[3,"TripInfo"],[3,"Percent"],[3,"Path"],[3,"UnitFmt"],[3,"TripPhase"],[3,"PickLayer"],[4,"LayerOutcome"],[3,"SteepStreets"],[3,"ElevationContours"],[3,"Favorites"],[3,"ShowFavorites"],[3,"Static"],[3,"BikeActivity"],[3,"ColorDiscrete"],[4,"Seir"],[3,"Options"],[3,"Pandemic"],[4,"Loc"],[3,"Occupancy"],[3,"Efficiency"],[4,"ParkingSpot"],[3,"Options"],[3,"PopulationMap"],[3,"Options"],[3,"ProblemMap"],[4,"Problem"],[3,"ProblemTypes"],[3,"RelativeProblemMap"],[3,"Jam"],[3,"Backpressure"],[3,"Throughput"],[3,"CompareThroughput"],[3,"TrafficJams"],[3,"Delay"],[3,"PedestrianCrowding"],[3,"TransitNetwork"],[3,"PermanentMapEdits"],[3,"Proposals"],[3,"Actions"],[3,"SandboxMode"],[3,"BackToTitleScreen"],[3,"SandboxLoader"],[8,"GameplayState"],[3,"SandboxControls"],[4,"DashTab"],[3,"CommuterPatterns"],[4,"BlockSelection"],[3,"Intersection"],[4,"BorderType"],[3,"Block"],[3,"Filter"],[3,"Loop"],[3,"PanelState"],[3,"ActiveTraffic"],[3,"TransitRoutes"],[3,"ModeShift"],[3,"Entry"],[3,"Filters"],[3,"Table"],[3,"ParkingOverhead"],[3,"Entry"],[3,"Filters"],[3,"RiskSummaries"],[3,"Filter"],[3,"RectangularSelector"],[3,"RefCell"],[3,"Demand"],[3,"TrafficSignalDemand"],[3,"Filter"],[3,"TravelTimes"],[8,"CloneableAny"],[8,"Clone"],[8,"Copy"],[8,"PartialOrd"],[8,"Display"],[3,"Matrix"],[3,"CLEAR_COLOR_SCALE"],[3,"ColorScale"],[3,"MatrixOptions"],[3,"TripTable"],[3,"CancelledTrip"],[3,"Filters"],[3,"FinishedTrip"],[3,"UnfinishedTrip"],[3,"FinalScore"],[3,"XorShiftRng"],[4,"LoadScenario"],[3,"Actdev"],[3,"About"],[3,"OptimizeCommute"],[3,"OrigPersonID"],[3,"FixTrafficSignals"],[3,"Freeform"],[3,"ChangeScenario"],[3,"Obj"],[3,"AreaSpawner"],[3,"SelectRectangle"],[3,"Area"],[3,"Input"],[3,"AgentSpawner"],[3,"CountTrips"],[3,"PlayScenario"],[3,"EditScenarioModifiers"],[3,"ChangeMode"],[4,"ScenarioModifier"],[3,"DepartureSummary"],[3,"Message"],[3,"ScreenPt"],[15,"i64"],[4,"OsmID"],[3,"Tutorial"],[3,"TutorialPointer"],[4,"Task"],[3,"Stage"],[3,"TutorialState"],[3,"ScenarioGenerator"],[3,"MinimapController"],[3,"RoutePreview"],[3,"TrafficRecorder"],[4,"SpeedSetting"],[3,"TimePanel"],[3,"JumpToTime"],[3,"TimeWarpScreen"],[4,"Tab"],[3,"Layers"],[3,"DEDICATED_TRAIL"],[3,"PROTECTED_BIKE_LANE"],[3,"PAINTED_BIKE_LANE"],[3,"GREENWAY"],[3,"DrawNetworkLayer"],[3,"ExploreMap"],[3,"ButtonBuilder"],[3,"Filters"],[3,"CandidateTrip"],[3,"Results"],[3,"ShowGaps"],[3,"ModeShiftData"],[3,"QuickSketch"],[4,"BufferType"],[4,"ID"],[3,"RoutingPreferences"],[3,"TripPlanner"],[3,"TripManagement"],[3,"RouteDetails"],[3,"BuiltRoute"],[3,"RouteStats"],[4,"Outcome"],[13,"LoadKML"],[13,"CompareCounts"],[13,"Gameplay"],[4,"Layout"],[3,"Scene"],[13,"Extra"],[13,"Hovering"],[13,"Dragging"],[4,"Mode"],[13,"Route"],[3,"SearchResults"],[13,"Floodfill"],[13,"Point"],[13,"Triangle"],[13,"Polygon"],[3,"Marker"],[13,"PersonTrips"],[13,"PersonBio"],[13,"PersonSchedule"],[13,"TransitVehicleStatus"],[13,"TransitStop"],[13,"TransitRoute"],[13,"ParkedCar"],[13,"BldgInfo"],[13,"BldgPeople"],[13,"ParkingLot"],[13,"Crowd"],[13,"Area"],[13,"IntersectionInfo"],[13,"IntersectionTraffic"],[13,"IntersectionDelay"],[13,"IntersectionDemand"],[13,"IntersectionArrivals"],[13,"IntersectionTrafficSignal"],[13,"IntersectionProblems"],[13,"LaneInfo"],[13,"LaneDebug"],[13,"LaneTraffic"],[13,"LaneProblems"],[8,"Layer"],[13,"Replace"],[13,"Transition"],[13,"Road"],[13,"Bldg"],[13,"Lot"],[3,"TitleScreen"],[4,"LoadStage"],[13,"GotScenario"],[13,"LoadingPrebaked"],[13,"GotPrebaked"],[13,"Unlocked"],[13,"Locked"],[8,"TripProblemFilter"],[13,"Freeform"],[13,"PlayScenario"],[13,"OptimizeCommute"],[13,"Actdev"],[13,"Tutorial"],[13,"Path"],[13,"Scenario"],[13,"Future"],[4,"Mode"],[13,"DrawingArea"],[13,"PickingDestination"],[8,"TakeLayers"],[3,"NetworkGaps"],[13,"AltRoute"],[13,"Waypoint"]]},\ -"geom":{"doc":"","t":[12,12,12,12,12,12,12,12,12,12,3,4,3,3,3,3,3,17,3,3,3,8,3,3,3,3,13,13,13,13,13,13,3,3,3,3,3,3,4,3,3,3,13,3,0,11,11,11,11,12,12,0,12,0,11,11,11,11,0,12,11,11,5,0,0,0,11,11,11,11,10,12,5,5,0,10,12,12,11,11,11,11,12,12,0,12,12,12,12,12,12,11,12,12,12,12,12,12,0,12,0,0,0,12,12,12,12,12,12,12,0,12,12,11,5,0,0,0,12,0,11,11,10,12,12,5,11,11,11,11,11,11,11,12,12,12,12,11,12,3,18,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,17,11,11,12,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,5,12,3,18,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,3,18,18,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,17,3,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,12,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,12,3,18,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,3,13,13,13,13,13,13,4,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,10,10,12,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,18,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["0","0","0","0","0","0","0","0","1","1","Angle","ArrowCap","Bounds","Circle","CornerRadii","Distance","Duration","EPSILON_DIST","FindClosest","GPSBounds","HashablePt2D","HgramValue","Histogram","InfiniteLine","Line","LonLat","Max","Mean","Min","P50","P90","P99","Percent","PolyLine","Polygon","Pt2D","Ring","Speed","Statistic","Tessellation","Time","Triangle","Triangle","UnitFmt","angle","borrow","borrow","borrow_mut","borrow_mut","bottom_left","bottom_right","bounds","center","circle","clone","clone","clone_into","clone_into","conversions","count","default","deserialize","deserialize_f64","distance","duration","find_closest","fmt","from","from","from","from_u64","geometries","geometries_to_geojson","geometries_with_properties_to_geojson","gps","hgram_zero","histogram","indices","into","into","is_within","is_within","latitude","length","line","longitude","max","max_lat","max_lon","max_x","max_y","metric","metric","min","min_lat","min_lon","min_x","min_y","percent","points","polygon","polyline","pt","pt1","pt2","pt3","pts","pts","quadtree","radius","ring","rings","round_durations","serialize","serialize_f64","speed","stats","tessellation","tessellation","time","to_owned","to_owned","to_u64","top_left","top_right","trim_f64","try_from","try_from","try_into","try_into","type_id","type_id","uniform","x","x_nan","y","y_nan","zero","0","Angle","ZERO","add","approx_eq","approx_parallel","average","borrow","borrow_mut","clone","clone_into","degrees","deserialize","eq","fmt","fmt","from","into","invert_y","is_within","neg","new_rads","normalized_degrees","normalized_radians","opposite","partial_cmp","reorient","rotate_degs","serialize","shortest_rotation_towards","simple_shortest_rotation_towards","to_owned","to_string","try_from","try_into","type_id","Bounds","GPSBounds","add_buffer","as_bbox","borrow","borrow","borrow_mut","borrow_mut","center","clone","clone","clone_into","clone_into","contains","contains","convert","convert_back","convert_back_xy","deserialize","deserialize","eq","eq","fmt","fmt","from","from","from","from","from_polygons","get_max_world_pt","get_rectangle","get_rectangle","height","into","into","is_within","is_within","max_lat","max_lon","max_x","max_y","min_lat","min_lon","min_x","min_y","new","new","scale","serialize","serialize","to_bounds","to_circle","to_owned","to_owned","try_convert","try_from","try_from","try_into","try_into","type_id","type_id","union","update","update","width","zero","Circle","TRIANGLES_PER_CIRCLE","borrow","borrow_mut","center","clone","clone_into","contains_pt","deserialize","fmt","fmt","from","get_bounds","into","is_within","new","radius","serialize","to_outline","to_owned","to_partial_tessellation","to_polygon","to_ring","to_string","try_from","try_into","type_id","pts_to_line_string","0","Distance","ZERO","abs","add","add_assign","borrow","borrow_mut","centimeters","clone","clone_into","cmp","const_meters","default","deserialize","div","div","div","eq","feet","fmt","fmt","from","from_u64","from_u64","hgram_zero","inches","inner_meters","into","is_within","meters","miles","mul","mul_assign","neg","partial_cmp","round_up_for_axis","safe_percent","serialize","sqrt","sub","sub_assign","sum","to_feet","to_miles","to_owned","to_string","to_string","to_u64","to_u64","try_from","try_into","type_id","0","Duration","EPSILON","ZERO","abs","add","add_assign","borrow","borrow_mut","clone","clone_into","cmp","const_seconds","default","deserialize","div","div","epsilon_eq","eq","f64_minutes","fmt","fmt","from","from_u64","from_u64","get_parts","hgram_zero","hours","inner_seconds","into","is_within","make_intervals_for_max","milliseconds","minutes","mul","mul","neg","num_minutes_rounded_up","parse","partial_cmp","realtime_elapsed","rem","round_up","seconds","serialize","sub","sub_assign","sum","to_owned","to_rounded_string","to_string","to_string","to_u64","to_u64","try_from","try_into","type_id","FindClosest","add","add_polygon","all_close_pts","all_points_inside","borrow","borrow_mut","closest_pt","from","geometries","into","is_within","new","quadtree","try_from","try_into","type_id","LonLat","borrow","borrow_mut","center","clone","clone_into","cmp","deserialize","eq","fast_dist","fmt","fmt","from","gps_dist","into","is_within","latitude","longitude","new","parse_geojson_polygons","parse_wkt_linestring","partial_cmp","read_geojson_polygon","serialize","to_geojson","to_owned","to_pt","to_string","try_from","try_into","type_id","x","y","0","0","1","1","InfiniteLine","Line","angle","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","contains_pt","crosses","deserialize","deserialize","dist_along","dist_along_of_point","eq","fmt","fmt","fmt","fmt","from","from","from_pt_angle","infinite","intersection","intersection","intersection_infinite","into","into","is_counter_clockwise","is_within","is_within","length","make_polygons","middle","must_dist_along","must_new","new","percent_along","percent_along_of_point","percent_slice","points","pt1","pt2","reversed","serialize","serialize","shift_either_direction","shift_left","shift_right","slice","to_owned","to_owned","to_polyline","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","unbounded_dist_along","unbounded_percent_along","0","Percent","borrow","borrow_mut","clone","clone_into","eq","fmt","from","inner","int","into","is_within","of","to_owned","to_string","try_from","try_into","type_id","Polygon","area","borrow","borrow_mut","center","centered_on","clip_polyline","clip_ring","clone","clone_into","concave_hull","contains_pt","convex_hull","deserialize","difference","dummy","eq","fmt","fmt","from","from_geojson","from_geojson_bytes","from_multi","from_rings","from_triangle","get_bounds","get_outer_ring","get_rings","intersection","intersects","intersects_polyline","into","into_outer_ring","is_within","maybe_rectangle","maybe_rounded_rectangle","must_scale","pill","polylabel","pretessellated","rectangle","rectangle_centered","rectangle_two_corners","rings","rotate","rotate_around","rounded_rectangle","scale","serialize","simplify","tessellation","to_geo","to_geojson","to_outline","to_owned","to_string","transform","translate","triangles","try_from","try_from","try_into","type_id","union_all_into_multipolygon","with_holes","ArrowCap","MITER_THRESHOLD","PolyLine","Triangle","append","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","dashed_arrow","dashed_lines","deduping_new","deserialize","dist_along","dist_along_of_point","dummy","eq","exact_dashed_polygons","exact_slice","extend","extend_to_length","first_half","first_line","first_pt","fix_angles","fmt","fmt","force_extend","from","from","from_geojson","from_geojson_bytes","get_bounds","get_four_corners_of_thickened","get_slice_ending_at","get_slice_starting_at","interpolate_points","intersection","intersection_infinite","into","into","into_points","is_within","is_within","last_line","last_pt","length","length","lines","make_arrow","make_double_arrow","make_polygons","maybe_exact_slice","maybe_make_arrow","maybe_reverse","middle","must_dist_along","must_extend","must_new","must_shift_left","must_shift_right","new","optionally_push","overall_angle","points","project_pt","pts","quadrant","reversed","safe_get_slice_ending_at","safe_get_slice_starting_at","second_half","serialize","shift_either_direction","shift_from_center","shift_left","shift_right","shift_with_corrections","shift_with_sharp_angles","slice","step_along","step_along_start_end","thicken_tessellation","to_geo","to_geojson","to_owned","to_set","to_string","to_thick_boundary","to_thick_ring","trim_to_endpts","try_from","try_from","try_into","try_into","type_id","type_id","unchecked_new","HashablePt2D","Pt2D","angle_to","approx_dedupe","approx_eq","borrow","borrow","borrow_mut","borrow_mut","center","clone","clone","clone_into","clone_into","cmp","deserialize","dist_to","eq","eq","fast_dist","fmt","fmt","fmt","from","from","from","from","hash","into","into","is_within","is_within","new","offset","partial_cmp","project_away","raw_dist_to","serialize","simplify_rdp","to_geojson","to_gps","to_hashable","to_owned","to_owned","to_pt2d","to_string","try_from","try_from","try_into","try_into","type_id","type_id","x","x","x_nan","y","y","y_nan","zero","Ring","all_intersections","as_geo_linestring","borrow","borrow_mut","clone","clone_into","contains_pt","deduping_new","deserialize","doubles_back","eq","fmt","fmt","from","get_both_slices_btwn","get_shorter_slice_between","get_shorter_slice_btwn","get_slice_between","into","into_points","into_polygon","is_within","must_new","new","points","polylabel","pts","serialize","split_points","to_geojson","to_outline","to_owned","to_string","translate","try_from","try_from","try_into","type_id","0","Speed","ZERO","add","borrow","borrow_mut","clone","clone_into","cmp","const_meters_per_second","deserialize","div","eq","fmt","from","from_dist_time","inner_meters_per_second","into","is_within","km_per_hour","meters_per_second","miles_per_hour","mul","mul","neg","partial_cmp","serialize","sub","to_owned","to_string","try_from","try_into","type_id","HgramValue","Histogram","Max","Mean","Min","P50","P90","P99","Statistic","add","all","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","count","count","default","describe","deserialize","eq","fmt","from","from","from_u64","hgram_zero","histogram","into","into","is_within","is_within","max","min","new","partial_cmp","percentile","remove","seems_eq","select","serialize","to_owned","to_owned","to_string","to_u64","try_from","try_from","try_into","try_into","type_id","type_id","Tessellation","Triangle","borrow","borrow","borrow_mut","borrow_mut","center","clone","clone","clone_into","clone_into","consume","deserialize","difference","downsize","eq","fmt","fmt","from","from","from","from","from_ring","get_bounds","indices","inplace_multi_transform","into","into","is_within","is_within","new","points","pt1","pt2","pt3","rotate","rotate_around","scale","scale_xy","serialize","to_geo","to_geojson","to_owned","to_owned","transform","translate","triangles","try_from","try_from","try_into","try_into","type_id","type_id","union","union_all","0","START_OF_DAY","Time","add","add_assign","ampm_tostring","as_filename","borrow","borrow_mut","clamped_sub","clone","clone_into","cmp","default","deserialize","eq","fmt","fmt","from","get_hours","get_parts","hash","inner_seconds","into","is_within","parse","partial_cmp","percent_of","round_seconds","seconds_since_midnight","serialize","sub","sub","to_owned","to_percent","to_string","try_from","try_into","type_id"],"q":["geom","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::angle","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::bounds","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::circle","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::conversions","geom::distance","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::duration","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::find_closest","","","","","","","","","","","","","","","","","geom::gps","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::line","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::percent","","","","","","","","","","","","","","","","","","","geom::polygon","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::polyline","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::pt","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::ring","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::speed","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::stats","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::tessellation","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::time","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","An angle, stored in radians.","","Represents a rectangular boundary of Pt2D points.","A circle, defined by a center and radius.","","A distance, in meters. Can be negative.","A duration, in seconds. Can be negative.","","A quad-tree to quickly find the closest points to some …","Represents a rectangular boundary of LonLat points. After …","This represents world space, NOT LonLat.","","","","A line segment.","Represents a (longitude, latitude) point.","","","","","","","Most of the time, [0, 1]. But some callers may go outside …","","","This represents world-space in meters.","Maybe a misnomer, but like a PolyLine, but closed.","In meters per second. Can be negative.","","A tessellated polygon, ready for rendering.","In seconds since midnight. Can’t be negative.","","","Specifies how to stringify different geom objects.","","","","","","","","","","","","","","","Conversions between this crate and geo. Long-term, we …","","","","Deserializes a trimmed f64 from an i32.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Create a GeoJson with one feature per geometry, and no …","Create a GeoJson with one feature per geometry, with the …","","","","Groups of three indices make up the triangles","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","Default settings using metric.","Display in metric; US imperial otherwise.","","","","","","","These points aren’t in any meaningful order. It’s not …","","","","","","","","","","","","","Round Durations to a whole number of seconds.","","Serializes a trimmed f64 as an i32 to save space.","","","","","","","","","","","Reduce the precision of an f64. This helps ensure …","","","","","","","","","","","","","","An angle, stored in radians.","","","True if this angle is within some degrees of another, …","True if this angle is within some degrees of another, …","Calculates the average of some angles.","","","","","Create an angle in degrees.","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","Create an angle in radians.","Returns [0, 360)","Returns [0, 2pi)","Invert the direction of this angle.","","I don’t know how to describe what this does. Use for …","Rotates this angle by some degrees.","","Logically this returns [-180, 180], but keep in mind when …","Returns [-180, 180]","","","","","","Represents a rectangular boundary of Pt2D points.","Represents a rectangular boundary of LonLat points. After …","Expand the existing boundary by some distance evenly on …","Converts the boundary to the format used by aabb_quadtree.","","","","","The center point of this boundary.","","","","","True if the point is within the boundary.","True if the point is within the boundary.","Convert all points to map-space. The points may be outside …","Convert map-space points back to LonLats. This is only …","","","","","","","","Create a boundary covering some points.","Returns the argument unchanged.","Returns the argument unchanged.","Create a boundary covering some points.","Create a boundary covering some polygons.","The bottom-right corner of the boundary, in map-space.","Creates a rectangle covering this boundary.","Returns points in order covering this boundary.","The height of this boundary.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","A boundary including no points.","A boundary including no points.","Transform the boundary by scaling its corners.","","","Converts the boundary to map-space.","Creates a circle centered in the middle of this boundary. …","","","Convert all points to map-space, failing if any points are …","","","","","","","Unions two boundaries.","Update the boundary to include this point.","Update the boundary to include this point.","The width of this boundary.","","A circle, defined by a center and radius.","","","","","","","True if the point is inside the circle.","","","","Returns the argument unchanged.","Get the boundary containing this circle.","Calls U::from(self).","","Creates a circle.","","","Creates an outline around the circle, strictly contained …","","Renders some percent, between [0, 1], of the circle. The …","Renders the circle as a polygon.","Returns the ring around the circle.","","","","","","","A distance, in meters. Can be negative.","","Returns the absolute value of this distance.","","","","","Creates a distance in centimeters.","","","","","","","","","","","Creates a distance in feet.","","","Returns the argument unchanged.","","","","Creates a distance in inches.","Returns the distance in meters. Prefer to work with …","Calls U::from(self).","","Creates a distance in meters.","Creates a distance in miles.","","","","","Rounds this distance up to a higher, more “even” value …","Calculates a percentage, usually in [0.0, 1.0], of self / …","","Returns the square root of this distance.","","","","Returns the distance in feet.","Returns the distance in miles.","","Describes the distance according to formatting rules. …","","","","","","","","A duration, in seconds. Can be negative.","","","","","","","","","","","","","","","","If two durations are within this amount, they’ll print …","","Creates a duration in minutes.","","","Returns the argument unchanged.","","","Splits the duration into (hours, minutes, seconds, …","","Creates a duration in hours.","Returns the duration in seconds. Prefer working in …","Calls U::from(self).","","Returns (rounded max, the boundaries)","Creates a duration in milliseconds.","Creates a duration in minutes.","","","","Returns the duration as a number of minutes, rounded up.","Parses a duration such as “3:00” to …","","Returns the duration elapsed from this moment in real time.","","Rounds a duration up to the nearest whole number multiple.","Creates a duration in seconds.","","","","","","Shows only the largest unit (hours, minute, seconds), …","Describes the duration according to formatting rules.","","","","","","","A quad-tree to quickly find the closest points to some …","Add an object to the quadtree, remembering some key …","Adds the outer ring of a polygon to the quadtree.","For every object within some distance of a query point, …","Find all objects with a point inside the query polygon","","","Finds the closest point on the existing geometry to the …","Returns the argument unchanged.","","Calls U::from(self).","","Creates the quad-tree, limited to points contained in the …","","","","","Represents a (longitude, latitude) point.","","","Finds the average of a set of coordinates.","","","","","","Pretty meaningless units, for comparing distances very …","","","Returns the argument unchanged.","Returns the Haversine distance to another point.","Calls U::from(self).","","","","Note the order of arguments!","Extract polygons from a raw GeoJSON string. For …","Parses a WKT-style line-string into a list of coordinates.","","Reads a GeoJSON file and returns coordinates from the one …","","","","Transform this to a world-space point. Can go out of …","","","","","Returns the longitude of this point.","Returns the latitude of this point.","","","","","","A line segment.","The angle of the line segment, from the first to the …","","","","","","","","","","Determine if two line segments intersect, but more so than …","","","Returns a point along the line segment, unless the …","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns an infinite line passing through this line’s two …","If two line segments intersect – including endpoints – …","Fails for parallel lines.","If the line segment intersects with an infinite line – …","Calls U::from(self).","Calls U::from(self).","","","","Length of the line segment","Returns a thick line segment.","","Equivalent to self.dist_along(dist).unwrap(). Use this to …","Equivalent to Line::new(pt1, pt2).unwrap(). Use this to …","Creates a line segment between two points, which must not …","","","Returns a subset of this line, with two percentages along …","Returns the two points in this line segment.","Returns the first point in this line segment.","Returns the second point in this line segment.","Returns a reversed line segment","","","Perpendicularly shifts the line to the right if positive …","Perpendicularly shifts the line over to the left. Width …","Perpendicularly shifts the line over to the right. Width …","","","","Returns a polyline containing these two points.","","","","","","","","","","","","Most of the time, [0, 1]. But some callers may go outside …","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","Usually m^2, unless the polygon is in screen-space","","","Returns the arithmetic mean of the outer ring’s points. …","","Doesn’t handle multiple crossings in and out.","","","","","Does this polygon contain the point in its interior?","","","","An arbitrary placeholder value, when Option types aren’t …","","","","Returns the argument unchanged.","","Extracts all polygons from raw bytes representing a …","","","","","","","","Do two polygons intersect at all?","Does this polygon intersect a polyline?","Calls U::from(self).","","","Top-left at the origin. Doesn’t take Distance, because …","Top-left at the origin. Doesn’t take Distance, because …","When factor is known to be over 1, then scaling can’t …","A rectangle, two sides of which are fully rounded …","Find the “pole of inaccessibility” – the most …","","Top-left at the origin. Doesn’t take Distance, because …","","","","","","Top-left at the origin. Doesn’t take Distance, because …","When factor is small, this may collapse Rings and thus …","","If simplification fails, just keep the original polygon","","","Optionally map the world-space points back to GPS.","Creates the outline around the polygon (both the exterior …","","","Transformations must preserve Rings.","","","","","","","Union all of the polygons into one geo::MultiPolygon","","","","","","One or both args might be empty.","","","","","","","","Don’t draw the dashes too close to the ends.","First dedupes adjacent points","","","","An arbitrary placeholder value, when Option types aren’t …","","","No excess leftover distance allowed.","Glue together two polylines in order. The last point of …","If the current line is at least this long, return it. …","","","","","","","Like extend, but handles the last and first point not …","Returns the argument unchanged.","Returns the argument unchanged.","","Extracts all linestrings from raw bytes representing a …","","This does the equivalent of make_polygons, returning the …","Panics if the pt is not on the polyline. Returns None if …","Returns None if the point is the last point.","","Also return the angle of the line where the hit was found","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","If the length is too short, just give up and make the …","","This produces a Polygon with a valid Ring. It may crash if …","","Fail if the length is too short.","","","","Like extend, but panics on failure.","","","","","Extends self by a single point. If the new point is close …","Returns the angle from the start to end of this polyline.","","Returns the point on the polyline closest to the query.","","Returns the quadrant where the overall angle of this …","","Same as get_slice_ending_at, but returns None if the point …","Same as get_slice_starting_at, but returns None if the …","","","Perpendicularly shifts the polyline to the right if …","self represents some center, with total_width. Logically …","","","","","Returns the excess distance left over from the end","Walk along the PolyLine, starting buffer_ends from the …","Walk along the PolyLine, from start_buffer to …","Just produces a Tessellation","","Produces a GeoJSON linestring, optionally mapping the …","","","","","Like make_polygons, but make sure the points actually form …","","","","","","","","Doesn’t check for duplicates. Use at your own risk.","This represents world space, NOT LonLat.","This represents world-space in meters.","","","","","","","","","","","","","","","","","","Pretty meaningless units, for comparing distances very …","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","If distance is negative, this projects a point in …","","","Simplifies a list of points using Ramer-Douglas-Peuckr","","Can go out of bounds.","","","","","","","","","","","","","","","","","","","Maybe a misnomer, but like a PolyLine, but closed.","Be careful with the order of results. Hits on an earlier …","Print the coordinates of this ring as a geo::LineString …","","","","","","First dedupes adjacent points","","Look for “bad” rings that double back on themselves. …","","","","Returns the argument unchanged.","","Assuming both points are somewhere along the ring, return …","","Assuming both points are somewhere along the ring, return …","Calls U::from(self).","","","","","","","Find the “pole of inaccessibility” – the most …","","","Extract all PolyLines and Rings. Doesn’t handle crazy …","Produces a GeoJSON polygon, optionally mapping the …","Draws the ring with some thickness, with half of it …","","","Translates the ring by a fixed offset.","","","","","","In meters per second. Can be negative.","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","Describes the speed according to formatting rules.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","None if empty","","Could implement PartialEq, but be a bit more clear how …","","","","","","","","","","","","","A tessellated polygon, ready for rendering.","","","","","","","","","","","Returns (points, indices) for rendering","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","The points are not necessarily a Ring, which has strict …","","Groups of three indices make up the triangles","Equivalent to …","Calls U::from(self).","Calls U::from(self).","","","","These points aren’t in any meaningful order. It’s not …","","","","","","","","","","Produces a GeoJSON multipolygon consisting of individual …","","","","","","","","","","","","","","","","In seconds since midnight. Can’t be negative.","","","","","","","","","","","","","","","","Returns the argument unchanged.","Rounded down. 6:59:00 is hour 6.","(hours, minutes, seconds, centiseconds)","","For RNG range generation. Don’t abuse.","Calls U::from(self).","","","","","","","","","","","","","","",""],"i":[15,20,33,38,39,41,32,60,38,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,57,57,57,57,57,0,0,0,0,0,0,0,0,0,0,48,0,0,1,2,1,2,2,2,0,26,0,1,2,1,2,0,56,2,1,0,0,0,0,2,1,2,2,55,36,0,0,0,55,56,28,1,2,1,2,24,40,0,24,56,23,23,19,19,1,1,56,23,23,19,19,0,28,0,0,0,44,44,44,40,29,36,26,0,25,1,1,0,0,0,0,25,0,1,2,55,2,2,0,1,2,1,2,1,2,2,22,52,22,52,2,15,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,19,19,19,23,19,23,19,19,23,19,23,19,23,23,23,23,19,23,19,23,19,23,19,19,23,23,19,23,19,23,19,19,23,19,23,23,23,19,19,23,23,19,19,19,23,19,19,23,23,19,19,23,23,19,23,19,23,19,23,19,19,23,19,19,0,0,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,0,20,0,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,33,0,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,0,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,0,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,38,39,38,39,0,0,38,38,39,38,39,38,39,38,39,38,38,38,39,38,38,38,38,38,39,39,38,39,39,38,38,39,38,38,39,0,38,39,38,38,38,38,38,38,38,38,38,38,38,38,38,38,39,38,38,38,38,38,39,38,38,39,38,39,38,39,38,39,38,38,41,0,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,0,0,0,48,40,48,40,48,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,0,40,40,40,48,40,40,40,40,40,40,40,40,40,40,48,40,40,48,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,0,40,40,40,40,48,40,48,40,48,40,40,0,0,22,22,22,22,52,22,52,22,22,52,22,52,52,22,22,22,52,22,22,22,52,22,22,22,52,52,22,52,22,52,22,22,52,22,22,22,22,22,22,22,22,52,52,22,22,52,22,52,22,52,22,22,52,22,22,52,22,0,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,0,57,57,57,57,57,57,0,56,57,57,56,57,56,57,56,57,56,57,56,56,56,56,57,57,57,57,56,55,55,56,57,56,57,56,56,56,56,57,56,56,56,56,57,57,56,57,55,57,56,57,56,57,56,0,0,28,44,28,44,28,28,44,28,44,28,28,28,0,28,28,44,28,28,28,44,28,28,28,28,28,44,28,44,28,28,44,44,44,28,28,28,28,28,28,28,28,44,28,28,28,28,44,28,44,28,44,28,28,60,60,0,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],0,0,0,0,0,[1,1],[2,2],[[]],[[]],0,0,[[],2],[[],[[3,[1]]]],[4,[[3,[5]]]],0,0,0,[[2,6],7],[[]],[[]],[5,2],[8],0,[[[10,[9]]],11],[10,11],0,[[]],0,0,[[]],[[]],[[],12],[[],12],0,0,0,0,0,0,0,0,0,[[],1],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,3],[[5,13],3],0,0,0,0,0,[[]],[[]],[[],8],0,0,[5,5],[[],3],[[],3],[[],3],[[],3],[[],14],[[],14],[5,2],0,0,0,0,[[],2],0,0,0,[[15,15],15],[[15,15,5],12],[[15,15,5],12],[[[10,[15]]],15],[[]],[[]],[15,15],[[]],[5,15],[[],[[3,[15]]]],[[15,15],12],[[15,6],7],[[15,6],7],[[]],[[]],[15,15],[[],12],[15,15],[5,15],[15,5],[15,5],[15,15],[[15,15],[[17,[16]]]],[15,15],[[15,5],15],[15,3],[[15,15],15],[[15,15],5],[[]],[[],18],[[],3],[[],3],[[],14],0,0,[[19,20]],[19,21],[[]],[[]],[[]],[[]],[19,22],[19,19],[23,23],[[]],[[]],[[19,22],12],[[23,24],12],[23,[[10,[22]]]],[23,[[10,[24]]]],[[23,5,5],24],[[],[[3,[19]]]],[[],[[3,[23]]]],[[19,19],12],[[23,23],12],[[19,6],7],[[23,6],7],[[],19],[[]],[[]],[[[10,[24]]],23],[[],19],[23,22],[19,25],[23,[[10,[24]]]],[19,5],[[]],[[]],[[],12],[[],12],0,0,0,0,0,0,0,0,[[],19],[[],23],[[19,5],19],[19,3],[23,3],[23,19],[19,26],[[]],[[]],[23,[[17,[[10,[22]]]]]],[[],3],[[],3],[[],3],[[],3],[[],14],[[],14],[[19,19]],[[19,22]],[[23,24]],[19,5],[[],19],0,0,[[]],[[]],0,[26,26],[[]],[[26,22],12],[[],[[3,[26]]]],[[26,6],7],[[26,6],7],[[]],[26,19],[[]],[[],12],[[22,20],26],0,[26,3],[[26,20],[[27,[25]]]],[[]],[[26,5],28],[26,25],[26,29],[[],18],[[],3],[[],3],[[],14],[[],30],0,0,0,[20,20],[[20,20],20],[[20,20]],[[]],[[]],[31,20],[20,20],[[]],[[20,20],16],[5,20],[[],20],[[],[[3,[20]]]],[[20,32],33],[[20,5],20],[[20,20],5],[[20,20],12],[5,20],[[20,6],7],[[20,6],7],[[]],[8,20],[8,20],[[],20],[5,20],[20,5],[[]],[[],12],[5,20],[5,20],[[20,5],20],[[20,5]],[20,20],[[20,20],[[17,[16]]]],[20,20],[[20,20],5],[20,3],[20,20],[[20,20],20],[[20,20]],[[],20],[20,5],[20,5],[[]],[[20,1],18],[[],18],[20,8],[20,8],[[],3],[[],3],[[],14],0,0,0,0,[33,33],[[33,33],33],[[33,33]],[[]],[[]],[33,33],[[]],[[33,33],16],[5,33],[[],33],[[],[[3,[33]]]],[[33,5],33],[[33,33],5],[[33,33],12],[[33,33],12],[5,33],[[33,6],7],[[33,6],7],[[]],[8,33],[8,33],[33],[[],33],[31,33],[33,5],[[]],[[],12],[[33,31]],[5,33],[31,33],[[33,32],20],[[33,5],33],[33,33],[33,31],[34,[[27,[33]]]],[[33,33],[[17,[16]]]],[35,33],[[33,33],33],[[33,33],33],[5,33],[33,3],[[33,33],33],[[33,33]],[[],33],[[]],[[33,31],18],[[33,1],18],[[],18],[33,8],[33,8],[[],3],[[],3],[[],14],0,[36],[[36,25]],[[36,22,20],10],[[36,25],10],[[]],[[]],[[36,22,20],17],[[]],0,[[]],[[],12],[19,36],0,[[],3],[[],3],[[],14],0,[[]],[[]],[[],24],[24,24],[[]],[[24,24],16],[[],[[3,[24]]]],[[24,24],12],[[24,24],[[37,[5]]]],[[24,6],7],[[24,6],7],[[]],[[24,24],20],[[]],[[],12],0,0,[[5,5],24],[18,[[27,[10]]]],[34,[[17,[[10,[24]]]]]],[[24,24],[[17,[16]]]],[34,[[27,[[10,[24]]]]]],[24,3],[24,9],[[]],[[24,23],22],[[],18],[[],3],[[],3],[[],14],[24,5],[24,5],0,0,0,0,0,0,[38,15],[[]],[[]],[[]],[[]],[38,38],[39,39],[[]],[[]],[[38,22],12],[[38,38],12],[[],[[3,[38]]]],[[],[[3,[39]]]],[[38,20],[[27,[22]]]],[[38,22],[[17,[20]]]],[[38,38],12],[[38,6],7],[[38,6],7],[[39,6],7],[[39,6],7],[[]],[[]],[[22,15],39],[38,39],[[38,38],[[17,[22]]]],[[39,39],[[17,[22]]]],[[38,39],[[17,[22]]]],[[]],[[]],[[22,22,22],12],[[],12],[[],12],[38,20],[[38,20],25],[38,[[27,[22]]]],[[38,20],22],[[22,22],38],[[22,22],[[27,[38]]]],[[38,5],[[27,[22]]]],[[38,22],[[17,[5]]]],[[38,5,5],[[27,[38]]]],[38,[[10,[22]]]],[38,22],[38,22],[38,38],[38,3],[39,3],[[38,20],38],[[38,20],38],[[38,20],38],[[38,20,20],[[27,[38]]]],[[]],[[]],[38,40],[[],18],[[],18],[[],3],[[],3],[[],3],[[],3],[[],14],[[],14],[[38,20],22],[[38,5],22],0,0,[[]],[[]],[41,41],[[]],[[41,41],12],[[41,6],7],[[]],[41,5],[31,41],[[]],[[],12],[[31,31],41],[[]],[[],18],[[],3],[[],3],[[],14],0,[25,5],[[]],[[]],[25,22],[[25,22],25],[[25,40],[[17,[[10,[22]]]]]],[[25,29],[[17,[[10,[22]]]]]],[25,25],[[]],[[[10,[22]],42],[[27,[25]]]],[[25,22],12],[[[10,[25]]],[[27,[25]]]],[[],[[3,[25]]]],[[25,25],[[27,[[10,[25]]]]]],[[],25],[[25,25],12],[[25,6],7],[[25,6],7],[[]],[[],[[27,[25]]]],[[23,12],[[27,[10]]]],[43,[[27,[[10,[25]]]]]],[[[10,[29]]],25],[44,25],[25,19],[25,29],[25],[[25,25],[[27,[[10,[25]]]]]],[[25,25],12],[[25,40],12],[[]],[25,29],[[],12],[[5,5],[[27,[25]]]],[[5,5,[45,[2]]],[[17,[25]]]],[[25,5],25],[[5,5],25],[25,22],[[[10,[29]],28],25],[[5,5],25],[[22,20,20],25],[[22,22],[[17,[25]]]],0,[[25,15],25],[[25,15,22],25],[[5,5,[45,[2]]],25],[[25,5],[[27,[25]]]],[25,3],[[25,5],25],0,[25,46],[[25,[17,[23]]],9],[[25,20],28],[[]],[[],18],[[25,47],[[27,[25]]]],[[25,5,5],25],[25,[[10,[44]]]],[46,[[27,[25]]]],[[],3],[[],3],[[],14],[[[10,[25]]],43],[[29,[10,[29]]],25],0,0,0,0,[[[10,[22]],[10,[22]]],[[27,[[10,[22]]]]]],[[]],[[]],[[]],[[]],[40,40],[[]],[[40,20,20,20,48],[[10,[25]]]],[[40,20,20,20],[[10,[25]]]],[[[10,[22]]],[[27,[40]]]],[[],[[3,[40]]]],[[40,20],27],[[40,22],17],[[],40],[[40,40],12],[[40,20,20,20],[[10,[25]]]],[[40,20,20],40],[[40,40],[[27,[40]]]],[[40,20],40],[40,[[27,[40]]]],[40,38],[40,22],[[40,40],[[27,[40]]]],[[40,6],7],[[40,6],7],[[40,40],[[27,[40]]]],[[]],[[]],[[49,[17,[23]]],[[27,[40]]]],[[23,12],[[27,[10]]]],[40,19],[[40,20],17],[[40,22],[[17,[40]]]],[[40,22],[[17,[40]]]],[[40,20],40],[[40,40],17],[[40,39],[[17,[22]]]],[[]],[[]],[40,[[10,[22]]]],[[],12],[[],12],[40,38],[40,22],[40,20],0,[40,50],[[40,20,48],25],[[40,20,48],25],[[40,20],25],[[40,20,20],[[27,[40]]]],[[40,20,48],[[17,[25]]]],[[40,12],40],[40,22],[[40,20]],[[40,40],40],[[[10,[22]]],40],[[40,20],40],[[40,20],40],[[[10,[22]]],[[27,[40]]]],[[40,22],40],[40,15],[40,10],[[40,22],22],0,[40,51],[40,40],[[40,22],[[17,[40]]]],[[40,22],[[17,[40]]]],[40,[[27,[40]]]],[40,3],[[40,20],[[27,[40]]]],[[40,20,20],[[27,[40]]]],[[40,20],[[27,[40]]]],[[40,20],[[27,[40]]]],[[40,20],[[27,[40]]]],[[40,20,5],[[27,[[10,[22]]]]]],[[40,20,20],27],[[40,20,20],10],[[40,20,20,20],10],[[40,20],28],[40,30],[[40,[17,[23]]],9],[[]],[[]],[[],18],[[40,20,20],[[17,[28]]]],[[40,20],29],[[40,22,22],40],[[],3],[[],3],[[],3],[[],3],[[],14],[[],14],[[[10,[22]]],40],0,0,[[22,22],15],[[[10,[22]],20],[[10,[22]]]],[[22,22,20],12],[[]],[[]],[[]],[[]],[[],22],[22,22],[52,52],[[]],[[]],[[52,52],16],[[],[[3,[22]]]],[[22,22],20],[[22,22],12],[[52,52],12],[[22,22],[[37,[5]]]],[[22,6],7],[[22,6],7],[[52,6],7],[53,22],[54,22],[[]],[[]],[52],[[]],[[]],[[],12],[[],12],[[5,5],22],[[22,5,5],22],[[52,52],[[17,[16]]]],[[22,20,15],22],[[22,22],5],[22,3],[[[10,[22]],5],[[10,[22]]]],[[22,[17,[23]]],9],[[22,23],24],[22,52],[[]],[[]],[52,22],[[],18],[[],3],[[],3],[[],3],[[],3],[[],14],[[],14],[22,5],0,0,[22,5],0,0,[[],22],0,[[29,40],[[10,[22]]]],[29,18],[[]],[[]],[29,29],[[]],[[29,22],12],[[[10,[22]]],[[27,[29]]]],[[],[[3,[29]]]],[29,12],[[29,29],12],[[29,6],7],[[29,6],7],[[]],[[29,22,22],17],[[29,22,22],[[17,[40]]]],[[29,22,22],[[17,[40]]]],[[29,22,22,12],[[17,[40]]]],[[]],[29,[[10,[22]]]],[29,25],[[],12],[[[10,[22]]],29],[[[10,[22]]],[[27,[29]]]],[29,10],[29,22],0,[29,3],[[],27],[[29,[17,[23]]],9],[[29,20],28],[[]],[[],18],[[29,5,5],29],[30,[[27,[29]]]],[[],3],[[],3],[[],14],0,0,0,[[32,32],32],[[]],[[]],[32,32],[[]],[[32,32],16],[5,32],[[],[[3,[32]]]],[[32,32],5],[[32,32],12],[[32,6],7],[[]],[[20,33],32],[32,5],[[]],[[],12],[5,32],[5,32],[5,32],[[32,5],32],[[32,33],20],[32,32],[[32,32],[[17,[16]]]],[32,3],[[32,32],32],[[]],[[32,1],18],[[],3],[[],3],[[],14],0,0,0,0,0,0,0,0,0,[[[56,[[55,[[55,[[55,[55]]]]]]]],[55,[[55,[[55,[[55,[55]]]]]]]]]],[[],[[10,[57]]]],[[]],[[]],[[]],[[]],[57,57],[[[56,[[0,[58,[55,[[0,[58,[55,[[0,[58,[55,[[0,[58,55]]]]]]]]]]]]]]]]],[[56,[[0,[58,[55,[[0,[58,[55,[[0,[58,[55,[[0,[58,55]]]]]]]]]]]]]]]]]],[[]],[[]],[[57,57],16],[[[56,[[55,[[55,[[55,[55]]]]]]]]],31],0,[[],[[56,[[55,[[55,[[55,[55]]]]]]]]]],[[[56,[[55,[[55,[[55,[55]]]]]]]]],18],[[],[[3,[57]]]],[[57,57],12],[[57,6],7],[[]],[[]],[8],[[]],0,[[]],[[]],[[],12],[[],12],0,0,[[],[[56,[[55,[[55,[[55,[55]]]]]]]]]],[[57,57],[[17,[16]]]],[[[56,[[55,[[55,[[55,[55]]]]]]]],5],[[17,[[55,[[55,[[55,[55]]]]]]]]]],[[[56,[[55,[[55,[[55,[55]]]]]]]],[55,[[55,[[55,[[55,[55]]]]]]]]]],[[[56,[[55,[[55,[[55,[55]]]]]]]],56],12],[[[56,[[55,[[55,[[55,[55]]]]]]]],57],[[17,[[55,[[55,[[55,[55]]]]]]]]]],[57,3],[[]],[[]],[[],18],[[],8],[[],3],[[],3],[[],3],[[],3],[[],14],[[],14],0,0,[[]],[[]],[[]],[[]],[28,22],[28,28],[44,44],[[]],[[]],[28],[[],[[3,[28]]]],[[28,28],[[27,[[10,[25]]]]]],[[[10,[31]]],[[10,[59]]]],[[28,28],12],[[28,6],7],[[44,6],7],[25,28],[46,28],[[]],[[]],[[[10,[22]]],28],[28,19],0,[[28,5,5,5,15,22]],[[]],[[]],[[],12],[[],12],[[[10,[22]],[10,[31]]],28],0,0,0,0,[[28,15]],[[28,15,22]],[[28,5]],[[28,5,5]],[28,3],[28,46],[[28,[17,[23]]],9],[[]],[[]],[[28,47]],[[28,5,5]],[28,[[10,[44]]]],[[],3],[[],3],[[],3],[[],3],[[],14],[[],14],[[28,28],28],[[[10,[28]]],28],0,0,0,[[60,33],60],[[60,33]],[60,18],[60,18],[[]],[[]],[[60,33],60],[60,60],[[]],[[60,60],16],[[],60],[[],[[3,[60]]]],[[60,60],12],[[60,6],7],[[60,6],7],[[]],[60,31],[60],[60],[60,5],[[]],[[],12],[34,[[27,[60]]]],[[60,60],[[17,[16]]]],[[60,5],60],[[60,5],60],[5,60],[60,3],[[60,33],60],[[60,60],33],[[]],[[60,60],5],[[],18],[[],3],[[],3],[[],14]],"p":[[3,"UnitFmt"],[3,"CornerRadii"],[4,"Result"],[8,"Deserializer"],[15,"f64"],[3,"Formatter"],[6,"Result"],[15,"u64"],[3,"Geometry"],[3,"Vec"],[4,"GeoJson"],[15,"bool"],[8,"Serializer"],[3,"TypeId"],[3,"Angle"],[4,"Ordering"],[4,"Option"],[3,"String"],[3,"Bounds"],[3,"Distance"],[3,"Rect"],[3,"Pt2D"],[3,"GPSBounds"],[3,"LonLat"],[3,"Polygon"],[3,"Circle"],[6,"Result"],[3,"Tessellation"],[3,"Ring"],[3,"LineString"],[15,"usize"],[3,"Speed"],[3,"Duration"],[15,"str"],[6,"Instant"],[3,"FindClosest"],[3,"NotNan"],[3,"Line"],[3,"InfiniteLine"],[3,"PolyLine"],[3,"Percent"],[15,"u32"],[3,"MultiPolygon"],[3,"Triangle"],[8,"Into"],[3,"Polygon"],[8,"Fn"],[4,"ArrowCap"],[3,"Feature"],[8,"Iterator"],[15,"i64"],[3,"HashablePt2D"],[3,"Coordinate"],[3,"Point"],[8,"HgramValue"],[3,"Histogram"],[4,"Statistic"],[8,"Clone"],[15,"u16"],[3,"Time"]]},\ +"geom":{"doc":"","t":[12,12,12,12,12,12,12,12,12,12,3,4,3,3,3,3,3,17,3,3,3,8,3,3,3,3,13,13,13,13,13,13,3,3,3,3,3,3,4,3,3,3,13,3,0,11,11,11,11,12,12,0,12,0,11,11,11,11,0,12,11,11,5,0,0,0,11,11,11,11,10,12,5,5,0,10,12,12,11,11,11,11,12,12,0,12,12,12,12,12,12,11,12,12,12,12,12,12,0,12,0,0,0,12,12,12,12,12,12,12,0,12,12,11,5,0,0,0,12,0,11,11,10,12,12,5,11,11,11,11,11,11,11,0,12,12,12,12,11,12,3,18,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,17,11,11,12,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,5,12,3,18,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,3,18,18,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,17,3,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,12,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,12,3,18,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,3,13,13,13,13,13,13,4,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,10,10,12,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,18,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5],"n":["0","0","0","0","0","0","0","0","1","1","Angle","ArrowCap","Bounds","Circle","CornerRadii","Distance","Duration","EPSILON_DIST","FindClosest","GPSBounds","HashablePt2D","HgramValue","Histogram","InfiniteLine","Line","LonLat","Max","Mean","Min","P50","P90","P99","Percent","PolyLine","Polygon","Pt2D","Ring","Speed","Statistic","Tessellation","Time","Triangle","Triangle","UnitFmt","angle","borrow","borrow","borrow_mut","borrow_mut","bottom_left","bottom_right","bounds","center","circle","clone","clone","clone_into","clone_into","conversions","count","default","deserialize","deserialize_f64","distance","duration","find_closest","fmt","from","from","from","from_u64","geometries","geometries_to_geojson","geometries_with_properties_to_geojson","gps","hgram_zero","histogram","indices","into","into","is_within","is_within","latitude","length","line","longitude","max","max_lat","max_lon","max_x","max_y","metric","metric","min","min_lat","min_lon","min_x","min_y","percent","points","polygon","polyline","pt","pt1","pt2","pt3","pts","pts","quadtree","radius","ring","rings","round_durations","serialize","serialize_f64","speed","stats","tessellation","tessellation","time","to_owned","to_owned","to_u64","top_left","top_right","trim_f64","try_from","try_from","try_into","try_into","type_id","type_id","uniform","utils","x","x_nan","y","y_nan","zero","0","Angle","ZERO","add","approx_eq","approx_parallel","average","borrow","borrow_mut","clone","clone_into","degrees","deserialize","eq","fmt","fmt","from","into","invert_y","is_within","neg","new_rads","normalized_degrees","normalized_radians","opposite","partial_cmp","reorient","rotate_degs","serialize","shortest_rotation_towards","simple_shortest_rotation_towards","to_owned","to_string","try_from","try_into","type_id","Bounds","GPSBounds","add_buffer","as_bbox","borrow","borrow","borrow_mut","borrow_mut","center","clone","clone","clone_into","clone_into","contains","contains","convert","convert_back","convert_back_xy","deserialize","deserialize","eq","eq","fmt","fmt","from","from","from","from","from_polygons","get_max_world_pt","get_rectangle","get_rectangle","height","into","into","is_within","is_within","max_lat","max_lon","max_x","max_y","min_lat","min_lon","min_x","min_y","new","new","scale","serialize","serialize","to_bounds","to_circle","to_owned","to_owned","try_convert","try_from","try_from","try_into","try_into","type_id","type_id","union","update","update","width","zero","Circle","TRIANGLES_PER_CIRCLE","borrow","borrow_mut","center","clone","clone_into","contains_pt","deserialize","fmt","fmt","from","get_bounds","into","is_within","new","radius","serialize","to_outline","to_owned","to_partial_tessellation","to_polygon","to_ring","to_string","try_from","try_into","type_id","pts_to_line_string","0","Distance","ZERO","abs","add","add_assign","borrow","borrow_mut","centimeters","clone","clone_into","cmp","const_meters","default","deserialize","div","div","div","eq","feet","fmt","fmt","from","from_u64","from_u64","hgram_zero","inches","inner_meters","into","is_within","meters","miles","mul","mul_assign","neg","partial_cmp","round_up_for_axis","safe_percent","serialize","sqrt","sub","sub_assign","sum","to_feet","to_miles","to_owned","to_string","to_string","to_u64","to_u64","try_from","try_into","type_id","0","Duration","EPSILON","ZERO","abs","add","add_assign","borrow","borrow_mut","clone","clone_into","cmp","const_seconds","default","deserialize","div","div","epsilon_eq","eq","f64_minutes","fmt","fmt","from","from_u64","from_u64","get_parts","hgram_zero","hours","inner_seconds","into","is_within","make_intervals_for_max","milliseconds","minutes","mul","mul","neg","num_minutes_rounded_up","parse","partial_cmp","realtime_elapsed","rem","round_up","seconds","serialize","sub","sub_assign","sum","to_owned","to_rounded_string","to_string","to_string","to_u64","to_u64","try_from","try_into","type_id","FindClosest","add","add_polygon","all_close_pts","all_points_inside","borrow","borrow_mut","closest_pt","from","geometries","into","is_within","new","quadtree","try_from","try_into","type_id","LonLat","borrow","borrow_mut","center","clone","clone_into","cmp","deserialize","eq","fast_dist","fmt","fmt","from","gps_dist","into","is_within","latitude","longitude","new","parse_geojson_polygons","parse_wkt_linestring","partial_cmp","read_geojson_polygon","serialize","to_geojson","to_owned","to_pt","to_string","try_from","try_into","type_id","x","y","0","0","1","1","InfiniteLine","Line","angle","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","contains_pt","crosses","deserialize","deserialize","dist_along","dist_along_of_point","eq","fmt","fmt","fmt","fmt","from","from","from_pt_angle","infinite","intersection","intersection","intersection_infinite","into","into","is_counter_clockwise","is_within","is_within","length","make_polygons","middle","must_dist_along","must_new","new","percent_along","percent_along_of_point","percent_slice","points","pt1","pt2","reversed","serialize","serialize","shift_either_direction","shift_left","shift_right","slice","to_owned","to_owned","to_polyline","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","unbounded_dist_along","unbounded_percent_along","0","Percent","borrow","borrow_mut","clone","clone_into","eq","fmt","from","inner","int","into","is_within","of","to_owned","to_string","try_from","try_into","type_id","Polygon","area","borrow","borrow_mut","center","centered_on","clip_polyline","clip_ring","clone","clone_into","concave_hull","contains_pt","convex_hull","deserialize","difference","dummy","eq","fmt","fmt","from","from_geojson","from_geojson_bytes","from_multi","from_rings","from_triangle","get_bounds","get_outer_ring","get_rings","intersection","intersects","intersects_polyline","into","into_outer_ring","is_within","maybe_rectangle","maybe_rounded_rectangle","must_scale","pill","polylabel","pretessellated","rectangle","rectangle_centered","rectangle_two_corners","rings","rotate","rotate_around","rounded_rectangle","scale","serialize","simplify","tessellation","to_geo","to_geojson","to_outline","to_owned","to_string","transform","translate","triangles","try_from","try_from","try_into","type_id","union_all_into_multipolygon","with_holes","ArrowCap","MITER_THRESHOLD","PolyLine","Triangle","append","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","dashed_arrow","dashed_lines","deduping_new","deserialize","dist_along","dist_along_of_point","dummy","eq","exact_dashed_polygons","exact_slice","extend","extend_to_length","first_half","first_line","first_pt","fix_angles","fmt","fmt","force_extend","from","from","from_geojson","from_geojson_bytes","get_bounds","get_four_corners_of_thickened","get_slice_ending_at","get_slice_starting_at","interpolate_points","intersection","intersection_infinite","into","into","into_points","is_within","is_within","last_line","last_pt","length","length","lines","make_arrow","make_double_arrow","make_polygons","maybe_exact_slice","maybe_make_arrow","maybe_reverse","middle","must_dist_along","must_extend","must_new","must_shift_left","must_shift_right","new","optionally_push","overall_angle","points","project_pt","pts","quadrant","reversed","safe_get_slice_ending_at","safe_get_slice_starting_at","second_half","serialize","shift_either_direction","shift_from_center","shift_left","shift_right","shift_with_corrections","shift_with_sharp_angles","slice","step_along","step_along_start_end","thicken_tessellation","to_geo","to_geojson","to_owned","to_set","to_string","to_thick_boundary","to_thick_ring","trim_to_endpts","try_from","try_from","try_into","try_into","type_id","type_id","unchecked_new","HashablePt2D","Pt2D","angle_to","approx_dedupe","approx_eq","borrow","borrow","borrow_mut","borrow_mut","center","clone","clone","clone_into","clone_into","cmp","deserialize","dist_to","eq","eq","fast_dist","fmt","fmt","fmt","from","from","from","from","hash","into","into","is_within","is_within","new","offset","partial_cmp","project_away","raw_dist_to","serialize","simplify_rdp","to_geojson","to_gps","to_hashable","to_owned","to_owned","to_pt2d","to_string","try_from","try_from","try_into","try_into","type_id","type_id","x","x","x_nan","y","y","y_nan","zero","Ring","all_intersections","as_geo_linestring","borrow","borrow_mut","clone","clone_into","contains_pt","deduping_new","deserialize","doubles_back","eq","fmt","fmt","from","get_both_slices_btwn","get_shorter_slice_between","get_shorter_slice_btwn","get_slice_between","into","into_points","into_polygon","is_within","must_new","new","points","polylabel","pts","serialize","split_points","to_geojson","to_outline","to_owned","to_string","translate","try_from","try_from","try_into","type_id","0","Speed","ZERO","add","borrow","borrow_mut","clone","clone_into","cmp","const_meters_per_second","deserialize","div","eq","fmt","from","from_dist_time","inner_meters_per_second","into","is_within","km_per_hour","meters_per_second","miles_per_hour","mul","mul","neg","partial_cmp","serialize","sub","to_owned","to_string","try_from","try_into","type_id","HgramValue","Histogram","Max","Mean","Min","P50","P90","P99","Statistic","add","all","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","count","count","default","describe","deserialize","eq","fmt","from","from","from_u64","hgram_zero","histogram","into","into","is_within","is_within","max","min","new","partial_cmp","percentile","remove","seems_eq","select","serialize","to_owned","to_owned","to_string","to_u64","try_from","try_from","try_into","try_into","type_id","type_id","Tessellation","Triangle","borrow","borrow","borrow_mut","borrow_mut","center","clone","clone","clone_into","clone_into","consume","deserialize","difference","downsize","eq","fmt","fmt","from","from","from","from","from_ring","get_bounds","indices","inplace_multi_transform","into","into","is_within","is_within","new","points","pt1","pt2","pt3","rotate","rotate_around","scale","scale_xy","serialize","to_geo","to_geojson","to_owned","to_owned","transform","translate","triangles","try_from","try_from","try_into","try_into","type_id","type_id","union","union_all","0","START_OF_DAY","Time","add","add_assign","ampm_tostring","as_filename","borrow","borrow_mut","clamped_sub","clone","clone_into","cmp","default","deserialize","eq","fmt","fmt","from","get_hours","get_parts","hash","inner_seconds","into","is_within","parse","partial_cmp","percent_of","round_seconds","seconds_since_midnight","serialize","sub","sub","to_owned","to_percent","to_string","try_from","try_into","type_id","prettyprint_usize"],"q":["geom","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::angle","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::bounds","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::circle","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::conversions","geom::distance","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::duration","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::find_closest","","","","","","","","","","","","","","","","","geom::gps","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::line","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::percent","","","","","","","","","","","","","","","","","","","geom::polygon","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::polyline","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::pt","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::ring","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::speed","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::stats","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::tessellation","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::time","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","geom::utils"],"d":["","","","","","","","","","","An angle, stored in radians.","","Represents a rectangular boundary of Pt2D points.","A circle, defined by a center and radius.","","A distance, in meters. Can be negative.","A duration, in seconds. Can be negative.","","A quad-tree to quickly find the closest points to some …","Represents a rectangular boundary of LonLat points. After …","This represents world space, NOT LonLat.","","","","A line segment.","Represents a (longitude, latitude) point.","","","","","","","Most of the time, [0, 1]. But some callers may go outside …","","","This represents world-space in meters.","Maybe a misnomer, but like a PolyLine, but closed.","In meters per second. Can be negative.","","A tessellated polygon, ready for rendering.","In seconds since midnight. Can’t be negative.","","","Specifies how to stringify different geom objects.","","","","","","","","","","","","","","","Conversions between this crate and geo. Long-term, we …","","","","Deserializes a trimmed f64 from an i32.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Create a GeoJson with one feature per geometry, and no …","Create a GeoJson with one feature per geometry, with the …","","","","Groups of three indices make up the triangles","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","Default settings using metric.","Display in metric; US imperial otherwise.","","","","","","","These points aren’t in any meaningful order. It’s not …","","","","","","","","","","","","","Round Durations to a whole number of seconds.","","Serializes a trimmed f64 as an i32 to save space.","","","","","","","","","","","Reduce the precision of an f64. This helps ensure …","","","","","","","","","","","","","","","An angle, stored in radians.","","","True if this angle is within some degrees of another, …","True if this angle is within some degrees of another, …","Calculates the average of some angles.","","","","","Create an angle in degrees.","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","Create an angle in radians.","Returns [0, 360)","Returns [0, 2pi)","Invert the direction of this angle.","","I don’t know how to describe what this does. Use for …","Rotates this angle by some degrees.","","Logically this returns [-180, 180], but keep in mind when …","Returns [-180, 180]","","","","","","Represents a rectangular boundary of Pt2D points.","Represents a rectangular boundary of LonLat points. After …","Expand the existing boundary by some distance evenly on …","Converts the boundary to the format used by aabb_quadtree.","","","","","The center point of this boundary.","","","","","True if the point is within the boundary.","True if the point is within the boundary.","Convert all points to map-space. The points may be outside …","Convert map-space points back to LonLats. This is only …","","","","","","","","Returns the argument unchanged.","Create a boundary covering some points.","Create a boundary covering some points.","Returns the argument unchanged.","Create a boundary covering some polygons.","The bottom-right corner of the boundary, in map-space.","Creates a rectangle covering this boundary.","Returns points in order covering this boundary.","The height of this boundary.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","A boundary including no points.","A boundary including no points.","Transform the boundary by scaling its corners.","","","Converts the boundary to map-space.","Creates a circle centered in the middle of this boundary. …","","","Convert all points to map-space, failing if any points are …","","","","","","","Unions two boundaries.","Update the boundary to include this point.","Update the boundary to include this point.","The width of this boundary.","","A circle, defined by a center and radius.","","","","","","","True if the point is inside the circle.","","","","Returns the argument unchanged.","Get the boundary containing this circle.","Calls U::from(self).","","Creates a circle.","","","Creates an outline around the circle, strictly contained …","","Renders some percent, between [0, 1], of the circle. The …","Renders the circle as a polygon.","Returns the ring around the circle.","","","","","","","A distance, in meters. Can be negative.","","Returns the absolute value of this distance.","","","","","Creates a distance in centimeters.","","","","","","","","","","","Creates a distance in feet.","","","Returns the argument unchanged.","","","","Creates a distance in inches.","Returns the distance in meters. Prefer to work with …","Calls U::from(self).","","Creates a distance in meters.","Creates a distance in miles.","","","","","Rounds this distance up to a higher, more “even” value …","Calculates a percentage, usually in [0.0, 1.0], of self / …","","Returns the square root of this distance.","","","","Returns the distance in feet.","Returns the distance in miles.","","Describes the distance according to formatting rules. …","","","","","","","","A duration, in seconds. Can be negative.","","","","","","","","","","","","","","","","If two durations are within this amount, they’ll print …","","Creates a duration in minutes.","","","Returns the argument unchanged.","","","Splits the duration into (hours, minutes, seconds, …","","Creates a duration in hours.","Returns the duration in seconds. Prefer working in …","Calls U::from(self).","","Returns (rounded max, the boundaries)","Creates a duration in milliseconds.","Creates a duration in minutes.","","","","Returns the duration as a number of minutes, rounded up.","Parses a duration such as “3:00” to …","","Returns the duration elapsed from this moment in real time.","","Rounds a duration up to the nearest whole number multiple.","Creates a duration in seconds.","","","","","","Shows only the largest unit (hours, minute, seconds), …","","Describes the duration according to formatting rules.","","","","","","A quad-tree to quickly find the closest points to some …","Add an object to the quadtree, remembering some key …","Adds the outer ring of a polygon to the quadtree.","For every object within some distance of a query point, …","Find all objects with a point inside the query polygon","","","Finds the closest point on the existing geometry to the …","Returns the argument unchanged.","","Calls U::from(self).","","Creates the quad-tree, limited to points contained in the …","","","","","Represents a (longitude, latitude) point.","","","Finds the average of a set of coordinates.","","","","","","Pretty meaningless units, for comparing distances very …","","","Returns the argument unchanged.","Returns the Haversine distance to another point.","Calls U::from(self).","","","","Note the order of arguments!","Extract polygons from a raw GeoJSON string. For …","Parses a WKT-style line-string into a list of coordinates.","","Reads a GeoJSON file and returns coordinates from the one …","","","","Transform this to a world-space point. Can go out of …","","","","","Returns the longitude of this point.","Returns the latitude of this point.","","","","","","A line segment.","The angle of the line segment, from the first to the …","","","","","","","","","","Determine if two line segments intersect, but more so than …","","","Returns a point along the line segment, unless the …","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns an infinite line passing through this line’s two …","If two line segments intersect – including endpoints – …","Fails for parallel lines.","If the line segment intersects with an infinite line – …","Calls U::from(self).","Calls U::from(self).","","","","Length of the line segment","Returns a thick line segment.","","Equivalent to self.dist_along(dist).unwrap(). Use this to …","Equivalent to Line::new(pt1, pt2).unwrap(). Use this to …","Creates a line segment between two points, which must not …","","","Returns a subset of this line, with two percentages along …","Returns the two points in this line segment.","Returns the first point in this line segment.","Returns the second point in this line segment.","Returns a reversed line segment","","","Perpendicularly shifts the line to the right if positive …","Perpendicularly shifts the line over to the left. Width …","Perpendicularly shifts the line over to the right. Width …","","","","Returns a polyline containing these two points.","","","","","","","","","","","","Most of the time, [0, 1]. But some callers may go outside …","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","Usually m^2, unless the polygon is in screen-space","","","Returns the arithmetic mean of the outer ring’s points. …","","Doesn’t handle multiple crossings in and out.","","","","","Does this polygon contain the point in its interior?","","","","An arbitrary placeholder value, when Option types aren’t …","","","","Returns the argument unchanged.","","Extracts all polygons from raw bytes representing a …","","","","","","","","Do two polygons intersect at all?","Does this polygon intersect a polyline?","Calls U::from(self).","","","Top-left at the origin. Doesn’t take Distance, because …","Top-left at the origin. Doesn’t take Distance, because …","When factor is known to be over 1, then scaling can’t …","A rectangle, two sides of which are fully rounded …","Find the “pole of inaccessibility” – the most …","","Top-left at the origin. Doesn’t take Distance, because …","","","","","","Top-left at the origin. Doesn’t take Distance, because …","When factor is small, this may collapse Rings and thus …","","If simplification fails, just keep the original polygon","","","Optionally map the world-space points back to GPS.","Creates the outline around the polygon (both the exterior …","","","Transformations must preserve Rings.","","","","","","","Union all of the polygons into one geo::MultiPolygon","","","","","","One or both args might be empty.","","","","","","","","Don’t draw the dashes too close to the ends.","First dedupes adjacent points","","","","An arbitrary placeholder value, when Option types aren’t …","","","No excess leftover distance allowed.","Glue together two polylines in order. The last point of …","If the current line is at least this long, return it. …","","","","","","","Like extend, but handles the last and first point not …","Returns the argument unchanged.","Returns the argument unchanged.","","Extracts all linestrings from raw bytes representing a …","","This does the equivalent of make_polygons, returning the …","Panics if the pt is not on the polyline. Returns None if …","Returns None if the point is the last point.","","Also return the angle of the line where the hit was found","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","If the length is too short, just give up and make the …","","This produces a Polygon with a valid Ring. It may crash if …","","Fail if the length is too short.","","","","Like extend, but panics on failure.","","","","","Extends self by a single point. If the new point is close …","Returns the angle from the start to end of this polyline.","","Returns the point on the polyline closest to the query.","","Returns the quadrant where the overall angle of this …","","Same as get_slice_ending_at, but returns None if the point …","Same as get_slice_starting_at, but returns None if the …","","","Perpendicularly shifts the polyline to the right if …","self represents some center, with total_width. Logically …","","","","","Returns the excess distance left over from the end","Walk along the PolyLine, starting buffer_ends from the …","Walk along the PolyLine, from start_buffer to …","Just produces a Tessellation","","Produces a GeoJSON linestring, optionally mapping the …","","","","","Like make_polygons, but make sure the points actually form …","","","","","","","","Doesn’t check for duplicates. Use at your own risk.","This represents world space, NOT LonLat.","This represents world-space in meters.","","","","","","","","","","","","","","","","","","Pretty meaningless units, for comparing distances very …","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","If distance is negative, this projects a point in …","","","Simplifies a list of points using Ramer-Douglas-Peuckr","","Can go out of bounds.","","","","","","","","","","","","","","","","","","","Maybe a misnomer, but like a PolyLine, but closed.","Be careful with the order of results. Hits on an earlier …","Print the coordinates of this ring as a geo::LineString …","","","","","","First dedupes adjacent points","","Look for “bad” rings that double back on themselves. …","","","","Returns the argument unchanged.","","Assuming both points are somewhere along the ring, return …","","Assuming both points are somewhere along the ring, return …","Calls U::from(self).","","","","","","","Find the “pole of inaccessibility” – the most …","","","Extract all PolyLines and Rings. Doesn’t handle crazy …","Produces a GeoJSON polygon, optionally mapping the …","Draws the ring with some thickness, with half of it …","","","Translates the ring by a fixed offset.","","","","","","In meters per second. Can be negative.","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","Describes the speed according to formatting rules.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","None if empty","","Could implement PartialEq, but be a bit more clear how …","","","","","","","","","","","","","A tessellated polygon, ready for rendering.","","","","","","","","","","","Returns (points, indices) for rendering","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","The points are not necessarily a Ring, which has strict …","","Groups of three indices make up the triangles","Equivalent to …","Calls U::from(self).","Calls U::from(self).","","","","These points aren’t in any meaningful order. It’s not …","","","","","","","","","","Produces a GeoJSON multipolygon consisting of individual …","","","","","","","","","","","","","","","","In seconds since midnight. Can’t be negative.","","","","","","","","","","","","","","","","Returns the argument unchanged.","Rounded down. 6:59:00 is hour 6.","(hours, minutes, seconds, centiseconds)","","For RNG range generation. Don’t abuse.","Calls U::from(self).","","","","","","","","","","","","","","","",""],"i":[15,20,33,38,39,41,32,60,38,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,57,57,57,57,57,0,0,0,0,0,0,0,0,0,0,48,0,0,1,2,1,2,2,2,0,26,0,1,2,1,2,0,56,2,1,0,0,0,0,2,1,2,2,55,36,0,0,0,55,56,28,1,2,1,2,24,40,0,24,56,23,23,19,19,1,1,56,23,23,19,19,0,28,0,0,0,44,44,44,40,29,36,26,0,25,1,1,0,0,0,0,25,0,1,2,55,2,2,0,1,2,1,2,1,2,2,0,22,52,22,52,2,15,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,19,19,19,23,19,23,19,19,23,19,23,19,23,23,23,23,19,23,19,23,19,23,19,19,23,23,19,23,19,23,19,19,23,19,23,23,23,19,19,23,23,19,19,19,23,19,19,23,23,19,19,23,23,19,23,19,23,19,23,19,19,23,19,19,0,0,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,0,20,0,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,33,0,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,0,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,0,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,38,39,38,39,0,0,38,38,39,38,39,38,39,38,39,38,38,38,39,38,38,38,38,38,39,39,38,39,39,38,38,39,38,38,39,0,38,39,38,38,38,38,38,38,38,38,38,38,38,38,38,38,39,38,38,38,38,38,39,38,38,39,38,39,38,39,38,39,38,38,41,0,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,0,0,0,48,40,48,40,48,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,0,40,40,40,48,40,40,40,40,40,40,40,40,40,40,48,40,40,48,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,0,40,40,40,40,48,40,48,40,48,40,40,0,0,22,22,22,22,52,22,52,22,22,52,22,52,52,22,22,22,52,22,22,22,52,22,22,22,52,52,22,52,22,52,22,22,52,22,22,22,22,22,22,22,22,52,52,22,22,52,22,52,22,52,22,22,52,22,22,52,22,0,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,0,57,57,57,57,57,57,0,56,57,57,56,57,56,57,56,57,56,57,56,56,56,56,57,57,57,57,56,55,55,56,57,56,57,56,56,56,56,57,56,56,56,56,57,57,56,57,55,57,56,57,56,57,56,0,0,28,44,28,44,28,28,44,28,44,28,28,28,0,28,28,44,28,28,28,44,28,28,28,28,28,44,28,44,28,28,44,44,44,28,28,28,28,28,28,28,28,44,28,28,28,28,44,28,44,28,44,28,28,60,60,0,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],0,0,0,0,0,[1,1],[2,2],[[]],[[]],0,0,[[],2],[[],[[3,[1]]]],[4,[[3,[5]]]],0,0,0,[[2,6],7],[[]],[[]],[5,2],[8],0,[[[10,[9]]],11],[10,11],0,[[]],0,0,[[]],[[]],[[],12],[[],12],0,0,0,0,0,0,0,0,0,[[],1],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,3],[[5,13],3],0,0,0,0,0,[[]],[[]],[[],8],0,0,[5,5],[[],3],[[],3],[[],3],[[],3],[[],14],[[],14],[5,2],0,0,0,0,0,[[],2],0,0,0,[[15,15],15],[[15,15,5],12],[[15,15,5],12],[[[10,[15]]],15],[[]],[[]],[15,15],[[]],[5,15],[[],[[3,[15]]]],[[15,15],12],[[15,6],7],[[15,6],7],[[]],[[]],[15,15],[[],12],[15,15],[5,15],[15,5],[15,5],[15,15],[[15,15],[[17,[16]]]],[15,15],[[15,5],15],[15,3],[[15,15],15],[[15,15],5],[[]],[[],18],[[],3],[[],3],[[],14],0,0,[[19,20]],[19,21],[[]],[[]],[[]],[[]],[19,22],[19,19],[23,23],[[]],[[]],[[19,22],12],[[23,24],12],[23,[[10,[22]]]],[23,[[10,[24]]]],[[23,5,5],24],[[],[[3,[19]]]],[[],[[3,[23]]]],[[19,19],12],[[23,23],12],[[19,6],7],[[23,6],7],[[]],[[],19],[[[10,[24]]],23],[[]],[[],19],[23,22],[19,25],[23,[[10,[24]]]],[19,5],[[]],[[]],[[],12],[[],12],0,0,0,0,0,0,0,0,[[],19],[[],23],[[19,5],19],[19,3],[23,3],[23,19],[19,26],[[]],[[]],[23,[[17,[[10,[22]]]]]],[[],3],[[],3],[[],3],[[],3],[[],14],[[],14],[[19,19]],[[19,22]],[[23,24]],[19,5],[[],19],0,0,[[]],[[]],0,[26,26],[[]],[[26,22],12],[[],[[3,[26]]]],[[26,6],7],[[26,6],7],[[]],[26,19],[[]],[[],12],[[22,20],26],0,[26,3],[[26,20],[[27,[25]]]],[[]],[[26,5],28],[26,25],[26,29],[[],18],[[],3],[[],3],[[],14],[[],30],0,0,0,[20,20],[[20,20],20],[[20,20]],[[]],[[]],[31,20],[20,20],[[]],[[20,20],16],[5,20],[[],20],[[],[[3,[20]]]],[[20,5],20],[[20,20],5],[[20,32],33],[[20,20],12],[5,20],[[20,6],7],[[20,6],7],[[]],[8,20],[8,20],[[],20],[5,20],[20,5],[[]],[[],12],[5,20],[5,20],[[20,5],20],[[20,5]],[20,20],[[20,20],[[17,[16]]]],[20,20],[[20,20],5],[20,3],[20,20],[[20,20],20],[[20,20]],[[],20],[20,5],[20,5],[[]],[[20,1],18],[[],18],[20,8],[20,8],[[],3],[[],3],[[],14],0,0,0,0,[33,33],[[33,33],33],[[33,33]],[[]],[[]],[33,33],[[]],[[33,33],16],[5,33],[[],33],[[],[[3,[33]]]],[[33,5],33],[[33,33],5],[[33,33],12],[[33,33],12],[5,33],[[33,6],7],[[33,6],7],[[]],[8,33],[8,33],[33],[[],33],[31,33],[33,5],[[]],[[],12],[[33,31]],[5,33],[31,33],[[33,32],20],[[33,5],33],[33,33],[33,31],[34,[[27,[33]]]],[[33,33],[[17,[16]]]],[35,33],[[33,33],33],[[33,33],33],[5,33],[33,3],[[33,33],33],[[33,33]],[[],33],[[]],[[33,31],18],[[],18],[[33,1],18],[33,8],[33,8],[[],3],[[],3],[[],14],0,[36],[[36,25]],[[36,22,20],10],[[36,25],10],[[]],[[]],[[36,22,20],17],[[]],0,[[]],[[],12],[19,36],0,[[],3],[[],3],[[],14],0,[[]],[[]],[[],24],[24,24],[[]],[[24,24],16],[[],[[3,[24]]]],[[24,24],12],[[24,24],[[37,[5]]]],[[24,6],7],[[24,6],7],[[]],[[24,24],20],[[]],[[],12],0,0,[[5,5],24],[18,[[27,[10]]]],[34,[[17,[[10,[24]]]]]],[[24,24],[[17,[16]]]],[34,[[27,[[10,[24]]]]]],[24,3],[24,9],[[]],[[24,23],22],[[],18],[[],3],[[],3],[[],14],[24,5],[24,5],0,0,0,0,0,0,[38,15],[[]],[[]],[[]],[[]],[38,38],[39,39],[[]],[[]],[[38,22],12],[[38,38],12],[[],[[3,[38]]]],[[],[[3,[39]]]],[[38,20],[[27,[22]]]],[[38,22],[[17,[20]]]],[[38,38],12],[[38,6],7],[[38,6],7],[[39,6],7],[[39,6],7],[[]],[[]],[[22,15],39],[38,39],[[38,38],[[17,[22]]]],[[39,39],[[17,[22]]]],[[38,39],[[17,[22]]]],[[]],[[]],[[22,22,22],12],[[],12],[[],12],[38,20],[[38,20],25],[38,[[27,[22]]]],[[38,20],22],[[22,22],38],[[22,22],[[27,[38]]]],[[38,5],[[27,[22]]]],[[38,22],[[17,[5]]]],[[38,5,5],[[27,[38]]]],[38,[[10,[22]]]],[38,22],[38,22],[38,38],[38,3],[39,3],[[38,20],38],[[38,20],38],[[38,20],38],[[38,20,20],[[27,[38]]]],[[]],[[]],[38,40],[[],18],[[],18],[[],3],[[],3],[[],3],[[],3],[[],14],[[],14],[[38,20],22],[[38,5],22],0,0,[[]],[[]],[41,41],[[]],[[41,41],12],[[41,6],7],[[]],[41,5],[31,41],[[]],[[],12],[[31,31],41],[[]],[[],18],[[],3],[[],3],[[],14],0,[25,5],[[]],[[]],[25,22],[[25,22],25],[[25,40],[[17,[[10,[22]]]]]],[[25,29],[[17,[[10,[22]]]]]],[25,25],[[]],[[[10,[22]],42],[[27,[25]]]],[[25,22],12],[[[10,[25]]],[[27,[25]]]],[[],[[3,[25]]]],[[25,25],[[27,[[10,[25]]]]]],[[],25],[[25,25],12],[[25,6],7],[[25,6],7],[[]],[[],[[27,[25]]]],[[23,12],[[27,[10]]]],[43,[[27,[[10,[25]]]]]],[[[10,[29]]],25],[44,25],[25,19],[25,29],[25],[[25,25],[[27,[[10,[25]]]]]],[[25,25],12],[[25,40],12],[[]],[25,29],[[],12],[[5,5],[[27,[25]]]],[[5,5,[45,[2]]],[[17,[25]]]],[[25,5],25],[[5,5],25],[25,22],[[[10,[29]],28],25],[[5,5],25],[[22,20,20],25],[[22,22],[[17,[25]]]],0,[[25,15],25],[[25,15,22],25],[[5,5,[45,[2]]],25],[[25,5],[[27,[25]]]],[25,3],[[25,5],25],0,[25,46],[[25,[17,[23]]],9],[[25,20],28],[[]],[[],18],[[25,47],[[27,[25]]]],[[25,5,5],25],[25,[[10,[44]]]],[46,[[27,[25]]]],[[],3],[[],3],[[],14],[[[10,[25]]],43],[[29,[10,[29]]],25],0,0,0,0,[[[10,[22]],[10,[22]]],[[27,[[10,[22]]]]]],[[]],[[]],[[]],[[]],[40,40],[[]],[[40,20,20,20,48],[[10,[25]]]],[[40,20,20,20],[[10,[25]]]],[[[10,[22]]],[[27,[40]]]],[[],[[3,[40]]]],[[40,20],27],[[40,22],17],[[],40],[[40,40],12],[[40,20,20,20],[[10,[25]]]],[[40,20,20],40],[[40,40],[[27,[40]]]],[[40,20],40],[40,[[27,[40]]]],[40,38],[40,22],[[40,40],[[27,[40]]]],[[40,6],7],[[40,6],7],[[40,40],[[27,[40]]]],[[]],[[]],[[49,[17,[23]]],[[27,[40]]]],[[23,12],[[27,[10]]]],[40,19],[[40,20],17],[[40,22],[[17,[40]]]],[[40,22],[[17,[40]]]],[[40,20],40],[[40,40],17],[[40,39],[[17,[22]]]],[[]],[[]],[40,[[10,[22]]]],[[],12],[[],12],[40,38],[40,22],[40,20],0,[40,50],[[40,20,48],25],[[40,20,48],25],[[40,20],25],[[40,20,20],[[27,[40]]]],[[40,20,48],[[17,[25]]]],[[40,12],40],[40,22],[[40,20]],[[40,40],40],[[[10,[22]]],40],[[40,20],40],[[40,20],40],[[[10,[22]]],[[27,[40]]]],[[40,22],40],[40,15],[40,10],[[40,22],22],0,[40,51],[40,40],[[40,22],[[17,[40]]]],[[40,22],[[17,[40]]]],[40,[[27,[40]]]],[40,3],[[40,20],[[27,[40]]]],[[40,20,20],[[27,[40]]]],[[40,20],[[27,[40]]]],[[40,20],[[27,[40]]]],[[40,20],[[27,[40]]]],[[40,20,5],[[27,[[10,[22]]]]]],[[40,20,20],27],[[40,20,20],10],[[40,20,20,20],10],[[40,20],28],[40,30],[[40,[17,[23]]],9],[[]],[[]],[[],18],[[40,20,20],[[17,[28]]]],[[40,20],29],[[40,22,22],40],[[],3],[[],3],[[],3],[[],3],[[],14],[[],14],[[[10,[22]]],40],0,0,[[22,22],15],[[[10,[22]],20],[[10,[22]]]],[[22,22,20],12],[[]],[[]],[[]],[[]],[[],22],[22,22],[52,52],[[]],[[]],[[52,52],16],[[],[[3,[22]]]],[[22,22],20],[[22,22],12],[[52,52],12],[[22,22],[[37,[5]]]],[[22,6],7],[[22,6],7],[[52,6],7],[53,22],[[]],[54,22],[[]],[52],[[]],[[]],[[],12],[[],12],[[5,5],22],[[22,5,5],22],[[52,52],[[17,[16]]]],[[22,20,15],22],[[22,22],5],[22,3],[[[10,[22]],5],[[10,[22]]]],[[22,[17,[23]]],9],[[22,23],24],[22,52],[[]],[[]],[52,22],[[],18],[[],3],[[],3],[[],3],[[],3],[[],14],[[],14],[22,5],0,0,[22,5],0,0,[[],22],0,[[29,40],[[10,[22]]]],[29,18],[[]],[[]],[29,29],[[]],[[29,22],12],[[[10,[22]]],[[27,[29]]]],[[],[[3,[29]]]],[29,12],[[29,29],12],[[29,6],7],[[29,6],7],[[]],[[29,22,22],17],[[29,22,22],[[17,[40]]]],[[29,22,22],[[17,[40]]]],[[29,22,22,12],[[17,[40]]]],[[]],[29,[[10,[22]]]],[29,25],[[],12],[[[10,[22]]],29],[[[10,[22]]],[[27,[29]]]],[29,10],[29,22],0,[29,3],[[],27],[[29,[17,[23]]],9],[[29,20],28],[[]],[[],18],[[29,5,5],29],[[],3],[30,[[27,[29]]]],[[],3],[[],14],0,0,0,[[32,32],32],[[]],[[]],[32,32],[[]],[[32,32],16],[5,32],[[],[[3,[32]]]],[[32,32],5],[[32,32],12],[[32,6],7],[[]],[[20,33],32],[32,5],[[]],[[],12],[5,32],[5,32],[5,32],[[32,5],32],[[32,33],20],[32,32],[[32,32],[[17,[16]]]],[32,3],[[32,32],32],[[]],[[32,1],18],[[],3],[[],3],[[],14],0,0,0,0,0,0,0,0,0,[[[56,[[55,[[55,[[55,[55]]]]]]]],[55,[[55,[[55,[[55,[55]]]]]]]]]],[[],[[10,[57]]]],[[]],[[]],[[]],[[]],[57,57],[[[56,[[0,[58,[55,[[0,[58,[55,[[0,[58,[55,[[0,[58,55]]]]]]]]]]]]]]]]],[[56,[[0,[58,[55,[[0,[58,[55,[[0,[58,[55,[[0,[58,55]]]]]]]]]]]]]]]]]],[[]],[[]],[[57,57],16],[[[56,[[55,[[55,[[55,[55]]]]]]]]],31],0,[[],[[56,[[55,[[55,[[55,[55]]]]]]]]]],[[[56,[[55,[[55,[[55,[55]]]]]]]]],18],[[],[[3,[57]]]],[[57,57],12],[[57,6],7],[[]],[[]],[8],[[]],0,[[]],[[]],[[],12],[[],12],0,0,[[],[[56,[[55,[[55,[[55,[55]]]]]]]]]],[[57,57],[[17,[16]]]],[[[56,[[55,[[55,[[55,[55]]]]]]]],5],[[17,[[55,[[55,[[55,[55]]]]]]]]]],[[[56,[[55,[[55,[[55,[55]]]]]]]],[55,[[55,[[55,[[55,[55]]]]]]]]]],[[[56,[[55,[[55,[[55,[55]]]]]]]],56],12],[[[56,[[55,[[55,[[55,[55]]]]]]]],57],[[17,[[55,[[55,[[55,[55]]]]]]]]]],[57,3],[[]],[[]],[[],18],[[],8],[[],3],[[],3],[[],3],[[],3],[[],14],[[],14],0,0,[[]],[[]],[[]],[[]],[28,22],[28,28],[44,44],[[]],[[]],[28],[[],[[3,[28]]]],[[28,28],[[27,[[10,[25]]]]]],[[[10,[31]]],[[10,[59]]]],[[28,28],12],[[28,6],7],[[44,6],7],[25,28],[46,28],[[]],[[]],[[[10,[22]]],28],[28,19],0,[[28,5,5,5,15,22]],[[]],[[]],[[],12],[[],12],[[[10,[22]],[10,[31]]],28],0,0,0,0,[[28,15]],[[28,15,22]],[[28,5]],[[28,5,5]],[28,3],[28,46],[[28,[17,[23]]],9],[[]],[[]],[[28,47]],[[28,5,5]],[28,[[10,[44]]]],[[],3],[[],3],[[],3],[[],3],[[],14],[[],14],[[28,28],28],[[[10,[28]]],28],0,0,0,[[60,33],60],[[60,33]],[60,18],[60,18],[[]],[[]],[[60,33],60],[60,60],[[]],[[60,60],16],[[],60],[[],[[3,[60]]]],[[60,60],12],[[60,6],7],[[60,6],7],[[]],[60,31],[60],[60],[60,5],[[]],[[],12],[34,[[27,[60]]]],[[60,60],[[17,[16]]]],[[60,5],60],[[60,5],60],[5,60],[60,3],[[60,33],60],[[60,60],33],[[]],[[60,60],5],[[],18],[[],3],[[],3],[[],14],[31,18]],"p":[[3,"UnitFmt"],[3,"CornerRadii"],[4,"Result"],[8,"Deserializer"],[15,"f64"],[3,"Formatter"],[6,"Result"],[15,"u64"],[3,"Geometry"],[3,"Vec"],[4,"GeoJson"],[15,"bool"],[8,"Serializer"],[3,"TypeId"],[3,"Angle"],[4,"Ordering"],[4,"Option"],[3,"String"],[3,"Bounds"],[3,"Distance"],[3,"Rect"],[3,"Pt2D"],[3,"GPSBounds"],[3,"LonLat"],[3,"Polygon"],[3,"Circle"],[6,"Result"],[3,"Tessellation"],[3,"Ring"],[3,"LineString"],[15,"usize"],[3,"Speed"],[3,"Duration"],[15,"str"],[6,"Instant"],[3,"FindClosest"],[3,"NotNan"],[3,"Line"],[3,"InfiniteLine"],[3,"PolyLine"],[3,"Percent"],[15,"u32"],[3,"MultiPolygon"],[3,"Triangle"],[8,"Into"],[3,"Polygon"],[8,"Fn"],[4,"ArrowCap"],[3,"Feature"],[8,"Iterator"],[15,"i64"],[3,"HashablePt2D"],[3,"Coordinate"],[3,"Point"],[8,"HgramValue"],[3,"Histogram"],[4,"Statistic"],[8,"Clone"],[15,"u16"],[3,"Time"]]},\ "headless":{"doc":"This runs a simulation without any graphics and serves a …","t":[3,3,3,3,3,3,3,3,3,3,3,3,3,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,12,12,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,5,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12],"n":["AgentPosition","AgentPositions","Args","BlockedByGraph","Delays","FinishedTrip","LOAD","LoadSim","MAP","RoadThroughput","SIM","Throughput","TrafficSignalState","__private_field","__private_field","__private_field","accepted","agents","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","blocked_by","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clap","counts","current_stage_idx","deref","deref","deref","deserialize","distance_crossed","distance_crossed","duration","edits","export_geometry","from","from","from","from","from","from","from","from","from","from","from","from","from","from_clap","handle_command","id","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","is_within","is_within","is_within","is_within","is_within","is_within","is_within","is_within","is_within","is_within","main","mode","modifiers","opts","opts","per_direction","per_direction","person","person","port","pos","remaining_time","rng_seed","rng_seed","scenario","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serve_req","setup","trip","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vehicle_type","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","waiting"],"q":["headless","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Each entry indicates that some agent has been stuck in one …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The distance crossed so far by the agent, in meters. There …","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","The agent’s ID","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","None for buses","What port to run the JSON API on.","The agent’s current position. For pedestrians, this is …","","An arbitrary number to seed the random number generator. …","","","","","","","","","","","","","None for buses","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","None for pedestrians","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,6,30,27,3,5,6,13,24,25,26,27,28,29,30,31,7,3,5,6,13,24,25,26,27,28,29,30,31,7,31,3,5,6,13,24,25,26,27,28,29,30,31,7,3,5,6,13,24,25,26,27,28,29,30,31,7,13,29,30,3,5,6,7,24,28,24,7,0,3,5,6,13,24,25,26,27,28,29,30,31,7,13,0,24,28,3,5,6,13,24,25,26,27,28,29,30,31,7,3,5,6,13,24,25,26,27,28,29,30,31,7,3,5,6,13,24,25,26,27,28,29,30,31,7,3,5,6,13,24,25,26,27,28,29,30,31,7,3,5,6,13,24,25,26,27,28,29,30,31,7,0,24,7,13,7,25,26,24,28,13,28,30,13,7,7,24,25,26,27,28,29,30,31,0,7,28,3,5,6,13,24,25,26,27,28,29,30,31,7,3,5,6,13,24,25,26,27,28,29,30,31,7,3,5,6,13,24,25,26,27,28,29,30,31,7,28,3,5,6,13,24,25,26,27,28,29,30,31,7,30],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],2],0,0,[3,4],[5,4],[6,4],[[],[[8,[7]]]],0,0,0,0,[[9,10],11],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[12,13],[[14,15,16,9,7],[[18,[17]]]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[20,[19]]],[[20,[1,19]]]],[[[20,[19]]],[[20,[1,19]]]],[[[20,[19]]],[[20,[1,19]]]],[[[20,[19]]],[[20,[1,19]]]],[[[20,[19]]],[[20,[1,19]]]],[[[20,[19]]],[[20,[1,19]]]],[[[20,[19]]],[[20,[1,19]]]],[[[20,[19]]],[[20,[1,19]]]],[[[20,[19]]],[[20,[1,19]]]],[[[20,[19]]],[[20,[1,19]]]],[[[20,[19]]],[[20,[1,19]]]],[[[20,[19]]],[[20,[1,19]]]],[[[20,[19]]],[[20,[1,19]]]],[21,[[21,[1]]]],[21,[[21,[1]]]],[21,[[21,[1]]]],[21,[[21,[1]]]],[21,[[21,[1]]]],[21,[[21,[1]]]],[21,[[21,[1]]]],[21,[[21,[1]]]],[21,[[21,[1]]]],[21,[[21,[1]]]],[21,[[21,[1]]]],[21,[[21,[1]]]],[21,[[21,[1]]]],[22,[[22,[1]]]],[22,[[22,[1]]]],[22,[[22,[1]]]],[22,[[22,[1]]]],[22,[[22,[1]]]],[22,[[22,[1]]]],[22,[[22,[1]]]],[22,[[22,[1]]]],[22,[[22,[1]]]],[22,[[22,[1]]]],[22,[[22,[1]]]],[22,[[22,[1]]]],[22,[[22,[1]]]],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[24,8],[25,8],[26,8],[27,8],[28,8],[29,8],[30,8],[31,8],[[[33,[32]]],[[18,[[34,[32]],35]]]],[[7,36]],0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0],"p":[[8,"Any"],[3,"App"],[3,"MAP"],[3,"RwLock"],[3,"SIM"],[3,"LOAD"],[3,"LoadSim"],[4,"Result"],[3,"Map"],[3,"IntersectionID"],[4,"GeoJson"],[3,"ArgMatches"],[3,"Args"],[15,"str"],[3,"HashMap"],[3,"Sim"],[3,"String"],[6,"Result"],[3,"Global"],[3,"Box"],[3,"Arc"],[3,"Rc"],[15,"bool"],[3,"FinishedTrip"],[3,"Delays"],[3,"Throughput"],[3,"AgentPositions"],[3,"AgentPosition"],[3,"RoadThroughput"],[3,"TrafficSignalState"],[3,"BlockedByGraph"],[3,"Body"],[3,"Request"],[3,"Response"],[3,"Error"],[3,"Timer"],[3,"TypeId"]]},\ "importer":{"doc":"It’s assumed that the importer is run with the current …","t":[3,11,11,0,0,11,11,12,12,11,0,11,11,11,11,11,11,11,11,11,0,5,12,12,12,0,5,12,5,11,12,0,0,11,11,11,0,0,11,5,3,11,11,11,11,5,11,5,12,11,11,5,11,11,11,11,11,12,11,11,11,11,3,11,11,11,11,11,11,11,12,12,11,11,11,11,11,5,12,11,11,11,12,11,5,5,5,5,5,5,5,5,2,2,2,0,0,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,12,5,5,12,12,12,5,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,12,3,3,11,11,11,11,11,11,11,11,5,11,11,5,11,11,11,12,11,11,11,11,11,11,11,11,11,11,5,11,12,12,11,12,11,11,11,11,11,11,11,11,11,3,11,11,11,11,5,11,11,11,5,12,5,11,11,11,11,11,5,12,12,12,12,12,12,5,5,11,11,11,11,12,5,5,5,5,5],"n":["Job","as_any","as_any_mut","basemap","berlin","borrow","borrow_mut","city","city_overview","clap","configuration","flags","from","from_clap","full_for_city","into","into_any","into_any_arc","into_any_rc","is_within","map_config","oneshot","only_map","opts","osm_to_raw","pick_geofabrik","pick_geofabrik","raw_to_map","regenerate_everything","run","scenario","seattle","soundcast","try_from","try_into","type_id","uk","utils","vzip","override_sidewalk_widths","Record","as_any","as_any_mut","borrow","borrow_mut","correlate_population","deserialize","distribute_residents","e_e","fmt","from","import_extra_data","into","into_any","into_any_arc","into_any_rc","is_within","raumid","try_from","try_into","type_id","vzip","ImporterConfiguration","as_any","as_any_mut","borrow","borrow_mut","default","deserialize","from","gunzip","gunzip_args","into","into_any","into_any_arc","into_any_rc","is_within","load_configuration","osmium","try_from","try_into","type_id","unzip","vzip","config_for_map","find_matching_regions","load_remote_geojson","pick_geofabrik","adjust_private_parking","ensure_popdat_exists","input","match_parcels_to_buildings","PopDat","import_data","make_scenario","popdat","trips","Endpoint","OrigTrip","PopDat","RawParcel","RawTrip","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","depart_at","deptm","deserialize","deserialize","deserialize","deserialize","deserialize","dpcl","dpurp","fmt","fmt","fmt","fmt","from","from","from","from","from","from","get_mode","get_purpose","half","hh_p","hhno","import_data","import_parcels","import_trips","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_within","is_within","is_within","is_within","is_within","mode","mode","opcl","osm_building","parcel_id","parcelid","parkdy_p","parkhr_p","person","pno","pos","purpose","seq","serialize","serialize","serialize","to","to_owned","to_owned","tour","travdist","travtime","trip_dist","trip_time","trips","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","tseg","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","xcoord_p","ycoord_p","BorderSnapper","Trip","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","clip_trips","clone","clone_into","endpoints","fmt","from","from","from","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","is_within","is_within","make_scenario","new","orig","path","snap_border","to","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Record","as_any","as_any_mut","borrow","borrow_mut","check_sensor_data","deserialize","fmt","from","generate_scenario","home_zone","import_collision_data","into","into_any","into_any_arc","into_any_rc","is_within","load_study_area","num_bikers","num_drivers","num_pedestrians","num_transit1","num_transit2","num_transit3","parse_desire_lines","parse_zones","try_from","try_into","type_id","vzip","work_zone","download","download_kml","osm_to_raw","osmium","raw_to_map"],"q":["importer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","importer::basemap","importer::berlin","","","","","","","","","","","","","","","","","","","","","","importer::configuration","","","","","","","","","","","","","","","","","","","","","","importer::map_config","importer::pick_geofabrik","","","importer::seattle","","","","importer::soundcast","","","","","importer::soundcast::popdat","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","importer::soundcast::trips","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","importer::uk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","importer::utils","","","",""],"d":["A specification for importing all maps in a single city.","","","","","","","","Produce a city overview from all of the individual maps in …","","","Return the command-line flags that should produce this …","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","Transforms a .osm file to a map in one step.","Only process one map. If not specified, process all maps …","","Download all raw input files, then convert OSM to the …","","Given the path to a GeoJSON boundary polygon, return the …","Convert the RawMap to the final Map format.","Regenerate all maps and scenarios from scratch.","","Download trip demand data, then produce the typical …","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","Given the name of a map, configure its import.","","","Given the path to a GeoJSON boundary polygon, return the …","","Download and pre-process data needed to generate Seattle …","","Match OSM buildings to parcels, scraping the number of …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Transform the Seattle-wide Endpoints into specific …","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","If the output file doesn’t already exist, downloads the …","If the output file doesn’t already exist, downloads the …","Creates a RawMap from OSM and other input data.","Uses osmium to clip the input .osm (or .pbf) against a …","Converts a RawMap to a Map."],"i":[0,3,3,0,0,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,0,0,3,3,3,0,0,3,0,3,3,0,0,3,3,3,0,0,3,0,0,21,21,21,21,0,21,0,21,21,21,0,21,21,21,21,21,21,21,21,21,21,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,0,25,25,25,25,25,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,36,37,33,34,35,36,37,33,34,35,36,37,33,34,35,36,37,33,34,33,34,33,34,33,36,35,36,37,33,34,36,36,36,37,33,34,35,36,37,33,34,33,0,0,36,37,36,0,0,0,35,36,37,33,34,35,36,37,33,34,35,36,37,33,34,35,36,37,33,34,35,36,37,33,34,36,33,36,34,34,37,37,37,33,36,34,33,33,35,33,34,33,33,34,36,36,36,33,33,35,35,36,37,33,34,35,36,37,33,34,36,35,36,37,33,34,35,36,37,33,34,37,37,0,0,43,40,43,40,43,40,43,40,0,40,40,0,40,43,40,40,43,40,43,40,43,40,43,40,43,40,0,43,40,43,43,40,40,43,40,43,40,43,40,43,40,0,45,45,45,45,0,45,45,45,0,45,0,45,45,45,45,45,0,45,45,45,45,45,45,0,0,45,45,45,45,45,0,0,0,0,0],"f":[0,[[],1],[[],1],0,0,[[]],[[]],0,0,[[],2],0,[3,[[5,[4]]]],[[]],[6,3],[7,3],[[]],[[[9,[8]]],[[9,[1,8]]]],[10,[[10,[1]]]],[11,[[11,[1]]]],[[],12],0,[[4,[13,[4]],12,12,14]],0,0,0,0,[4,[[15,[4]]]],0,[[16,16]],[[3,17]],0,0,0,[[],18],[[],18],[[],19],0,0,[[]],[[20,4,17],15],0,[[],1],[[],1],[[]],[[]],[[4,4,17]],[[],[[18,[21]]]],[[20,17]],0,[[21,22],23],[[]],[[24,25,17]],[[]],[[[9,[8]]],[[9,[1,8]]]],[10,[[10,[1]]]],[11,[[11,[1]]]],[[],12],0,[[],18],[[],18],[[],19],[[]],0,[[],1],[[],1],[[]],[[]],[[],25],[[],[[18,[25]]]],[[]],0,0,[[]],[[[9,[8]]],[[9,[1,8]]]],[10,[[10,[1]]]],[11,[[11,[1]]]],[[],12],[[],25],0,[[],18],[[],18],[[],19],0,[[]],[26,27],[[28,29],5],[[4,30],[[15,[28]]]],[4,[[15,[4]]]],[[20,31]],[[17,25,12,12]],[[25,17]],[[20,32,17]],0,0,0,0,0,0,0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[33,33],[34,34],[[]],[[]],0,0,[[],[[18,[35]]]],[[],[[18,[36]]]],[[],[[18,[37]]]],[[],[[18,[33]]]],[[],[[18,[34]]]],0,0,[[36,22],23],[[37,22],23],[[33,22],23],[[34,22],23],[[]],[[]],[[]],[[]],[[]],0,[30,38],[30,39],0,0,0,[[20,17],35],[[20,17]],[[20,17],[[5,[33]]]],[[]],[[]],[[]],[[]],[[]],[[[9,[8]]],[[9,[1,8]]]],[[[9,[8]]],[[9,[1,8]]]],[[[9,[8]]],[[9,[1,8]]]],[[[9,[8]]],[[9,[1,8]]]],[[[9,[8]]],[[9,[1,8]]]],[10,[[10,[1]]]],[10,[[10,[1]]]],[10,[[10,[1]]]],[10,[[10,[1]]]],[10,[[10,[1]]]],[11,[[11,[1]]]],[11,[[11,[1]]]],[11,[[11,[1]]]],[11,[[11,[1]]]],[11,[[11,[1]]]],[[],12],[[],12],[[],12],[[],12],[[],12],0,0,0,0,0,0,0,0,0,0,0,0,0,[35,18],[33,18],[34,18],0,[[]],[[]],0,0,0,0,0,0,[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],0,[[],19],[[],19],[[],19],[[],19],[[],19],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[20,35,20,12,17],[[5,[40]]]],[40,40],[[]],[[34,34,20,41,42,13,12],13],[[40,22],23],[[]],[[]],0,[[]],[[]],[[[9,[8]]],[[9,[1,8]]]],[[[9,[8]]],[[9,[1,8]]]],[10,[[10,[1]]]],[10,[[10,[1]]]],[11,[[11,[1]]]],[11,[[11,[1]]]],[[],12],[[],12],[[30,20,35,20,17],31],[[34,34,42,13],[[13,[43]]]],0,0,[[43,12,20,13],[[13,[44]]]],0,[[]],[[],18],[[],18],[[],18],[[],18],[[],19],[[],19],[[]],[[]],0,[[],1],[[],1],[[]],[[]],[[20,31,30,17]],[[],[[18,[45]]]],[[45,22],23],[[]],[[20,25,17],15],0,[[24,25,17]],[[]],[[[9,[8]]],[[9,[1,8]]]],[10,[[10,[1]]]],[11,[[11,[1]]]],[[],12],[20,[[15,[46]]]],0,0,0,0,0,0,[4,[[15,[[5,[47]]]]]],[[48,4],[[15,[[41,[4,46]]]]]],[[],18],[[],18],[[],19],[[]],0,[[25,4,30]],[[4,30,48,12,17]],[[26,17,25],24],[[4,4,4,25]],[[26,14,17],20]],"p":[[8,"Any"],[3,"App"],[3,"Job"],[3,"String"],[3,"Vec"],[3,"ArgMatches"],[3,"CityName"],[3,"Global"],[3,"Box"],[3,"Arc"],[3,"Rc"],[15,"bool"],[4,"Option"],[3,"RawToMapOptions"],[6,"Result"],[15,"usize"],[3,"Timer"],[4,"Result"],[3,"TypeId"],[3,"Map"],[3,"Record"],[3,"Formatter"],[6,"Result"],[3,"RawMap"],[3,"ImporterConfiguration"],[3,"MapName"],[3,"Options"],[4,"GeoJson"],[3,"LonLat"],[15,"str"],[3,"Scenario"],[3,"ExtraShapes"],[3,"OrigTrip"],[3,"Endpoint"],[3,"PopDat"],[3,"RawTrip"],[3,"RawParcel"],[4,"TripMode"],[4,"TripPurpose"],[3,"Trip"],[3,"HashMap"],[4,"PathConstraints"],[3,"BorderSnapper"],[4,"TripEndpoint"],[3,"Record"],[3,"Polygon"],[3,"DesireLine"],[3,"GPSBounds"]]},\ "kml":{"doc":"","t":[3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,5,12,5,11,11,12,11,11,11,11,11,11,11],"n":["ExtraShape","ExtraShapes","attributes","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","deserialize","fmt","from","from","into","into","is_within","is_within","load","load_csv","load_geojson_no_clipping","parse_pt","points","recurse","serialize","serialize","shapes","to_owned","try_from","try_from","try_into","try_into","type_id","type_id"],"q":["kml","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["A single object in the dataset.","Some dataset imported from KML, CSV, or something else. If …","Arbitrary key/value pairs associated with this object; no …","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","Parses a .kml file and returns ExtraShapes. Objects will …","Parses a .csv file and returns ExtraShapes. Each record …","Parses a .geojson file and returns ExtraShapes","","The object has a different inferred shape depending on the …","","","","","","","","","","",""],"i":[0,0,1,2,1,2,1,1,1,2,1,1,2,1,2,1,2,1,0,2,2,0,1,0,2,1,2,1,2,1,2,1,2,1],"f":[0,0,0,[[]],[[]],[[]],[[]],[1,1],[[]],[[],[[3,[2]]]],[[],[[3,[1]]]],[[1,4],5],[[]],[[]],[[]],[[]],[[],6],[[],6],[[7,8,6,9],[[10,[2]]]],[[7,8,9],[[10,[2]]]],[[7,8,6],[[10,[2]]]],[11,[[13,[12]]]],0,[[14,15,16,17,8,6],10],[2,3],[1,3],0,[[]],[[],3],[[],3],[[],3],[[],3],[[],18],[[],18]],"p":[[3,"ExtraShape"],[3,"ExtraShapes"],[4,"Result"],[3,"Formatter"],[6,"Result"],[15,"bool"],[3,"String"],[3,"GPSBounds"],[3,"Timer"],[6,"Result"],[15,"str"],[3,"LonLat"],[4,"Option"],[3,"Node"],[3,"Vec"],[15,"usize"],[3,"BTreeMap"],[3,"TypeId"]]},\ diff --git a/rustdoc/source-files.js b/rustdoc/source-files.js index acb1a70fdb..01fc5f2c4f 100644 --- a/rustdoc/source-files.js +++ b/rustdoc/source-files.js @@ -6,7 +6,7 @@ var sourcesIndex = JSON.parse('{\ "convert_osm":["",[],["elevation.rs","extract.rs","gtfs.rs","lib.rs","parking.rs"]],\ "fifteen_min":["",[],["bus.rs","find_amenities.rs","find_home.rs","isochrone.rs","lib.rs","viewer.rs"]],\ "game":["",[["challenges",[],["cutscene.rs","mod.rs","prebake.rs"]],["common",[],["mod.rs","route_sketcher.rs","select.rs","share.rs","warp.rs"]],["debug",[],["blocked_by.rs","blockfinder.rs","floodfill.rs","mod.rs","objects.rs","path_counter.rs","polygons.rs","routes.rs","select_roads.rs","uber_turns.rs"]],["devtools",[],["collisions.rs","compare_counts.rs","destinations.rs","kml.rs","mod.rs","polygon.rs","scenario.rs","story.rs"]],["edit",[["traffic_signals",[],["edits.rs","gmns.rs","mod.rs","offsets.rs","picker.rs","preview.rs"]]],["crosswalks.rs","mod.rs","multiple_roads.rs","roads.rs","routes.rs","stop_signs.rs","validate.rs","zones.rs"]],["info",[],["building.rs","debug.rs","intersection.rs","lane.rs","mod.rs","parking_lot.rs","person.rs","transit.rs","trip.rs"]],["layer",[],["elevation.rs","favorites.rs","map.rs","mod.rs","pandemic.rs","parking.rs","population.rs","problems.rs","problems_diff.rs","traffic.rs","transit.rs"]],["pregame",[],["mod.rs","proposals.rs"]],["sandbox",[["dashboards",[],["commuter.rs","generic_trip_table.rs","misc.rs","mod.rs","mode_shift.rs","parking_overhead.rs","risks.rs","selector.rs","traffic_signals.rs","travel_times.rs","trip_problems.rs","trip_table.rs"]],["gameplay",[["freeform",[],["area_spawner.rs","importers.rs","mod.rs","spawner.rs"]]],["actdev.rs","commute.rs","fix_traffic_signals.rs","mod.rs","play_scenario.rs","tutorial.rs"]]],["minimap.rs","misc_tools.rs","mod.rs","speed.rs","time_warp.rs"]],["ungap",[["trip",[],["mod.rs","results.rs"]]],["bike_network.rs","explore.rs","layers.rs","mod.rs","predict.rs","quick_sketch.rs"]]],["app.rs","lib.rs"]],\ -"geom":["",[],["angle.rs","bounds.rs","circle.rs","conversions.rs","distance.rs","duration.rs","find_closest.rs","gps.rs","lib.rs","line.rs","percent.rs","polygon.rs","polyline.rs","pt.rs","ring.rs","speed.rs","stats.rs","tessellation.rs","time.rs"]],\ +"geom":["",[],["angle.rs","bounds.rs","circle.rs","conversions.rs","distance.rs","duration.rs","find_closest.rs","gps.rs","lib.rs","line.rs","percent.rs","polygon.rs","polyline.rs","pt.rs","ring.rs","speed.rs","stats.rs","tessellation.rs","time.rs","utils.rs"]],\ "headless":["",[],["main.rs"]],\ "importer":["",[["soundcast",[],["mod.rs","popdat.rs","trips.rs"]]],["basemap.rs","berlin.rs","configuration.rs","lib.rs","map_config.rs","pick_geofabrik.rs","seattle.rs","uk.rs","utils.rs"]],\ "kml":["",[],["lib.rs"]],\ diff --git a/rustdoc/src/game/app.rs.html b/rustdoc/src/game/app.rs.html index 5e876c964d..a6c9f093b7 100644 --- a/rustdoc/src/game/app.rs.html +++ b/rustdoc/src/game/app.rs.html @@ -902,7 +902,7 @@ use structopt::StructOpt; use abstio::MapName; -use abstutil::Timer; +use abstutil::{Tags, Timer}; use geom::{Bounds, Circle, Distance, Duration, FindClosest, Polygon, Pt2D, Time}; use map_gui::colors::ColorScheme; use map_gui::options::Options; @@ -1786,7 +1786,7 @@ map.get_gps_bounds(), require_in_bounds, )? { - map.hack_add_area(AreaType::StudyArea, polygon, tags); + map.hack_add_area(AreaType::StudyArea, polygon, Tags::new(tags)); } Ok(()) } diff --git a/rustdoc/src/geom/duration.rs.html b/rustdoc/src/geom/duration.rs.html index ddcea3881a..f404feb967 100644 --- a/rustdoc/src/geom/duration.rs.html +++ b/rustdoc/src/geom/duration.rs.html @@ -436,15 +436,12 @@ 436 437 438 -439
use std::{cmp, ops};
 
 use anyhow::Result;
 use instant::Instant;
 use serde::{Deserialize, Serialize};
 
-use abstutil::elapsed_seconds;
-
 use crate::{deserialize_f64, serialize_f64, trim_f64, Distance, Speed, UnitFmt};
 
 /// A duration, in seconds. Can be negative.
@@ -586,7 +583,8 @@
 
     /// Returns the duration elapsed from this moment in real time.
     pub fn realtime_elapsed(since: Instant) -> Duration {
-        Duration::seconds(elapsed_seconds(since))
+        let dt = since.elapsed();
+        Duration::seconds((dt.as_secs() as f64) + (f64::from(dt.subsec_nanos()) * 1e-9))
     }
 
     /// Rounds a duration up to the nearest whole number multiple.
diff --git a/rustdoc/src/geom/lib.rs.html b/rustdoc/src/geom/lib.rs.html
index e329f529f1..ccead82015 100644
--- a/rustdoc/src/geom/lib.rs.html
+++ b/rustdoc/src/geom/lib.rs.html
@@ -194,6 +194,9 @@
 194
 195
 196
+197
+198
+199
 
#![allow(clippy::new_without_default)]
 
 #[macro_use]
@@ -237,6 +240,7 @@
 mod stats;
 mod tessellation;
 mod time;
+mod utils;
 
 // About 0.4 inches... which is quite tiny on the scale of things. :)
 pub const EPSILON_DIST: Distance = Distance::const_meters(0.01);
@@ -373,9 +377,10 @@
             let input = rng.gen_range(-214_000.00..214_000.0);
             let trimmed = trim_f64(input);
             let json_roundtrip: f64 =
-                abstutil::from_json(abstutil::to_json(&trimmed).as_bytes()).unwrap();
+                serde_json::from_slice(serde_json::to_string(&trimmed).unwrap().as_bytes())
+                    .unwrap();
             let bincode_roundtrip: f64 =
-                abstutil::from_binary(&abstutil::to_binary(&trimmed)).unwrap();
+                bincode::deserialize(&bincode::serialize(&trimmed).unwrap()).unwrap();
             assert_eq!(json_roundtrip, trimmed);
             assert_eq!(bincode_roundtrip, trimmed);
         }
@@ -384,8 +389,9 @@
         let input = 1.2345678;
         let trimmed = trim_f64(input);
         let json_roundtrip: f64 =
-            abstutil::from_json(abstutil::to_json(&trimmed).as_bytes()).unwrap();
-        let bincode_roundtrip: f64 = abstutil::from_binary(&abstutil::to_binary(&trimmed)).unwrap();
+            serde_json::from_slice(serde_json::to_string(&trimmed).unwrap().as_bytes()).unwrap();
+        let bincode_roundtrip: f64 =
+            bincode::deserialize(&bincode::serialize(&trimmed).unwrap()).unwrap();
         assert_eq!(json_roundtrip, 1.2346);
         assert_eq!(bincode_roundtrip, 1.2346);
     }
diff --git a/rustdoc/src/geom/polygon.rs.html b/rustdoc/src/geom/polygon.rs.html
index 751691ae8e..ab931a9996 100644
--- a/rustdoc/src/geom/polygon.rs.html
+++ b/rustdoc/src/geom/polygon.rs.html
@@ -539,15 +539,13 @@
 539
 540
 541
-542
-
use std::fmt;
+
use std::collections::BTreeMap;
+use std::fmt;
 
 use anyhow::Result;
 use geo::{Area, BooleanOps, Contains, ConvexHull, Intersects, SimplifyVWPreserve};
 use serde::{Deserialize, Serialize};
 
-use abstutil::Tags;
-
 use crate::{
     Angle, Bounds, CornerRadii, Distance, GPSBounds, LonLat, PolyLine, Pt2D, Ring, Tessellation,
     Triangle,
@@ -977,7 +975,7 @@
         raw_bytes: &[u8],
         gps_bounds: &GPSBounds,
         require_in_bounds: bool,
-    ) -> Result<Vec<(Self, Tags)>> {
+    ) -> Result<Vec<(Self, BTreeMap<String, String>)>> {
         let raw_string = std::str::from_utf8(raw_bytes)?;
         let geojson = raw_string.parse::<geojson::GeoJson>()?;
         let features = match geojson {
@@ -1010,10 +1008,10 @@
                     continue;
                 };
                 if let Ok(ring) = Ring::new(pts) {
-                    let mut tags = Tags::empty();
+                    let mut tags = BTreeMap::new();
                     for (key, value) in feature.properties_iter() {
                         if let Some(value) = value.as_str() {
-                            tags.insert(key, value);
+                            tags.insert(key.to_string(), value.to_string());
                         }
                     }
                     results.push((ring.into_polygon(), tags));
diff --git a/rustdoc/src/geom/polyline.rs.html b/rustdoc/src/geom/polyline.rs.html
index d22a1d6409..96330dc04d 100644
--- a/rustdoc/src/geom/polyline.rs.html
+++ b/rustdoc/src/geom/polyline.rs.html
@@ -1205,17 +1205,13 @@
 1205
 1206
 1207
-1208
-1209
-
use std::collections::HashSet;
+
use std::collections::{BTreeMap, HashSet};
 use std::fmt;
 
 use anyhow::{Context, Result};
 use geo::prelude::ClosestPoint;
 use serde::{Deserialize, Serialize};
 
-use abstutil::Tags;
-
 use crate::{
     Angle, Bounds, Circle, Distance, GPSBounds, HashablePt2D, InfiniteLine, Line, LonLat, Polygon,
     Pt2D, Ring, Tessellation, EPSILON_DIST,
@@ -2302,7 +2298,7 @@
         raw_bytes: &[u8],
         gps_bounds: &GPSBounds,
         require_in_bounds: bool,
-    ) -> Result<Vec<(Self, Tags)>> {
+    ) -> Result<Vec<(Self, BTreeMap<String, String>)>> {
         let raw_string = std::str::from_utf8(raw_bytes)?;
         let geojson = raw_string.parse::<geojson::GeoJson>()?;
         let features = match geojson {
@@ -2331,10 +2327,10 @@
                 } else {
                     continue;
                 };
-                let mut tags = Tags::empty();
+                let mut tags = BTreeMap::new();
                 for (key, value) in feature.properties_iter() {
                     if let Some(value) = value.as_str() {
-                        tags.insert(key, value);
+                        tags.insert(key.to_string(), value.to_string());
                     }
                 }
                 results.push((Self::unchecked_new(pts), tags));
diff --git a/rustdoc/src/geom/stats.rs.html b/rustdoc/src/geom/stats.rs.html
index 789fe2a7e1..607ed19a6c 100644
--- a/rustdoc/src/geom/stats.rs.html
+++ b/rustdoc/src/geom/stats.rs.html
@@ -348,7 +348,7 @@
 
         format!(
             "{} count, 50%ile {}, 90%ile {}, 99%ile {}, min {}, mean {}, max {}",
-            abstutil::prettyprint_usize(self.count),
+            crate::utils::prettyprint_usize(self.count),
             self.select(Statistic::P50).unwrap(),
             self.select(Statistic::P90).unwrap(),
             self.select(Statistic::P99).unwrap(),
diff --git a/rustdoc/src/geom/utils.rs.html b/rustdoc/src/geom/utils.rs.html
new file mode 100644
index 0000000000..de07c25152
--- /dev/null
+++ b/rustdoc/src/geom/utils.rs.html
@@ -0,0 +1,34 @@
+utils.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+
// These're copied from abstutil! geom should be split into its own repository at some point, and
+// abstutil brings in too many dependencies.
+
+pub fn prettyprint_usize(x: usize) -> String {
+    let num = format!("{}", x);
+    let mut result = String::new();
+    let mut i = num.len();
+    for c in num.chars() {
+        result.push(c);
+        i -= 1;
+        if i > 0 && i % 3 == 0 {
+            result.push(',');
+        }
+    }
+    result
+}
+
+
\ No newline at end of file diff --git a/rustdoc/src/importer/uk.rs.html b/rustdoc/src/importer/uk.rs.html index cce4086832..2d8eb18a87 100644 --- a/rustdoc/src/importer/uk.rs.html +++ b/rustdoc/src/importer/uk.rs.html @@ -241,6 +241,10 @@ 241 242 243 +244 +245 +246 +247
use std::collections::HashMap;
 
 use anyhow::Result;
@@ -438,7 +442,11 @@
     for (polygon, tags) in
         Polygon::from_geojson_bytes(&abstio::slurp_file(path)?, gps_bounds, require_in_bounds)?
     {
-        zones.insert(tags.get_result("geo_code")?.to_string(), polygon);
+        if let Some(code) = tags.get("geo_code") {
+            zones.insert(code.to_string(), polygon);
+        } else {
+            bail!("Input is missing geo_code: {:?}", tags);
+        }
     }
     Ok(zones)
 }
diff --git a/rustdoc/src/kml/lib.rs.html b/rustdoc/src/kml/lib.rs.html
index 150ca7c954..fd5de8d22d 100644
--- a/rustdoc/src/kml/lib.rs.html
+++ b/rustdoc/src/kml/lib.rs.html
@@ -222,6 +222,9 @@
 222
 223
 224
+225
+226
+227
 
// TODO Time to rename this crate
 
 #[macro_use]
@@ -428,18 +431,21 @@
         let bytes = abstio::slurp_file(path)?;
         let mut shapes = Vec::new();
 
-        for (polygon, tags) in Polygon::from_geojson_bytes(&bytes, gps_bounds, require_in_bounds)? {
+        for (polygon, attributes) in
+            Polygon::from_geojson_bytes(&bytes, gps_bounds, require_in_bounds)?
+        {
             shapes.push(ExtraShape {
                 // Awkward, but we have to convert back
                 points: gps_bounds.convert_back(polygon.get_outer_ring().points()),
-                attributes: tags.into_inner(),
+                attributes,
             });
         }
-        for (pl, tags) in PolyLine::from_geojson_bytes(&bytes, gps_bounds, require_in_bounds)? {
+        for (pl, attributes) in PolyLine::from_geojson_bytes(&bytes, gps_bounds, require_in_bounds)?
+        {
             shapes.push(ExtraShape {
                 // Awkward, but we have to convert back
                 points: gps_bounds.convert_back(pl.points()),
-                attributes: tags.into_inner(),
+                attributes,
             });
         }
 
diff --git a/rustdoc/src/map_gui/home/runner/work/abstreet/abstreet/target/debug/build/map_gui-63c5bcb4b09cf8fd/out/built.rs.html b/rustdoc/src/map_gui/home/runner/work/abstreet/abstreet/target/debug/build/map_gui-63c5bcb4b09cf8fd/out/built.rs.html
index d4fd18fcc1..439edba08e 100644
--- a/rustdoc/src/map_gui/home/runner/work/abstreet/abstreet/target/debug/build/map_gui-63c5bcb4b09cf8fd/out/built.rs.html
+++ b/rustdoc/src/map_gui/home/runner/work/abstreet/abstreet/target/debug/build/map_gui-63c5bcb4b09cf8fd/out/built.rs.html
@@ -174,7 +174,7 @@
 pub const RUSTDOC_VERSION: &str = r"rustdoc 1.65.0 (897e37553 2022-11-02)";
 #[doc=r#"The build time in RFC2822, UTC."#]
 #[allow(dead_code)]
-pub const BUILT_TIME_UTC: &str = r"Sun, 13 Nov 2022 18:13:32 +0000";
+pub const BUILT_TIME_UTC: &str = r"Wed, 16 Nov 2022 22:04:43 +0000";
 #[doc=r#"The target architecture, given by `CARGO_CFG_TARGET_ARCH`."#]
 #[allow(dead_code)]
 pub const CFG_TARGET_ARCH: &str = r"x86_64";