diff --git a/DESCRIPTION b/DESCRIPTION index 36262f5..9590405 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: superblock Type: Package Title: Analyses of potential superblock -Version: 0.1.0.091 +Version: 0.1.0.103 Authors@R: person(given = "Mark", family = "Padgham", diff --git a/NAMESPACE b/NAMESPACE index 8626fa9..0f8e4d2 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -6,6 +6,7 @@ export(get_bbox) export(hws_to_polygons) export(no_building_floors) export(no_parking_ways) +export(sb_car_spaces_per_resident) export(sb_osmdata_extract) export(sb_parking_times) export(sb_summary) diff --git a/R/osmdata-extract.R b/R/osmdata-extract.R index 26447fd..1066ab0 100644 --- a/R/osmdata-extract.R +++ b/R/osmdata-extract.R @@ -33,6 +33,11 @@ sb_osmdata_extract <- function (bbox, hw_names, outer = TRUE) { parking_facilities <- extract_osm_parking_facilities (bbox) cli::cli_alert_success ("Extracted data on parking areas.") + # Extract tree and bicycle parking nodes + nodes <- extract_osm_nodes (bbox) + index <- sf::st_within (nodes, bounding_poly, sparse = FALSE) + nodes <- nodes [index, ] + list ( bbox = bbox, hw_names = hw_names, @@ -42,6 +47,7 @@ sb_osmdata_extract <- function (bbox, hw_names, outer = TRUE) { open_spaces = open_spaces, parking_areas = parking_areas, parking_facilities = parking_facilities, + nodes = nodes, dat_sc = dat_hw$dat_sc ) } @@ -81,7 +87,7 @@ extract_osm_highways <- function (bbox, bounding_poly) { nms <- names (hws) [which (!names (hws) == "geometry")] has_data <- vapply (nms, function (n) any (!is.na (hws [[n]])), logical (1L)) has_data <- c (which (has_data), which (nms == "geometry")) - hws [, has_data] + hws <- hws [, has_data] return (list (highways = hws, dat_sc = dat_sc)) } @@ -99,7 +105,13 @@ reduce_osm_highways <- function (hws, hw_names) { ) index <- which (hws$highway %in% c ("residential", "secondary", "tertiary")) hws_internal <- hws [index, ] - hws_internal [which (!hws_internal$name %in% hw_names), ] + hws <- hws_internal [which (!hws_internal$name %in% hw_names), ] + + # Then reduce cols again to only those with data: + index <- vapply (names (hws), function (n) any (!is.na (hws [[n]])), logical (1L)) + hws <- hws [, index] + + return (hws) } extract_osm_buildings <- function (bbox, bounding_poly) { @@ -194,3 +206,19 @@ extract_osm_parking_facilities <- function (bbox) { return (pts) } + +extract_osm_nodes <- function (bbox) { + + amenity <- natural <- osm_id <- NULL + + dat <- osmdata::opq (bbox) |> + osmdata::add_osm_features (list ( + natural = "tree", + amenity = "bicycle_parking" + )) |> + m_osmdata_sf () + + dat$osm_points |> + dplyr::filter (amenity == "bicycle_parking" | natural == "tree") |> + dplyr::select (osm_id, amenity, natural) +} diff --git a/R/parking-areas.R b/R/parking-areas.R index aba4702..cd4dcd6 100644 --- a/R/parking-areas.R +++ b/R/parking-areas.R @@ -7,6 +7,7 @@ car_parking_areas <- function (osmdat, add_parking_osm_ids = NULL) { hws$lanes <- as.numeric (hws$lanes) hws$road_area <- sf::st_length (hws) * units::set_units (hws$lanes * lane_width) hws <- parking_structure (hws) + hws <- reduce_parking_for_trees (hws, osmdat) if (!is.null (add_parking_osm_ids)) { index <- which (as.numeric (hws$parking_area) > 0) @@ -25,8 +26,9 @@ parking_structure <- function (hws) { # Depth of parking spaces out into the street depths <- c (3, 4, 5) # (parallel, diagonal, perpendicular) + angles <- c ("parallel", "diagonal", "perpenducular") # And equivalent lengths along the street - lengths <- c (5, 3, 3) + lengths <- c (5, 4, 3) parking <- sf::st_drop_geometry (hws [, grep ("parking", names (hws))]) hws <- hws [, which (!grepl ("parking", names (hws)))] @@ -48,15 +50,16 @@ parking_structure <- function (hws) { }) conditions <- do.call (cbind, conditions) - parking_space <- rep (0, nrow (parking)) + parking_depth <- parking_length <- rep (0, nrow (parking)) for (i in 2:4) { - parking_space [which (conditions [, i])] <- depths [i - 1L] + parking_depth [which (conditions [, i])] <- depths [i - 1L] + parking_length [which (conditions [, i])] <- lengths [i - 1L] } # And set any "no" or "false" flags to no parking space: parking_prohibited <- conditions [, 1] - return (cbind (parking_space, parking_prohibited)) + return (cbind (parking_depth, parking_length, parking_prohibited)) } dirs <- c ("left", "right", "both") @@ -71,10 +74,21 @@ parking_structure <- function (hws) { hws$parking_prohibited [parking_prohibited [[2]]] <- "right" hws$parking_prohibited [parking_prohibited [[3]]] <- "both" - parking_sides <- parking [[1]] [, 1] + parking [[2]] [, 1] + parking_sides <- parking [[1]] [, 1] + parking [[2]] [, 1] # [, 1] == depth parking_both <- parking [[3]] [, 1] * 2 - parking_space <- apply (cbind (parking_sides, parking_both), 1, max) - hws$parking_area <- sf::st_length (hws) * units::set_units (parking_space, "m") + parking_depth <- apply (cbind (parking_sides, parking_both), 1, max) + hws$parking_area <- sf::st_length (hws) * units::set_units (parking_depth, "m") + + # Add details of parking on each side: + hws$parking_left <- hws$parking_right <- NA_character_ + for (i in seq_along (depths)) { + index <- which (parking [[1]] [, 1] == depths [i]) + hws$parking_left [index] <- angles [i] + index <- which (parking [[2]] [, 1] == depths [i]) + hws$parking_right [index] <- angles [i] + index <- which (parking [[3]] [, 1] == depths [i]) + hws$parking_left [index] <- hws$parking_right [index] <- angles [i] + } # Then estimate number of parking spaces: hw_lens <- as.numeric (sf::st_length (hws)) @@ -82,7 +96,7 @@ parking_structure <- function (hws) { res <- lapply ( parking, function (p) { - index <- which (p [, 1] > 0 & p [, 1] %% l == 0) + index <- which (p [, 2] > 0 & p [, 2] %% l == 0) # [, 2] == length index_ids <- match (names (index), hws$osm_id) n <- floor (hw_lens [index_ids] / l) cbind (n, names (index)) @@ -104,3 +118,39 @@ parking_structure <- function (hws) { return (hws) } + +reduce_parking_for_trees <- function (hws, osmdat, buffer = 5) { + + nodes <- osmdat$nodes + # First reduce nodes to only those within buffer distance of hws: + dmat <- sf::st_distance (nodes, hws) + dmin <- apply (dmat, 1, min) + nodes <- nodes [which (dmin <= buffer), ] + + # Then map nodes to hws: + dmat <- sf::st_distance (nodes, hws) + index <- table (apply (dmat, 1, which.min)) + index <- data.frame ( + hw_num = as.integer (names (index)), + count = as.integer (index) + ) + node_counts <- rep (0, nrow (hws)) + node_counts [index$hw_num] <- index$count + + angles <- c ("parallel", "diagonal", "perpenducular") + reductions <- c (1, 2, 3) # reduction in parking spaces + + # Then presume nodes are evenly divided on both sides of each highway: + for (dir in c ("left", "right")) { + this_dir <- hws [[paste0 ("parking_", dir)]] + this_red <- reductions [match (this_dir, angles)] + this_red [is.na (this_red)] <- 0 + this_red [which (hws$num_parking_spaces == 0)] <- 0 + + hws$num_parking_spaces <- hws$num_parking_spaces - + this_red * node_counts / 2 + } + hws$num_parking_spaces <- floor (hws$num_parking_spaces) + + return (hws) +} diff --git a/R/population-estimate.R b/R/population-estimate.R index 7856e3f..d8578ba 100644 --- a/R/population-estimate.R +++ b/R/population-estimate.R @@ -1,3 +1,27 @@ +#' Estimate number of car spaces per resident +#' +#' @param osmdat Object returned from \link{sb_osmdata_extract}. +#' @return An estimate of numbers of parking spaces per resident. +#' @export +sb_car_spaces_per_resident <- function (osmdat) { + + a_per_res <- area_per_resident (osmdat) + a_per_res_floor <- 10 * floor (mean (a_per_res$floor) / 10) + a_per_res_roof <- 10 * floor (mean (a_per_res$roof) / 10) + + a_building <- building_areas (osmdat) + area_floor <- sum (a_building$floor) + area_roof <- sum (a_building$roof) + + num_res_floor <- as.numeric (area_floor) / a_per_res_floor + num_res_roof <- as.numeric (area_roof) / a_per_res_roof + num_res <- num_res_floor + num_res_roof + + p <- car_parking_areas (osmdat) + num_parking_spaces <- sum (p$num_parking_spaces) + num_parking_spaces / num_res +} + #' Estimate floor and roof area per resident. #' #' Uses example building with known numbers of residents, and which is typical @@ -5,45 +29,51 @@ #' @noRd area_per_resident <- function (osmdat) { - street <- "Papenburger Straße" - housenumber <- 2 num_residents_floors <- 21 num_residents_roof <- 2.5 + area <- 181 # m2 - b <- osmdat$buildings + b <- filter_residential_buildings (osmdat$buildings) + num_levels <- as.numeric (b$`building:levels`) + num_roof_levels <- as.numeric (b$`roof:levels`) - i <- which ( - b$`addr:street` == street & b$`addr:housenumber` == housenumber - ) - area <- sf::st_area (osmdat$buildings [i, ]) # in m^2 + # Replace missing values with averages: + num_levels_mn <- mean (num_levels, na.rm = TRUE) + num_roof_levels_mn <- mean (num_roof_levels, na.rm = TRUE) + num_levels <- ifelse (is.na (num_levels), num_levels_mn, num_levels) + num_roof_levels <- ifelse (is.na (num_roof_levels), num_roof_levels_mn, num_roof_levels) - num_levels <- as.numeric (b$`building:levels` [i]) - num_roof_levels <- as.numeric (b$`roof:levels` [i]) - num_roof_levels <- ifelse (is.na (num_roof_levels), 0, num_roof_levels) a_per_res_floors <- area * num_levels / num_residents_floors - a_per_res_floors <- 10 * floor (a_per_res_floors / 10) # This is artifically inflated, because roof areas are always smaller: a_per_res_roof <- area * num_roof_levels / num_residents_roof - a_per_res_roof <- 10 * floor (a_per_res_roof / 10) - c (floor = a_per_res_floors, roof = a_per_res_roof) + data.frame (osm_id = b$osm_id, floor = a_per_res_floors, roof = a_per_res_roof) } -building_areas <- function (osmdat) { +exclude_ground_floor <- c ("civic", "office", "retail", "supermarket") + +filter_residential_buildings <- function (b) { + + `addr:street` <- `addr:housenumber` <- NULL exclude <- c ("carport", "garage", "garages", "school", "shed", "yes") - b <- osmdat$buildings |> - dplyr::filter (!building %in% exclude) |> + b <- dplyr::filter (b, !building %in% exclude) |> dplyr::filter (!is.na (`addr:street`) & !is.na (`addr:housenumber`)) - exclude_ground_floor <- c ("civic", "office", "retail", "supermarket") num_levels <- as.numeric (b$`building:levels`) index <- which (b$building %in% exclude_ground_floor & num_levels == 1) if (length (index > 0)) { b <- b [-index, ] - num_levels <- as.numeric (b$`building:levels`) - index <- which (b$building %in% exclude_ground_floor) } + return (b) +} + +building_areas <- function (osmdat) { + + b <- filter_residential_buildings (osmdat$buildings) + + num_levels <- as.numeric (b$`building:levels`) + index <- which (b$building %in% exclude_ground_floor) num_levels [index] <- num_levels [index] - 1 num_roof_levels <- as.numeric (b$`roof:levels`) @@ -55,5 +85,5 @@ building_areas <- function (osmdat) { area_levels <- areas * num_levels area_roofs <- areas * num_roof_levels - c (floor = sum (area_levels), roof = sum (area_roofs)) + data.frame (osm_id = b$osm_id, floor = area_levels, roof = area_roofs) } diff --git a/R/summary.R b/R/summary.R index e5987b9..9888964 100644 --- a/R/summary.R +++ b/R/summary.R @@ -7,6 +7,7 @@ #' average values from all other ways which do have parking specified. #' @export sb_summary <- function (osmdat, hw_polygons = NULL, add_parking_osm_ids = NULL) { + if (is.null (hw_polygons)) { hw_polygons <- hws_to_polygons (osmdat) } diff --git a/codemeta.json b/codemeta.json index 164bb3b..186a7fe 100644 --- a/codemeta.json +++ b/codemeta.json @@ -7,7 +7,7 @@ "codeRepository": "https://github.com/UrbanAnalyst/superblock-ms", "issueTracker": "https://github.com/UrbanAnalyst/superblock-ms/issues", "license": "https://spdx.org/licenses/GPL-3.0", - "version": "0.1.0.091", + "version": "0.1.0.103", "programmingLanguage": { "@type": "ComputerLanguage", "name": "R", @@ -259,7 +259,7 @@ }, "SystemRequirements": {} }, - "fileSize": "4389.635KB", + "fileSize": "4436.035KB", "contIntegration": [ "https://github.com/UrbanAnalyst/superblock/actions/workflows/R-CMD-check.yaml", "https://app.codecov.io/gh/UrbanAnalyst/superblock" diff --git a/man/sb_car_spaces_per_resident.Rd b/man/sb_car_spaces_per_resident.Rd new file mode 100644 index 0000000..f6c4a2d --- /dev/null +++ b/man/sb_car_spaces_per_resident.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/population-estimate.R +\name{sb_car_spaces_per_resident} +\alias{sb_car_spaces_per_resident} +\title{Estimate number of car spaces per resident} +\usage{ +sb_car_spaces_per_resident(osmdat) +} +\arguments{ +\item{osmdat}{Object returned from \link{sb_osmdata_extract}.} +} +\value{ +An estimate of numbers of parking spaces per resident. +} +\description{ +Estimate number of car spaces per resident +} diff --git a/tests/testthat/helper-osmdata-memoise.R b/tests/testthat/helper-osmdata-memoise.R index 75335bd..d6e7276 100644 --- a/tests/testthat/helper-osmdata-memoise.R +++ b/tests/testthat/helper-osmdata-memoise.R @@ -27,4 +27,8 @@ memoise_osmdata_calls <- function (bbox, hw_names) { parking_facilities <- httptest2::with_mock_dir ("osm-parking-facilities", { extract_osm_parking_facilities (bbox) }) + + parking_facilities <- httptest2::with_mock_dir ("osm-nodes", { + extract_osm_nodes (bbox) + }) } diff --git a/tests/testthat/osm-nodes/overpass/interpreter-8fee03-POST.R b/tests/testthat/osm-nodes/overpass/interpreter-8fee03-POST.R new file mode 100644 index 0000000..1895591 --- /dev/null +++ b/tests/testthat/osm-nodes/overpass/interpreter-8fee03-POST.R @@ -0,0 +1,822 @@ +structure(list(method = "POST", url = "https://overpass/interpreter", + status_code = 200L, headers = structure(list(Server = "nginx/1.18.0", + Date = "Fri, 26 Sep 2025 13:57:53 GMT", `Content-Type` = "application/osm3s+xml", + `Transfer-Encoding` = "chunked", Connection = "keep-alive", + `Kumi-Overpass-Worker` = "h9"), class = "httr2_headers"), + body = as.raw(c(0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, + 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, + 0x67, 0x3d, 0x22, 0x55, 0x54, 0x46, 0x2d, 0x38, 0x22, 0x3f, + 0x3e, 0x0a, 0x3c, 0x6f, 0x73, 0x6d, 0x20, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x2e, 0x36, 0x22, + 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x3d, 0x22, 0x4f, 0x76, 0x65, 0x72, 0x70, 0x61, 0x73, 0x73, + 0x20, 0x41, 0x50, 0x49, 0x20, 0x30, 0x2e, 0x37, 0x2e, 0x36, + 0x31, 0x2e, 0x38, 0x20, 0x62, 0x31, 0x30, 0x38, 0x30, 0x61, + 0x62, 0x64, 0x22, 0x3e, 0x0a, 0x3c, 0x6e, 0x6f, 0x74, 0x65, + 0x3e, 0x54, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x73, 0x20, 0x66, + 0x72, 0x6f, 0x6d, 0x20, 0x77, 0x77, 0x77, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x6d, 0x61, + 0x70, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x73, 0x20, 0x6d, + 0x61, 0x64, 0x65, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, + 0x4f, 0x44, 0x62, 0x4c, 0x2e, 0x3c, 0x2f, 0x6e, 0x6f, 0x74, + 0x65, 0x3e, 0x0a, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6f, + 0x73, 0x6d, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x22, 0x32, + 0x30, 0x32, 0x32, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, + 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, + 0x2f, 0x3e, 0x0a, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, + 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x32, 0x33, 0x37, 0x38, + 0x38, 0x34, 0x38, 0x39, 0x38, 0x35, 0x22, 0x20, 0x6c, 0x61, + 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x35, 0x38, + 0x37, 0x35, 0x38, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, + 0x37, 0x2e, 0x36, 0x34, 0x32, 0x38, 0x32, 0x32, 0x37, 0x22, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, + 0x20, 0x6b, 0x3d, 0x22, 0x64, 0x65, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x75, + 0x72, 0x62, 0x61, 0x6e, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, + 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x65, 0x76, 0x65, 0x72, 0x67, + 0x72, 0x65, 0x65, 0x6e, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, + 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x20, 0x76, 0x3d, 0x22, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, + 0x6c, 0x65, 0x61, 0x76, 0x65, 0x64, 0x22, 0x2f, 0x3e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, + 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x22, + 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x65, 0x22, 0x2f, + 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, 0x65, + 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x32, 0x33, 0x37, 0x38, 0x38, 0x34, + 0x38, 0x39, 0x39, 0x30, 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, + 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x35, 0x38, 0x35, 0x35, + 0x34, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, + 0x36, 0x34, 0x32, 0x38, 0x30, 0x38, 0x35, 0x22, 0x3e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, + 0x3d, 0x22, 0x64, 0x65, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x75, 0x72, 0x62, + 0x61, 0x6e, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6c, 0x65, + 0x61, 0x66, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x22, 0x20, + 0x76, 0x3d, 0x22, 0x65, 0x76, 0x65, 0x72, 0x67, 0x72, 0x65, + 0x65, 0x6e, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6c, 0x65, + 0x61, 0x66, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x76, + 0x3d, 0x22, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x6c, 0x65, + 0x61, 0x76, 0x65, 0x64, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x22, 0x20, 0x76, + 0x3d, 0x22, 0x74, 0x72, 0x65, 0x65, 0x22, 0x2f, 0x3e, 0x0a, + 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a, + 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x32, 0x33, 0x37, 0x38, 0x38, 0x34, 0x39, 0x30, + 0x30, 0x34, 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, + 0x31, 0x2e, 0x39, 0x35, 0x35, 0x37, 0x35, 0x30, 0x39, 0x22, + 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, + 0x32, 0x38, 0x35, 0x35, 0x31, 0x22, 0x3e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, + 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x65, 0x76, 0x65, 0x72, 0x67, + 0x72, 0x65, 0x65, 0x6e, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, + 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x20, 0x76, 0x3d, 0x22, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, + 0x6c, 0x65, 0x61, 0x76, 0x65, 0x64, 0x22, 0x2f, 0x3e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, + 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x22, + 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x65, 0x22, 0x2f, + 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, 0x65, + 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x32, 0x33, 0x37, 0x38, 0x38, 0x34, + 0x39, 0x30, 0x31, 0x32, 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, + 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x35, 0x39, 0x30, 0x30, + 0x31, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, + 0x36, 0x34, 0x32, 0x39, 0x31, 0x35, 0x30, 0x22, 0x3e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, + 0x3d, 0x22, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x63, 0x79, 0x63, + 0x6c, 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x64, 0x65, 0x63, + 0x69, 0x64, 0x75, 0x6f, 0x75, 0x73, 0x22, 0x2f, 0x3e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, + 0x3d, 0x22, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, 0x72, 0x6f, 0x61, + 0x64, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x64, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x65, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, + 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x32, 0x33, 0x37, 0x38, 0x38, + 0x34, 0x39, 0x30, 0x31, 0x33, 0x22, 0x20, 0x6c, 0x61, 0x74, + 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x35, 0x37, 0x37, + 0x38, 0x31, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, + 0x2e, 0x36, 0x34, 0x32, 0x37, 0x37, 0x32, 0x30, 0x22, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x65, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, + 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x37, 0x30, 0x36, 0x38, 0x31, + 0x36, 0x34, 0x36, 0x32, 0x32, 0x22, 0x20, 0x6c, 0x61, 0x74, + 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x36, 0x36, 0x34, + 0x30, 0x37, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, + 0x2e, 0x36, 0x34, 0x32, 0x37, 0x39, 0x37, 0x39, 0x22, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x61, 0x6d, 0x65, 0x6e, 0x69, 0x74, 0x79, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, 0x69, 0x63, 0x79, 0x63, + 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, + 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, + 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x62, 0x69, 0x63, 0x79, + 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x6b, 0x69, 0x6e, + 0x67, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x6e, + 0x64, 0x73, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x63, 0x61, + 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x22, 0x20, 0x76, 0x3d, + 0x22, 0x36, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x65, 0x64, 0x22, 0x20, 0x76, 0x3d, 0x22, + 0x6e, 0x6f, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x66, 0x65, + 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x6e, 0x6f, 0x22, 0x2f, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, + 0x20, 0x6b, 0x3d, 0x22, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, + 0x69, 0x73, 0x65, 0x64, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x6e, + 0x6f, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, + 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, + 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x37, 0x30, 0x36, + 0x38, 0x31, 0x36, 0x34, 0x36, 0x32, 0x33, 0x22, 0x20, 0x6c, + 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x36, + 0x36, 0x34, 0x37, 0x30, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, + 0x22, 0x37, 0x2e, 0x36, 0x34, 0x32, 0x38, 0x35, 0x34, 0x37, + 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, + 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x64, 0x65, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x76, 0x3d, 0x22, + 0x61, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x22, 0x2f, 0x3e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, + 0x3d, 0x22, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x63, 0x79, 0x63, + 0x6c, 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x64, 0x65, 0x63, + 0x69, 0x64, 0x75, 0x6f, 0x75, 0x73, 0x22, 0x2f, 0x3e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, + 0x3d, 0x22, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, 0x72, 0x6f, 0x61, + 0x64, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x64, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x65, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, + 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x38, 0x39, 0x39, 0x36, 0x38, + 0x34, 0x31, 0x36, 0x34, 0x32, 0x22, 0x20, 0x6c, 0x61, 0x74, + 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x35, 0x39, 0x39, + 0x39, 0x36, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, + 0x2e, 0x36, 0x34, 0x33, 0x35, 0x36, 0x31, 0x35, 0x22, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x61, 0x6d, 0x65, 0x6e, 0x69, 0x74, 0x79, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, 0x69, 0x63, 0x79, 0x63, + 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, + 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, + 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x62, 0x69, 0x63, 0x79, + 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x6b, 0x69, 0x6e, + 0x67, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x6e, + 0x64, 0x73, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x63, 0x61, + 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x22, 0x20, 0x76, 0x3d, + 0x22, 0x31, 0x38, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x63, + 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x22, 0x20, 0x76, 0x3d, + 0x22, 0x6e, 0x6f, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x66, + 0x65, 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x6e, 0x6f, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, + 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x38, 0x39, 0x39, 0x36, 0x38, + 0x34, 0x31, 0x36, 0x34, 0x33, 0x22, 0x20, 0x6c, 0x61, 0x74, + 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x36, 0x36, 0x37, + 0x33, 0x38, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, + 0x2e, 0x36, 0x34, 0x32, 0x32, 0x33, 0x38, 0x39, 0x22, 0x2f, + 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x39, 0x30, 0x30, 0x33, 0x34, 0x37, + 0x31, 0x39, 0x30, 0x39, 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, + 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x36, 0x35, 0x33, 0x38, + 0x31, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, + 0x36, 0x34, 0x34, 0x34, 0x36, 0x30, 0x33, 0x22, 0x3e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, + 0x3d, 0x22, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, 0x72, 0x6f, 0x61, + 0x64, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x64, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x65, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, + 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x39, 0x39, 0x30, 0x33, 0x37, + 0x37, 0x35, 0x34, 0x38, 0x30, 0x22, 0x20, 0x6c, 0x61, 0x74, + 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x35, 0x36, 0x38, + 0x39, 0x35, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, + 0x2e, 0x36, 0x34, 0x33, 0x31, 0x33, 0x36, 0x38, 0x22, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, 0x72, 0x6f, + 0x61, 0x64, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x64, 0x22, 0x2f, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, + 0x20, 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, + 0x6c, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x65, + 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, + 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, + 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x39, 0x39, 0x30, 0x33, + 0x37, 0x37, 0x35, 0x34, 0x38, 0x31, 0x22, 0x20, 0x6c, 0x61, + 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x36, 0x30, + 0x33, 0x34, 0x36, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, + 0x37, 0x2e, 0x36, 0x34, 0x33, 0x30, 0x37, 0x34, 0x30, 0x22, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, + 0x20, 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, + 0x6c, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x65, + 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, + 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, + 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x39, 0x39, 0x30, 0x33, + 0x37, 0x37, 0x35, 0x34, 0x38, 0x32, 0x22, 0x20, 0x6c, 0x61, + 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x35, 0x36, + 0x35, 0x37, 0x35, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, + 0x37, 0x2e, 0x36, 0x34, 0x33, 0x32, 0x32, 0x31, 0x33, 0x22, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, + 0x20, 0x6b, 0x3d, 0x22, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, 0x72, + 0x6f, 0x61, 0x64, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x64, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, + 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x61, 0x6c, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, 0x65, + 0x65, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, + 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, + 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x39, 0x39, 0x30, + 0x33, 0x37, 0x37, 0x35, 0x34, 0x38, 0x33, 0x22, 0x20, 0x6c, + 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x36, + 0x30, 0x37, 0x32, 0x36, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, + 0x22, 0x37, 0x2e, 0x36, 0x34, 0x33, 0x35, 0x31, 0x31, 0x30, + 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, + 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6c, 0x65, 0x61, 0x66, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, + 0x72, 0x6f, 0x61, 0x64, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x64, + 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, + 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x61, 0x6c, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, + 0x65, 0x65, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, + 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, + 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x39, 0x39, + 0x30, 0x33, 0x37, 0x37, 0x35, 0x34, 0x38, 0x34, 0x22, 0x20, + 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, + 0x36, 0x30, 0x34, 0x32, 0x38, 0x22, 0x20, 0x6c, 0x6f, 0x6e, + 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, 0x33, 0x35, 0x39, 0x39, + 0x31, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, + 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6c, 0x65, 0x61, 0x66, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, + 0x62, 0x72, 0x6f, 0x61, 0x64, 0x6c, 0x65, 0x61, 0x76, 0x65, + 0x64, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x61, 0x6c, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, + 0x72, 0x65, 0x65, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, + 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, + 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x39, + 0x39, 0x30, 0x33, 0x37, 0x37, 0x35, 0x34, 0x38, 0x36, 0x22, + 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, + 0x35, 0x36, 0x35, 0x39, 0x35, 0x35, 0x22, 0x20, 0x6c, 0x6f, + 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, 0x35, 0x33, 0x38, + 0x33, 0x30, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x61, 0x6c, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, + 0x72, 0x65, 0x65, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, + 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, + 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x39, + 0x39, 0x30, 0x33, 0x37, 0x37, 0x35, 0x34, 0x39, 0x35, 0x22, + 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, + 0x35, 0x36, 0x33, 0x36, 0x31, 0x39, 0x22, 0x20, 0x6c, 0x6f, + 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, 0x34, 0x35, 0x39, + 0x34, 0x32, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x61, 0x6c, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, + 0x72, 0x65, 0x65, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, + 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, + 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x39, + 0x39, 0x35, 0x36, 0x33, 0x36, 0x30, 0x34, 0x31, 0x30, 0x22, + 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, + 0x35, 0x35, 0x38, 0x32, 0x35, 0x34, 0x22, 0x20, 0x6c, 0x6f, + 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, 0x31, 0x39, 0x31, + 0x30, 0x30, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x79, 0x65, + 0x73, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x61, 0x6d, 0x65, + 0x6e, 0x69, 0x74, 0x79, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, + 0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, + 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, + 0x62, 0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x20, 0x76, 0x3d, 0x22, + 0x73, 0x74, 0x61, 0x6e, 0x64, 0x73, 0x22, 0x2f, 0x3e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, + 0x3d, 0x22, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x31, 0x38, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x6e, 0x6f, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x66, 0x65, 0x65, 0x22, 0x20, 0x76, 0x3d, + 0x22, 0x6e, 0x6f, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6f, + 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x6f, 0x75, + 0x72, 0x73, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x32, 0x34, 0x2f, + 0x37, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x73, 0x75, 0x70, + 0x65, 0x72, 0x76, 0x69, 0x73, 0x65, 0x64, 0x22, 0x20, 0x76, + 0x3d, 0x22, 0x6e, 0x6f, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, + 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x22, 0x20, 0x76, + 0x3d, 0x22, 0x61, 0x73, 0x70, 0x68, 0x61, 0x6c, 0x74, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, + 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x39, 0x39, 0x36, 0x39, 0x34, + 0x31, 0x37, 0x34, 0x31, 0x32, 0x22, 0x20, 0x6c, 0x61, 0x74, + 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x35, 0x38, 0x37, + 0x39, 0x31, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, + 0x2e, 0x36, 0x34, 0x31, 0x37, 0x34, 0x31, 0x34, 0x22, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, + 0x20, 0x76, 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x61, 0x6d, 0x65, 0x6e, 0x69, 0x74, 0x79, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, 0x69, 0x63, 0x79, 0x63, + 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, + 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, + 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x62, 0x69, 0x63, 0x79, + 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x6b, 0x69, 0x6e, + 0x67, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x6e, + 0x64, 0x73, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x63, 0x61, + 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x22, 0x20, 0x76, 0x3d, + 0x22, 0x31, 0x38, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x63, + 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x22, 0x20, 0x76, 0x3d, + 0x22, 0x6e, 0x6f, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x66, + 0x65, 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x6e, 0x6f, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, + 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6f, 0x70, 0x65, 0x6e, 0x69, + 0x6e, 0x67, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x22, 0x20, + 0x76, 0x3d, 0x22, 0x32, 0x34, 0x2f, 0x37, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, + 0x73, 0x65, 0x64, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x6e, 0x6f, + 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, + 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x73, 0x75, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x61, 0x73, + 0x70, 0x68, 0x61, 0x6c, 0x74, 0x22, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, + 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x31, 0x30, 0x31, 0x32, 0x31, 0x33, 0x38, 0x38, 0x38, + 0x32, 0x30, 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, + 0x31, 0x2e, 0x39, 0x35, 0x36, 0x34, 0x32, 0x32, 0x32, 0x22, + 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, + 0x32, 0x34, 0x35, 0x33, 0x30, 0x22, 0x3e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, + 0x61, 0x6d, 0x65, 0x6e, 0x69, 0x74, 0x79, 0x22, 0x20, 0x76, + 0x3d, 0x22, 0x62, 0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, + 0x70, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x62, 0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, + 0x5f, 0x70, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x20, + 0x76, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x73, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, + 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x63, 0x61, 0x70, 0x61, 0x63, + 0x69, 0x74, 0x79, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x31, 0x30, + 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, + 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x65, 0x64, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x6e, 0x6f, + 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, + 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x66, 0x65, 0x65, 0x22, + 0x20, 0x76, 0x3d, 0x22, 0x6e, 0x6f, 0x22, 0x2f, 0x3e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, + 0x3d, 0x22, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, + 0x65, 0x64, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x6e, 0x6f, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, + 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x30, 0x31, 0x32, 0x31, + 0x33, 0x38, 0x38, 0x38, 0x32, 0x31, 0x22, 0x20, 0x6c, 0x61, + 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x36, 0x33, + 0x33, 0x34, 0x36, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, + 0x37, 0x2e, 0x36, 0x34, 0x32, 0x33, 0x36, 0x39, 0x39, 0x22, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, + 0x20, 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, + 0x6c, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x65, + 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, + 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, + 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x30, 0x31, 0x32, + 0x31, 0x33, 0x38, 0x38, 0x38, 0x32, 0x32, 0x22, 0x20, 0x6c, + 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x36, + 0x34, 0x35, 0x33, 0x37, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, + 0x22, 0x37, 0x2e, 0x36, 0x34, 0x32, 0x34, 0x39, 0x30, 0x36, + 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, + 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6c, 0x65, 0x61, 0x66, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, + 0x72, 0x6f, 0x61, 0x64, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x64, + 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, + 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x61, 0x6c, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, + 0x65, 0x65, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, + 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, + 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x30, + 0x31, 0x32, 0x31, 0x34, 0x30, 0x32, 0x36, 0x37, 0x33, 0x22, + 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, + 0x35, 0x36, 0x36, 0x35, 0x38, 0x34, 0x22, 0x20, 0x6c, 0x6f, + 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, 0x32, 0x32, 0x32, + 0x33, 0x33, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, + 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x30, + 0x31, 0x32, 0x31, 0x34, 0x30, 0x32, 0x36, 0x37, 0x34, 0x22, + 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, + 0x35, 0x36, 0x35, 0x39, 0x39, 0x33, 0x22, 0x20, 0x6c, 0x6f, + 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, 0x32, 0x33, 0x37, + 0x37, 0x35, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, + 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x30, + 0x31, 0x32, 0x31, 0x34, 0x30, 0x32, 0x36, 0x37, 0x35, 0x22, + 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, + 0x35, 0x36, 0x36, 0x31, 0x34, 0x37, 0x22, 0x20, 0x6c, 0x6f, + 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, 0x32, 0x33, 0x39, + 0x33, 0x31, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, + 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x30, + 0x31, 0x35, 0x34, 0x34, 0x39, 0x39, 0x37, 0x39, 0x36, 0x22, + 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, + 0x35, 0x35, 0x37, 0x34, 0x35, 0x30, 0x22, 0x20, 0x6c, 0x6f, + 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, 0x31, 0x38, 0x32, + 0x38, 0x36, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x61, 0x6d, 0x65, + 0x6e, 0x69, 0x74, 0x79, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, + 0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, + 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, + 0x62, 0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x20, 0x76, 0x3d, 0x22, + 0x73, 0x74, 0x61, 0x6e, 0x64, 0x73, 0x22, 0x2f, 0x3e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, + 0x3d, 0x22, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x31, 0x30, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x6e, 0x6f, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, + 0x73, 0x65, 0x64, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x6e, 0x6f, + 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, + 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, + 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x30, 0x31, 0x35, + 0x34, 0x36, 0x35, 0x32, 0x31, 0x32, 0x34, 0x22, 0x20, 0x6c, + 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x35, + 0x38, 0x32, 0x31, 0x35, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, + 0x22, 0x37, 0x2e, 0x36, 0x34, 0x33, 0x34, 0x31, 0x31, 0x35, + 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, + 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x61, 0x6d, 0x65, 0x6e, 0x69, + 0x74, 0x79, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, 0x69, 0x63, + 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x6b, 0x69, + 0x6e, 0x67, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x62, 0x69, + 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x6b, + 0x69, 0x6e, 0x67, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x73, 0x74, + 0x61, 0x6e, 0x64, 0x73, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, + 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x22, 0x20, + 0x76, 0x3d, 0x22, 0x31, 0x30, 0x22, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, + 0x22, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x22, 0x20, + 0x76, 0x3d, 0x22, 0x6e, 0x6f, 0x22, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, + 0x22, 0x66, 0x65, 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x6e, + 0x6f, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, + 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, + 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x30, 0x31, + 0x35, 0x34, 0x36, 0x35, 0x32, 0x31, 0x32, 0x36, 0x22, 0x20, + 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, + 0x35, 0x33, 0x33, 0x38, 0x38, 0x22, 0x20, 0x6c, 0x6f, 0x6e, + 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, 0x32, 0x38, 0x34, 0x32, + 0x39, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, + 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6c, 0x65, 0x61, 0x66, + 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x22, 0x20, 0x76, 0x3d, + 0x22, 0x64, 0x65, 0x63, 0x69, 0x64, 0x75, 0x6f, 0x75, 0x73, + 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, + 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6c, 0x65, 0x61, 0x66, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, + 0x62, 0x72, 0x6f, 0x61, 0x64, 0x6c, 0x65, 0x61, 0x76, 0x65, + 0x64, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x61, 0x6c, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, + 0x72, 0x65, 0x65, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, + 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, + 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, + 0x30, 0x31, 0x35, 0x34, 0x36, 0x35, 0x32, 0x31, 0x32, 0x37, + 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, + 0x39, 0x35, 0x35, 0x33, 0x31, 0x30, 0x37, 0x22, 0x20, 0x6c, + 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, 0x33, 0x30, + 0x31, 0x37, 0x33, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6c, 0x65, + 0x61, 0x66, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x22, 0x20, + 0x76, 0x3d, 0x22, 0x64, 0x65, 0x63, 0x69, 0x64, 0x75, 0x6f, + 0x75, 0x73, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6c, 0x65, + 0x61, 0x66, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x76, + 0x3d, 0x22, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x6c, 0x65, 0x61, + 0x76, 0x65, 0x64, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x22, 0x20, 0x76, 0x3d, + 0x22, 0x74, 0x72, 0x65, 0x65, 0x22, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, + 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x31, 0x30, 0x31, 0x35, 0x36, 0x33, 0x32, 0x39, 0x37, + 0x38, 0x31, 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, + 0x31, 0x2e, 0x39, 0x35, 0x36, 0x36, 0x39, 0x39, 0x32, 0x22, + 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, + 0x34, 0x35, 0x30, 0x38, 0x30, 0x22, 0x3e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, + 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x20, 0x76, 0x3d, 0x22, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x6c, + 0x65, 0x61, 0x76, 0x65, 0x64, 0x22, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, + 0x22, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x22, 0x20, + 0x76, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x65, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, + 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x31, 0x30, 0x31, 0x35, 0x36, 0x33, 0x32, + 0x39, 0x37, 0x38, 0x32, 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, + 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x36, 0x36, 0x37, 0x30, + 0x39, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, + 0x36, 0x34, 0x34, 0x36, 0x34, 0x39, 0x39, 0x22, 0x3e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, + 0x3d, 0x22, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, 0x72, 0x6f, 0x61, + 0x64, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x64, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x65, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, + 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x30, 0x31, 0x35, 0x36, + 0x33, 0x32, 0x39, 0x37, 0x38, 0x39, 0x22, 0x20, 0x6c, 0x61, + 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x36, 0x33, + 0x32, 0x38, 0x30, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, + 0x37, 0x2e, 0x36, 0x34, 0x33, 0x39, 0x34, 0x39, 0x30, 0x22, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, + 0x20, 0x6b, 0x3d, 0x22, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, 0x72, + 0x6f, 0x61, 0x64, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x64, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, + 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x61, 0x6c, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, 0x65, + 0x65, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, + 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, + 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x30, 0x31, + 0x35, 0x36, 0x39, 0x32, 0x39, 0x30, 0x34, 0x36, 0x22, 0x20, + 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, + 0x35, 0x39, 0x33, 0x39, 0x36, 0x22, 0x20, 0x6c, 0x6f, 0x6e, + 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, 0x31, 0x39, 0x37, 0x34, + 0x32, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, + 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x61, 0x6c, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, + 0x65, 0x65, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, + 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, + 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x30, + 0x31, 0x35, 0x36, 0x39, 0x32, 0x39, 0x30, 0x34, 0x37, 0x22, + 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, + 0x35, 0x35, 0x38, 0x34, 0x35, 0x34, 0x22, 0x20, 0x6c, 0x6f, + 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, 0x31, 0x37, 0x32, + 0x36, 0x31, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x61, 0x6c, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, + 0x72, 0x65, 0x65, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, + 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, + 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, + 0x30, 0x31, 0x35, 0x36, 0x39, 0x32, 0x39, 0x30, 0x34, 0x38, + 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, + 0x39, 0x35, 0x35, 0x37, 0x38, 0x35, 0x39, 0x22, 0x20, 0x6c, + 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, 0x31, 0x37, + 0x32, 0x32, 0x31, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x61, 0x6c, 0x22, 0x20, 0x76, 0x3d, 0x22, + 0x74, 0x72, 0x65, 0x65, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, + 0x3c, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, + 0x3c, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, + 0x31, 0x30, 0x31, 0x35, 0x36, 0x39, 0x32, 0x39, 0x30, 0x34, + 0x39, 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, + 0x2e, 0x39, 0x35, 0x35, 0x37, 0x38, 0x34, 0x32, 0x22, 0x20, + 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, 0x31, + 0x38, 0x32, 0x35, 0x34, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x22, 0x20, 0x76, 0x3d, + 0x22, 0x74, 0x72, 0x65, 0x65, 0x22, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, + 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x31, 0x30, 0x39, 0x34, 0x34, 0x38, 0x33, 0x33, 0x30, + 0x38, 0x36, 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, + 0x31, 0x2e, 0x39, 0x35, 0x35, 0x38, 0x31, 0x34, 0x38, 0x22, + 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, + 0x32, 0x36, 0x35, 0x32, 0x38, 0x22, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x31, 0x30, 0x39, 0x34, 0x34, 0x38, 0x33, 0x33, 0x30, + 0x38, 0x37, 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, + 0x31, 0x2e, 0x39, 0x35, 0x35, 0x38, 0x36, 0x32, 0x33, 0x22, + 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, + 0x32, 0x37, 0x30, 0x31, 0x30, 0x22, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x31, 0x30, 0x39, 0x34, 0x34, 0x38, 0x33, 0x33, 0x30, + 0x38, 0x38, 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, + 0x31, 0x2e, 0x39, 0x35, 0x35, 0x38, 0x35, 0x32, 0x35, 0x22, + 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, + 0x32, 0x37, 0x32, 0x36, 0x32, 0x22, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x31, 0x30, 0x39, 0x34, 0x34, 0x38, 0x33, 0x33, 0x30, + 0x38, 0x39, 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, + 0x31, 0x2e, 0x39, 0x35, 0x35, 0x38, 0x30, 0x35, 0x31, 0x22, + 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, + 0x32, 0x36, 0x37, 0x38, 0x30, 0x22, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x31, 0x30, 0x39, 0x34, 0x34, 0x38, 0x33, 0x37, 0x39, + 0x31, 0x33, 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, + 0x31, 0x2e, 0x39, 0x35, 0x36, 0x33, 0x39, 0x30, 0x39, 0x22, + 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, + 0x35, 0x30, 0x31, 0x30, 0x32, 0x22, 0x3e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, + 0x61, 0x6d, 0x65, 0x6e, 0x69, 0x74, 0x79, 0x22, 0x20, 0x76, + 0x3d, 0x22, 0x62, 0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, + 0x70, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, + 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x31, 0x30, 0x39, 0x38, 0x30, 0x37, 0x39, + 0x32, 0x30, 0x39, 0x31, 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, + 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x35, 0x34, 0x30, 0x38, + 0x32, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, + 0x36, 0x34, 0x34, 0x31, 0x32, 0x32, 0x39, 0x22, 0x3e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, + 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x22, + 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x65, 0x22, 0x2f, + 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, 0x65, + 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x31, 0x30, 0x39, 0x38, 0x30, 0x37, + 0x39, 0x32, 0x30, 0x39, 0x32, 0x22, 0x20, 0x6c, 0x61, 0x74, + 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x35, 0x33, 0x34, + 0x38, 0x35, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, 0x37, + 0x2e, 0x36, 0x34, 0x33, 0x39, 0x33, 0x39, 0x32, 0x22, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x65, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, 0x64, + 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, 0x65, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x30, 0x39, 0x38, 0x30, + 0x37, 0x39, 0x32, 0x30, 0x39, 0x33, 0x22, 0x20, 0x6c, 0x61, + 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x35, 0x34, + 0x36, 0x39, 0x36, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, 0x22, + 0x37, 0x2e, 0x36, 0x34, 0x33, 0x37, 0x37, 0x38, 0x34, 0x22, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, + 0x20, 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, + 0x6c, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x65, + 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6e, 0x6f, + 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, 0x6f, 0x64, + 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x31, 0x30, 0x31, + 0x33, 0x35, 0x30, 0x34, 0x38, 0x35, 0x39, 0x22, 0x20, 0x6c, + 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, 0x35, 0x35, + 0x36, 0x34, 0x30, 0x31, 0x22, 0x20, 0x6c, 0x6f, 0x6e, 0x3d, + 0x22, 0x37, 0x2e, 0x36, 0x34, 0x34, 0x36, 0x38, 0x30, 0x32, + 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, + 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6c, 0x65, 0x61, 0x66, 0x5f, + 0x63, 0x79, 0x63, 0x6c, 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, + 0x64, 0x65, 0x63, 0x69, 0x64, 0x75, 0x6f, 0x75, 0x73, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, + 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6c, 0x65, 0x61, 0x66, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, + 0x72, 0x6f, 0x61, 0x64, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x64, + 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, + 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x61, 0x6c, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x74, 0x72, + 0x65, 0x65, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, + 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x6e, + 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, 0x31, + 0x36, 0x33, 0x32, 0x34, 0x33, 0x35, 0x32, 0x38, 0x30, 0x22, + 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, 0x39, + 0x35, 0x35, 0x33, 0x36, 0x35, 0x36, 0x22, 0x20, 0x6c, 0x6f, + 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, 0x33, 0x31, 0x30, + 0x37, 0x35, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x79, 0x65, + 0x73, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x61, 0x6d, 0x65, + 0x6e, 0x69, 0x74, 0x79, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x62, + 0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, + 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, + 0x62, 0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x20, 0x76, 0x3d, 0x22, + 0x73, 0x74, 0x61, 0x6e, 0x64, 0x73, 0x22, 0x2f, 0x3e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, + 0x3d, 0x22, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x32, 0x36, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x6e, 0x6f, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x66, 0x65, 0x65, 0x22, 0x20, 0x76, 0x3d, + 0x22, 0x6e, 0x6f, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, + 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, + 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, + 0x31, 0x36, 0x33, 0x32, 0x34, 0x33, 0x35, 0x32, 0x38, 0x31, + 0x22, 0x20, 0x6c, 0x61, 0x74, 0x3d, 0x22, 0x35, 0x31, 0x2e, + 0x39, 0x35, 0x35, 0x34, 0x37, 0x34, 0x32, 0x22, 0x20, 0x6c, + 0x6f, 0x6e, 0x3d, 0x22, 0x37, 0x2e, 0x36, 0x34, 0x32, 0x38, + 0x33, 0x30, 0x33, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x79, + 0x65, 0x73, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x61, 0x6d, + 0x65, 0x6e, 0x69, 0x74, 0x79, 0x22, 0x20, 0x76, 0x3d, 0x22, + 0x62, 0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, + 0x22, 0x62, 0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, + 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x20, 0x76, 0x3d, + 0x22, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x73, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, + 0x6b, 0x3d, 0x22, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, + 0x79, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x31, 0x30, 0x22, 0x2f, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, + 0x20, 0x6b, 0x3d, 0x22, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, + 0x64, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x6e, 0x6f, 0x22, 0x2f, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, + 0x20, 0x6b, 0x3d, 0x22, 0x66, 0x65, 0x65, 0x22, 0x20, 0x76, + 0x3d, 0x22, 0x6e, 0x6f, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, + 0x3c, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x0a, 0x20, 0x20, + 0x3c, 0x77, 0x61, 0x79, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x31, + 0x31, 0x30, 0x36, 0x31, 0x31, 0x34, 0x31, 0x34, 0x37, 0x22, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6e, 0x64, 0x20, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x38, 0x39, 0x39, 0x36, 0x38, + 0x34, 0x31, 0x36, 0x34, 0x33, 0x22, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x3c, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x31, 0x30, 0x31, 0x32, 0x31, 0x34, 0x30, 0x32, + 0x36, 0x37, 0x35, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x3c, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x66, 0x3d, 0x22, + 0x31, 0x30, 0x31, 0x32, 0x31, 0x34, 0x30, 0x32, 0x36, 0x37, + 0x34, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x6e, 0x64, 0x20, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x31, 0x30, + 0x31, 0x32, 0x31, 0x34, 0x30, 0x32, 0x36, 0x37, 0x33, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6e, 0x64, + 0x20, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x38, 0x39, 0x39, 0x36, + 0x38, 0x34, 0x31, 0x36, 0x34, 0x33, 0x22, 0x2f, 0x3e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, + 0x3d, 0x22, 0x61, 0x6d, 0x65, 0x6e, 0x69, 0x74, 0x79, 0x22, + 0x20, 0x76, 0x3d, 0x22, 0x62, 0x69, 0x63, 0x79, 0x63, 0x6c, + 0x65, 0x5f, 0x70, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, + 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x62, 0x69, 0x63, 0x79, 0x63, + 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, + 0x22, 0x20, 0x76, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x6e, 0x64, + 0x73, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x63, 0x61, 0x70, + 0x61, 0x63, 0x69, 0x74, 0x79, 0x22, 0x20, 0x76, 0x3d, 0x22, + 0x31, 0x34, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x65, 0x64, 0x22, 0x20, 0x76, 0x3d, 0x22, + 0x6e, 0x6f, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x66, 0x65, + 0x65, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x6e, 0x6f, 0x22, 0x2f, + 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x77, 0x61, 0x79, 0x3e, + 0x0a, 0x20, 0x20, 0x3c, 0x77, 0x61, 0x79, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x31, 0x31, 0x37, 0x38, 0x31, 0x37, 0x39, 0x32, + 0x39, 0x31, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x6e, 0x64, 0x20, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x31, 0x30, + 0x39, 0x34, 0x34, 0x38, 0x33, 0x33, 0x30, 0x38, 0x36, 0x22, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6e, 0x64, + 0x20, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x31, 0x30, 0x39, 0x34, + 0x34, 0x38, 0x33, 0x33, 0x30, 0x38, 0x37, 0x22, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6e, 0x64, 0x20, 0x72, + 0x65, 0x66, 0x3d, 0x22, 0x31, 0x30, 0x39, 0x34, 0x34, 0x38, + 0x33, 0x33, 0x30, 0x38, 0x38, 0x22, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x3c, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x31, 0x30, 0x39, 0x34, 0x34, 0x38, 0x33, 0x33, + 0x30, 0x38, 0x39, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x3c, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x66, 0x3d, 0x22, + 0x31, 0x30, 0x39, 0x34, 0x34, 0x38, 0x33, 0x33, 0x30, 0x38, + 0x36, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x22, 0x20, 0x76, 0x3d, 0x22, 0x70, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, + 0x22, 0x61, 0x6d, 0x65, 0x6e, 0x69, 0x74, 0x79, 0x22, 0x20, + 0x76, 0x3d, 0x22, 0x62, 0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, + 0x5f, 0x70, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x2f, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, + 0x20, 0x6b, 0x3d, 0x22, 0x62, 0x69, 0x63, 0x79, 0x63, 0x6c, + 0x65, 0x5f, 0x70, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x22, + 0x20, 0x76, 0x3d, 0x22, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x6c, + 0x6f, 0x6f, 0x70, 0x73, 0x22, 0x2f, 0x3e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x74, 0x61, 0x67, 0x20, 0x6b, 0x3d, 0x22, + 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x22, 0x20, 0x76, + 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x3c, 0x2f, 0x77, 0x61, 0x79, 0x3e, 0x0a, 0x0a, 0x3c, + 0x2f, 0x6f, 0x73, 0x6d, 0x3e, 0x0a)), timing = c(redirect = 0, + namelookup = 0, connect = 0, pretransfer = 0.000072, starttransfer = 1.973307, + total = 1.973367), cache = new.env(parent = emptyenv())), class = "httr2_response") diff --git a/tests/testthat/osm-nodes/overpass/status.txt b/tests/testthat/osm-nodes/overpass/status.txt new file mode 100644 index 0000000..48fde86 --- /dev/null +++ b/tests/testthat/osm-nodes/overpass/status.txt @@ -0,0 +1,20 @@ +Connected as: 123456789 +Current time: 2022-01-01T00:00:00Z +Announced endpoint: none +Rate limit: 0 +Currently running queries (pid, space limit, time limit, start time): +2887611 536870912 15 2022-01-01T00:00:00Z +2887584 536870912 25 2022-01-01T00:00:00Z +2887630 536870912 25 2022-01-01T00:00:00Z +2887675 536870912 180 2022-01-01T00:00:00Z +2887171 536870912 180 2022-01-01T00:00:00Z +2886808 536870912 240 2022-01-01T00:00:00Z +2887038 536870912 240 2022-01-01T00:00:00Z +2886809 536870912 240 2022-01-01T00:00:00Z +2887333 536870912 15 2022-01-01T00:00:00Z +2887628 536870912 180 2022-01-01T00:00:00Z +2887292 536870912 180 2022-01-01T00:00:00Z +2887342 536870912 180 2022-01-01T00:00:00Z +2887343 536870912 180 2022-01-01T00:00:00Z +2887349 536870912 180 2022-01-01T00:00:00Z +2887354 536870912 180 2022-01-01T00:00:00Z diff --git a/tests/testthat/test-osmdata.R b/tests/testthat/test-osmdata.R index 1705748..42e3a90 100644 --- a/tests/testthat/test-osmdata.R +++ b/tests/testthat/test-osmdata.R @@ -19,7 +19,7 @@ test_that ("osm extraction", { nms <- c ( "bbox", "hw_names", "bounding_poly", "highways", "buildings", "open_spaces", "parking_areas", - "parking_facilities", "dat_sc" + "parking_facilities", "nodes", "dat_sc" ) expect_named (osmdat, nms)