diff --git a/DESCRIPTION b/DESCRIPTION index 427ae72..440d2fe 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: LightLogR Title: Work With Data from Wearable Light Loggers and Optical Radiation Dosimeters -Version: 0.2.1.9000 +Version: 0.2.2.9000 Authors@R: c( person("Johannes", "Zauner", email = "johannes.zauner@tum.de", role = c("aut", "cre"), @@ -12,7 +12,8 @@ Authors@R: c( email = "steffen.hartmeyer@epfl.ch", role = "aut", comment = c(ORCID = "0000-0002-2813-2668")), person("MeLiDos", role = "fnd"), - person("EURAMET", role = "fnd"), + person("EURAMET", role = "fnd", comment = "European Association of National Metrology Institutes. Website: www.euramet.org. Grant Number: 22NRM05 MeLiDos. Grant Statement: The project (22NRM05 MeLiDos) has received funding from the European Partnership on Metrology, co-financed from the European Union’s Horizon Europe Research and Innovation Programme and by the Participating States."), + person("European Union", role = "fnd", comment = "Co-funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or EURAMET. Neither the European Union nor the granting authority can be held responsible for them."), person("TSCN-Lab", comment = c(URL = "www.tscnlab.org"), role = "cph")) Description: LightLogR is a package under development as part of the MeLiDos project aimed at developing a standard workflow for wearable light logger diff --git a/NAMESPACE b/NAMESPACE index b73915e..c958614 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,34 +1,38 @@ # Generated by roxygen2: do not edit by hand export("%>%") -export(Brown.check) -export(Brown.rec) export(Brown2reference) +export(Brown_check) +export(Brown_rec) +export(Datetime_breaks) +export(Datetime_limits) export(aggregate_Datetime) export(bright_dark_period) -export(create_Time.data) +export(count_difftime) +export(create_Timedata) export(cut_Datetime) export(data2reference) export(dominant_epoch) export(duration_above_threshold) export(filter_Date) export(filter_Datetime) +export(filter_Datetime_multiple) export(filter_Time) export(gap_finder) export(gap_handler) export(gapless_Datetimes) export(gg_day) +export(gg_days) export(gg_overview) -export(import.ActLumus) -export(import.Dataset) -export(import.LYS) -export(import.Statechanges) export(interdaily_stability) -export(interval2state) export(intradaily_variability) -export(join.datasets) +export(import) +export(import_Dataset) +export(import_Statechanges) +export(interval2state) +export(join_datasets) export(sc2interval) -export(sleep.int2Brown) +export(sleep_int2Brown) export(symlog_trans) export(timing_above_threshold) importFrom(magrittr,"%>%") diff --git a/NEWS.md b/NEWS.md index d62f48b..d7821bf 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,23 @@ +# LightLogR 0.2.2.9000 + +* Bugfix for `LiDo` import + +* Added import support for new devices: `LiDo`, `DeLux`, and `Speccy` + +* Removed minor inconsistencies in naming conventions. Also, all imported columns will have syntactic naming now + +* Added an option to all `gap` functions, to extend the gapless Datetime range to full days. + # LightLogR 0.2.1.9000 +* Exports the up to now internal function `count_difftime()` that is the basis for `dominant_epoch()`. But whereas the latter gets only the most common epoch, `count_difftime()` returns a table with the counts of all epochs. This is useful in conjunction with `gap_finder()`, to check the distribution of data intervals. + +* Added the `gg_days()` function to visualize multiple days of data in a single plot. Alongside come two helper functions, `Datetime_limits()` and `Datetime_breaks()`, to set the limits and breaks of the x-axis. + +* Added the `filter_Datetime_multiple()` function to filter for multiple Datetime ranges depending on certain conditions, e.g. different filter cutoffs for different participants. It wraps around `filter_Datetime()` or `filter_Date()`. + +* Reworked the internals of the light logger data import functions. They now use a more straightforward function factory approach. For users the only visible change it that device specific functions now have the form `import$device()` instead of the old `import.device()`. + * Added the `symlog_trans()` function from a [post on stack overflow](https://stackoverflow.com/a/14674703). This function leads to a better visualization of light logger data, as a logarithmic transformation is necessary, but values of 0 are common. The function was integrated as a default for `gg_day()` and will likely be the basis of upcoming visualization functions. * Added the `aggregate_Datetime()` function to aggregate data to a given time interval. @@ -16,11 +34,11 @@ * To `filter_Datetime()` and `filter_Date()` added the option to filter for group specific dates. -* Added the family of functions around `States` and `Reference` to import, process, and add states to light logger data, like sleep/wake times, wear times, or other data. This family includes `import.Statechanges()`, `sc2interval()`, `ìnterval2state()`, `data2reference()`, `sleep.int2Brown()`, `Brown.check()`, `Brown.rec()`, and `Brown2reference()`. +* Added the family of functions around `States` and `Reference` to import, process, and add states to light logger data, like sleep/wake times, wear times, or other data. This family includes `import_Statechanges()`, `sc2interval()`, `ìnterval2state()`, `data2reference()`, `sleep_int2Brown()`, `Brown_check()`, `Brown_rec()`, and `Brown2reference()`. * Added the Article/Vignette "What´s in a Day" to demonstrate the LightLogR workflow. -* Added the convenience function `create_Time.data()` to create a Time-of-Day column in datasets. +* Added the convenience function `create_Timedata()` to create a Time-of-Day column in datasets. * Added the family of `filter_Datetime()`, `filter_Date()` and `filter_Time()` functions to easily filter datasets. @@ -30,7 +48,7 @@ * Added an automatic ID creation at import and streamlined the `import` functions. -* Added the function `join.datasets` to combine imported datasets with sensible constraints. +* Added the function `join_datasets` to combine imported datasets with sensible constraints. # LightLogR 0.1.1.9000 diff --git a/R/Brown.R b/R/Brown.R index 8c43f88..68f511f 100644 --- a/R/Brown.R +++ b/R/Brown.R @@ -6,7 +6,7 @@ #' that checks if the illuminance of the dataset is within the recommended #' illuminance levels, and a column that gives a label to the reference. #' -#' On a lower level, the function uses [Brown.rec()] and [Brown.check()] to +#' On a lower level, the function uses [Brown_rec()] and [Brown_check()] to #' create the required information. #' #' @param dataset A dataframe that contains a column with the Brown states @@ -20,10 +20,10 @@ #' throw an error. #' @param Reference.label The label that will be used for the reference. Expects #' a `character` scalar. -#' @param overwrite.Reference If `TRUE` (defaults to `FALSE`), the function will +#' @param overwrite If `TRUE` (defaults to `FALSE`), the function will #' overwrite the `Brown.rec.colname` column if it already exists. -#' @param ... Additional arguments that will be passed to [Brown.rec()] and -#' [Brown.check()]. This is only relevant to correct the names of the daytime +#' @param ... Additional arguments that will be passed to [Brown_rec()] and +#' [Brown_check()]. This is only relevant to correct the names of the daytime #' states or the thresholds used within these states. See the documentation of #' these functions for more information. #' @@ -46,7 +46,7 @@ Brown2reference <- function(dataset, Brown.state.colname = State.Brown, Brown.rec.colname = Reference, Reference.label = "Brown et al. (2022)", - overwrite.Reference = FALSE, + overwrite = FALSE, ...) { @@ -58,10 +58,10 @@ Brown2reference <- function(dataset, Reference.label.column.str <- paste0(Brown.rec.colname.str, ".check") #give an error or warning if the reference column is present - if(Brown.rec.colname.str %in% names(dataset) & !overwrite.Reference) - stop("A Reference column with the given (or default) name is already part of the dataset. Please remove the column, choose a different name, or set `overwrite.Reference = TRUE`") + if(Brown.rec.colname.str %in% names(dataset) & !overwrite) + stop("A Reference column with the given (or default) name is already part of the dataset. Please remove the column, choose a different name, or set `overwrite = TRUE`") if(Brown.rec.colname.str %in% names(dataset)) - warning("A Reference column with the given (or default) name is already part of the dataset. It is overwritten, because `overwrite.Reference = TRUE ` was set.") + warning("A Reference column with the given (or default) name is already part of the dataset. It is overwritten, because `overwrite = TRUE ` was set.") stopifnot( "dataset is not a dataframe" = is.data.frame(dataset), @@ -71,8 +71,8 @@ Brown2reference <- function(dataset, Brown.state.colname.defused %in% names(dataset), "MEDI.colname must be a numeric column" = is.numeric(dataset[[MEDI.colname.defused]]), - "overwrite.Reference must be a logical" = - is.logical(overwrite.Reference) + "overwrite must be a logical" = + is.logical(overwrite) ) #check whether the dataset has the right labels @@ -83,7 +83,7 @@ Brown2reference <- function(dataset, dataset <- dataset %>% dplyr::mutate( {{ Brown.rec.colname }} := - Brown.rec(state = {{ Brown.state.colname }}, + Brown_rec(state = {{ Brown.state.colname }}, ...) ) @@ -91,7 +91,7 @@ Brown2reference <- function(dataset, dataset <- dataset %>% dplyr::mutate( !!Reference.label.column.str := - Brown.check( + Brown_check( value = {{ MEDI.colname }}, state = {{ Brown.state.colname }}, ...) @@ -135,10 +135,10 @@ Brown2reference <- function(dataset, #' @examples #' states <- c("day", "evening", "night", "day") #' values <- c(100, 10, 1, 300) -#' Brown.check(values, states) -#' Brown.check(values, states, Brown.day.th = 100) +#' Brown_check(values, states) +#' Brown_check(values, states, Brown.day.th = 100) #' -Brown.check <- function(value, +Brown_check <- function(value, state, Brown.day = "day", Brown.evening = "evening", @@ -176,7 +176,7 @@ Brown.check <- function(value, #' illuminance/MEDI levels by Brown et al. (2022) for a given state. The #' function is vectorized. #' -#' @inheritParams Brown.check +#' @inheritParams Brown_check #' @param state The state from Brown et al. (2022). Needs to be a character #' vector. #' @@ -190,10 +190,10 @@ Brown.check <- function(value, #' @family Brown #' @examples #' states <- c("day", "evening", "night") -#' Brown.rec(states) -#' Brown.rec(states, Brown.day.th = 100) +#' Brown_rec(states) +#' Brown_rec(states, Brown.day.th = 100) #' -Brown.rec <- function(state, +Brown_rec <- function(state, Brown.day = "day", Brown.evening = "evening", Brown.night = "night", @@ -215,4 +215,4 @@ Brown.rec <- function(state, state == Brown.night ~ Brown.night.th, .default = NA ) -} \ No newline at end of file +} diff --git a/R/aaa.r b/R/aaa.r index 0b4f14f..e5f6add 100644 --- a/R/aaa.r +++ b/R/aaa.r @@ -1,4 +1,4 @@ -Time <- mEDI <- Time.data <- Datetime <- timestamp <- tz <- Day.data <- `DATE/TIME` <- n <- Datetime.rounded <- id <- sleep.colname.string <- file.name <- Interval <- original.datapoints.fleeting <- MEDI <- State.Brown <- Reference <- Reference.check <- Id <- Start.date.shift <- data <- Shift <- `MELANOPIC EDI` <- State <- group <- End <- Start <- Quant.x <- Quant.y <- is.implicit <- group.indices <- Id2 <- gap.id <- start <- end <- NULL +Time <- mEDI <- Time.data <- Datetime <- timestamp <- tz <- Day.data <- `DATE/TIME` <- n <- Datetime.rounded <- id <- sleep.colname.string <- file.name <- Interval <- original.datapoints.fleeting <- MEDI <- State.Brown <- Reference <- Reference.check <- Id <- Start.date.shift <- data <- Shift <- `MELANOPIC EDI` <- State <- group <- End <- Start <- Quant.x <- Quant.y <- is.implicit <- group.indices <- Id2 <- gap.id <- start <- end <- path <- auto.id <- n_max <- manual.id <- silent <- NULL empty_function <- function() { rsconnect::accountInfo() diff --git a/R/create_Time.data.R b/R/create_Timedata.R similarity index 94% rename from R/create_Time.data.R rename to R/create_Timedata.R index 737a184..61950af 100644 --- a/R/create_Time.data.R +++ b/R/create_Timedata.R @@ -12,8 +12,8 @@ #' @export #' @importFrom rlang := #' @examples -#' sample.data.environment %>% create_Time.data -create_Time.data <- function(dataset, +#' sample.data.environment %>% create_Timedata() +create_Timedata <- function(dataset, Datetime.colname = Datetime, Time.data = Time.data, output.dataset = TRUE) { diff --git a/R/data.r b/R/data.r index 0c36ad8..ebfaa06 100644 --- a/R/data.r +++ b/R/data.r @@ -13,8 +13,8 @@ #' @format `sample.data.environment` A tibble with 69,120 rows and 3 columns: #' \describe{ #' \item{Datetime}{POSIXct Datetime} -#' \item{MELANOPIC EDI}{melanopic EDI measurement data. Unit is lux.} -#' \item{Source}{A `character` vector indicating whether the data is from the `Participant` or from the `Environment`.} +#' \item{MEDI}{melanopic EDI measurement data. Unit is lux.} +#' \item{Id}{A `character` vector indicating whether the data is from the `Participant` or from the `Environment`.} #' } #' @source "sample.data.environment" @@ -22,6 +22,11 @@ #' A vector of all supported devices for import functions #' +#' These are all supported devices where there is a dedicated import function. +#' Import functions can be called either through [import_Dataset()] with the +#' respective `device = "device"` argument, or directly, e.g., +#' `import$ActLumus()`. +#' #' @format `supported.devices` A character vector, listing all supported devices #' \describe{ #' \item{suppored.devices}{strings} diff --git a/R/data2reference.R b/R/data2reference.R index 5568a17..cd53c2a 100644 --- a/R/data2reference.R +++ b/R/data2reference.R @@ -23,12 +23,12 @@ #' Need to be the same in both sets. Default is `Datetime`. #' @param Data.column Data column in the `Reference.data` that is then converted #' to a reference. Default is `MEDI`. -#' @param ID.column Name of the `ID.column` in both the `dataset` and the +#' @param Id.column Name of the `Id.column` in both the `dataset` and the #' `Reference.data`. #' @param Reference.column Name of the reference column that will be added to #' the `dataset`. Default is `Reference`. Cannot be the same as any other #' column in the `dataset` and will throw an error if it is. -#' @param overwrite.Reference If `TRUE` (defaults to `FALSE`), the function will +#' @param overwrite If `TRUE` (defaults to `FALSE`), the function will #' overwrite the `Reference.colname` column if it already exists. #' @param filter.expression.reference Expression that is used to filter the #' `Reference.data` before it is used as reference. Default is `NULL`. See @@ -65,45 +65,41 @@ #' #' gg_reference <- function(dataset) { #' dataset %>% -#' ggplot(aes(x = Datetime, y = `MELANOPIC EDI`, color = Source)) + -#' geom_line(size = 1) + +#' ggplot(aes(x = Datetime, y = MEDI, color = Id)) + +#' geom_line(linewidth = 1) + #' geom_line(aes(y = Reference), color = "black", size = 0.25, linetype = "dashed") + -#' theme_minimal() + facet_wrap(~ Source, scales = "free_y") +#' theme_minimal() + facet_wrap(~ Id, scales = "free_y") #' } #' #' #in this example, each data point is its own reference -#' sample.data.environment %>% group_by(Source) %>% -#' data2reference(Data.column = `MELANOPIC EDI`, ID.column = Source) %>% +#' sample.data.environment %>% +#' data2reference() %>% #' gg_reference() #' #' #in this example, the first day of each ID is the reference for the other days #' #this requires grouping of the Data by Day, which is then specified in across.id #' #also, shift.start needs to be set to TRUE, to shift the reference data to the #' #start of the groupings -#' sample.data.environment %>% group_by(Source, Day = as_date(Datetime)) %>% +#' sample.data.environment %>% group_by(Id, Day = as_date(Datetime)) %>% #' data2reference( -#' Data.column = `MELANOPIC EDI`, -#' ID.column = Source, #' filter.expression.reference = as_date(Datetime) == min(as_date(Datetime)), #' shift.start = TRUE, #' across.id = "Day") %>% #' gg_reference() #' #' #in this example, the Environment Data will be used as a reference -#' sample.data.environment %>% group_by(Source) %>% +#' sample.data.environment %>% #' data2reference( -#' Data.column = `MELANOPIC EDI`, -#' ID.column = Source, -#' filter.expression.reference = Source == "Environment", +#' filter.expression.reference = Id == "Environment", #' across.id = TRUE) %>% #' gg_reference() data2reference <- function(dataset, Reference.data = dataset, Datetime.column = Datetime, Data.column = MEDI, - ID.column = Id, + Id.column = Id, Reference.column = Reference, - overwrite.Reference = FALSE, + overwrite = FALSE, filter.expression.reference = NULL, across.id = FALSE, shift.start = FALSE, @@ -115,10 +111,10 @@ data2reference <- function(dataset, Datetime.column.str <- colname.defused({{ Datetime.column }}) Data.column.str <- colname.defused({{ Data.column }}) - ID.column.str <- colname.defused({{ ID.column }}) + Id.column.str <- colname.defused({{ Id.column }}) Reference.column.str <- colname.defused({{ Reference.column }}) - existing.names <- c(Datetime.column.str, Data.column.str, ID.column.str) + existing.names <- c(Datetime.column.str, Data.column.str, Id.column.str) #give an error if dataset is not a data.frame if(!is.data.frame(dataset)) stop("dataset is not a data.frame") @@ -136,10 +132,10 @@ data2reference <- function(dataset, if(!is.numeric(length.restriction.seconds)) stop("length.restriction.seconds is not a numeric") #give an error or warning if the reference column is present - if(Reference.column.str %in% names(dataset) & !overwrite.Reference) + if(Reference.column.str %in% names(dataset) & !overwrite) stop("A Reference column with the given (or default) name is already part of the dataset. Please remove the column or choose a different name") if(Reference.column.str %in% names(dataset)) - warning("A Reference column with the given (or default) name is already part of the dataset. It is overwritten, because `overwrite.Reference = TRUE ` was set.") + warning("A Reference column with the given (or default) name is already part of the dataset. It is overwritten, because `overwrite = TRUE ` was set.") # Manipulation ---------------------------------------------------------- @@ -148,12 +144,12 @@ data2reference <- function(dataset, #if the dataset has no grouping, group by the ID column if(dplyr::n_groups(dataset) == 0) { - dataset <- dataset %>% dplyr::group_by({{ ID.column }}) + dataset <- dataset %>% dplyr::group_by({{ Id.column }}) } #if the Reference.data has no grouping, group by the ID column if(dplyr::n_groups(Reference.data) == 0) { - Reference.data <- Reference.data %>% dplyr::group_by({{ ID.column }}) + Reference.data <- Reference.data %>% dplyr::group_by({{ Id.column }}) } #set arguments based on the across.id argument @@ -311,8 +307,8 @@ data2reference <- function(dataset, interval2state( State.interval.dataset = Reference.data, State.colname = {{ Reference.column }}, - ID.colname.dataset = {{ ID.column }}, - ID.colname.interval = {{ ID.column }}) + Id.colname.dataset = {{ Id.column }}, + Id.colname.interval = {{ Id.column }}) #if there is a reference label given, apply it to the dataset dataset <- diff --git a/R/epochs.R b/R/epochs.R new file mode 100644 index 0000000..071788d --- /dev/null +++ b/R/epochs.R @@ -0,0 +1,106 @@ +#' Counts the Time differences (epochs) per group (in a grouped dataset) +#' +#' @inheritParams cut_Datetime +#' +#' @return a `tibble` with the number of occurences of each time difference per +#' group +#' @export +#' +#' @examples +#' #get a dataset with irregular intervals +#' filepath <- system.file("extdata/sample_data_LYS.csv", package = "LightLogR") +#' dataset <- import$LYS(filepath) +#' +#' #count_difftime returns the number of occurences of each time difference +#' #and is more comprehensive in terms of a summary than `gap_finder` or +#' #`dominant_epoch` +#' count_difftime(dataset) +#' dominant_epoch(dataset) +#' gap_finder(dataset) +#' +#' #irregular data can be regularized with `aggregate_Datetime` +#' dataset %>% aggregate_Datetime(unit = "15 secs") %>% count_difftime() + +count_difftime <- function(dataset, Datetime.colname = Datetime) { + dataset %>% + dplyr::mutate( + difftime = c(NA, diff({{Datetime.colname}}) %>% lubridate::as.duration()) + ) %>% + tidyr::drop_na(difftime) %>% + dplyr::count(difftime = difftime %>% lubridate::as.duration(), sort = TRUE) +} + +#calculate the nth Quantile of time differences per group (in a grouped dataset) +nth.difftime <- function(dataset, Datetime.colname = Datetime, n = 0.95) { + dataset %>% + dplyr::mutate( + difftime = c(NA, diff({{Datetime.colname}}) %>% lubridate::as.duration()) + ) %>% + tidyr::drop_na(difftime) %>% + dplyr::summarise( + Quant = stats::quantile(difftime, probs = n, na.rm = TRUE) + ) +} + + +#' Determine the dominant epoch/interval of a dataset +#' +#' Calculate the dominant epoch/interval of a dataset. The dominant +#' epoch/interval is the epoch/interval that is most frequent in the dataset. +#' The calculation is done per group, so that you might get multiple variables. +#' If two or more epochs/intervals are equally frequent, the first one (shortest +#' one) is chosen. +#' +#' @param dataset A light logger dataset. Needs to be a dataframe. +#' @param Datetime.colname The column that contains the datetime. Needs to be a +#' `POSIXct` and part of the dataset. +#' +#' @return A `tibble` with one row per group and a column with the +#' `dominant.epoch` as a [lubridate::duration()]. Also a column with the +#' `group.indices`, which is helpful for referencing the `dominant.epoch` +#' across dataframes of equal grouping. +#' @export +#' +#' @family regularize +#' @examples +#' dataset <- +#' tibble::tibble(Id = c("A", "A", "A", "B", "B", "B"), +#' Datetime = lubridate::as_datetime(1) + +#' lubridate::days(c(0:2, 4, 6, 8))) +#' dataset +#' #get the dominant epoch by group +#' dataset %>% +#' dplyr::group_by(Id) %>% +#' dominant_epoch() +#' +#' #get the dominant epoch of the whole dataset +#' dataset %>% +#' dominant_epoch() +dominant_epoch <- function(dataset, + Datetime.colname = Datetime) { + + # Initial Checks ---------------------------------------------------------- + + #dataset needs to be a dataframe and Datetime.colname needs to be part of the dataset and a POSIXct + stopifnot( + "dataset is not a dataframe" = is.data.frame(dataset), + "Datetime.colname must be part of the dataset" = + colname.defused({{ Datetime.colname }}) %in% names(dataset), + "Datetime.colname must be a Datetime" = + lubridate::is.POSIXct( + dataset[[colname.defused({{ Datetime.colname }})]]) + ) + + # Function ---------------------------------------------------------- + + dat <- + dataset %>% + count_difftime(Datetime.colname = {{ Datetime.colname }}) %>% + dplyr::summarize( + dominant.epoch = difftime[which.max(n)] %>% lubridate::as.duration(), + group.indices = dplyr::cur_group_id() + ) + + # Return ---------------------------------------------------------- + dat +} \ No newline at end of file diff --git a/R/filter_Datetime.R b/R/filter_Datetime.R index 496dea6..b12c4a4 100644 --- a/R/filter_Datetime.R +++ b/R/filter_Datetime.R @@ -3,8 +3,8 @@ #' Filtering a dataset based on Dates or Datetimes may often be necessary prior #' to calcuation or visualization. The functions allow for a filtering based on #' simple `strings` or `Datetime` scalars, or by specifying a length. They also -#' support prior [dplyr] grouping, which is useful, e.g., when you only want -#' to filter the first two days of measurement data for every participant, +#' support prior [dplyr] grouping, which is useful, e.g., when you only want to +#' filter the first two days of measurement data for every participant, #' regardless of the actual date. If you want to filter based on times of the #' day, look to [filter_Time()]. #' @@ -23,8 +23,13 @@ #' will give a duration. For the difference between periods and durations look #' at the documentation from [lubridate]. Basically, periods model clocktimes, #' whereas durations model physical processes. This matters on several -#' occasions, like leap years, or daylight savings. -#' @param filter.expr Advanced filtering conditions. If not `NULL` (default) and given an `expression`, this is used to [dplyr::filter()] the results. This can be useful to filter, e.g. for group-specific conditions, like starting after the first two days of measurement (see examples). +#' occasions, like leap years, or daylight savings. You can also provide a +#' `character` scalar in the form of e.g. "1 day", which will be converted +#' into a period. +#' @param filter.expr Advanced filtering conditions. If not `NULL` (default) and +#' given an `expression`, this is used to [dplyr::filter()] the results. This +#' can be useful to filter, e.g. for group-specific conditions, like starting +#' after the first two days of measurement (see examples). #' @param tz Timezone of the start/end times. If `NULL` (the default), it will #' take the timezone from the `Datetime.colname` column. #' @param full.day A `logical` indicating wether the `start` param should be @@ -32,13 +37,18 @@ #' is FALSE). This is useful, e.g., when the first observation in the dataset #' is slightly after midnight. If TRUE, it will count the length from midnight #' on to avoid empty days in plotting with [gg_day()]. +#' @param only_Id An expression of `ids` where the filtering should be applied +#' to. If `NULL` (the default), the filtering will be applied to all `ids`. +#' Based on the this expression, the dataset will be split in two and only +#' where the given expression evaluates to `TRUE`, will the filtering take +#' place. Afterwards both sets are recombined and sorted by `Datetime`. #' #' @return a `data.frame` object identical to `dataset` but with only the #' specified Dates/Times. #' @export #' @family filter #' @examples -#' +#' #' library(lubridate) #' library(dplyr) #' #baseline @@ -46,11 +56,11 @@ #' range.unfiltered #' #' #setting the start of a dataset -#' sample.data.environment %>% -#' filter_Datetime(start = "2023-08-18 12:00:00") %>% -#' pull(Datetime) %>% +#' sample.data.environment %>% +#' filter_Datetime(start = "2023-08-18 12:00:00") %>% +#' pull(Datetime) %>% #' range() -#' +#' #' #setting the end of a dataset #' sample.data.environment %>% #' filter_Datetime(end = "2023-08-18 12:00:00") %>% pull(Datetime) %>% range() @@ -64,18 +74,17 @@ #' sample.data.environment %>% #' filter_Datetime(length = days(2)) %>% #' pull(Datetime) %>% range() -#' +#' #' #advanced filtering based on grouping (second day of each group) #' sample.data.environment %>% -#' group_by(Source) %>% #' #shift the "Environment" group by one day #' mutate( -#' Datetime = ifelse(Source == "Environment", Datetime + ddays(1), Datetime) %>% +#' Datetime = ifelse(Id == "Environment", Datetime + ddays(1), Datetime) %>% #' as_datetime()) -> sample #' sample %>% summarize(Daterange = paste(min(Datetime), max(Datetime), sep = " - ")) #' #now we can use the `filter.expr` argument to filter from the second day of each group -#' sample %>% -#' filter_Datetime(filter.expr = Datetime > Datetime[1] + days(1)) %>% +#' sample %>% +#' filter_Datetime(filter.expr = Datetime > Datetime[1] + days(1)) %>% #' summarize(Daterange = paste(min(Datetime), max(Datetime), sep = " - ")) @@ -86,12 +95,15 @@ filter_Datetime <- function(dataset, length = NULL, full.day = FALSE, tz = NULL, + only_Id = NULL, filter.expr = NULL) { # Initial Checks ---------------------------------------------------------- filter.expr <- rlang::enexpr(filter.expr) + only_Id <- rlang::enexpr(only_Id) + Datetime.colname.defused <- rlang::enexpr(Datetime.colname) %>% rlang::as_string() #timezone @@ -100,8 +112,8 @@ filter_Datetime <- function(dataset, } if(!is.null(length)){ - test <- lubridate::is.duration(length) | lubridate::is.period(length) - stopifnot("length needs to be either a duration or a period from lubridate::" = test) + test <- lubridate::is.duration(length) | lubridate::is.period(length) | is.character(length) + stopifnot("length needs to be either a valid character, duration or a period from {lubridate}" = test) } stopifnot( @@ -119,6 +131,21 @@ filter_Datetime <- function(dataset, # Manipulation ---------------------------------------------------------- + #split the dataset in two parts, based on the only_Id expression + if(!is.null(only_Id)) { + dataset_unfiltered <- + dataset %>% + dplyr::filter(!(!!only_Id), .preserve = TRUE) + dataset <- + dataset %>% + dplyr::filter(!!only_Id, .preserve = TRUE) + } + + #if length is a character, convert it to a period + if(is.character(length)) { + length <- lubridate::as.period(length) + } + #calculate starting time if length and end are given if(is.null(start) & !is.null(length) & !is.null(end)) { start <- lubridate::as_datetime(end, tz = tz) - length @@ -147,7 +174,7 @@ filter_Datetime <- function(dataset, dataset %>% dplyr::filter( {{ Datetime.colname }} >= lubridate::as_datetime(start, tz = tz), - {{ Datetime.colname }} <= lubridate::as_datetime(end, tz = tz) + {{ Datetime.colname }} < lubridate::as_datetime(end, tz = tz), ) #possible extra filter step if(!is.null(filter.expr)) { @@ -155,7 +182,10 @@ filter_Datetime <- function(dataset, } # Return -------------------------------------------------------------- - dataset + if(!is.null(only_Id)) { + dplyr::bind_rows(dataset, dataset_unfiltered) %>% + dplyr::arrange({{ Datetime.colname }}, .by_group = TRUE) + } else dataset } @@ -184,4 +214,46 @@ filter_Date <- function(..., filter_Datetime(..., start = start, end = end) +} + +# multiple filter_Date ------------------------------------------------------------- + +#' Filter multiple times based on a list of arguments. +#' +#' [filter_Datetime_multiple()] is a wrapper around [filter_Datetime()] or +#' [filter_Date()] that allows the cumulative filtering of `Datetimes` based on +#' varying filter conditions. It is most useful in conjunction with the +#' `only_Id` argument, e.g., to selectively cut off dates depending on +#' participants (see examples) +#' +#' @param dataset A light logger dataset +#' @param arguments A list of arguments to be passed to [filter_Datetime()] or +#' [filter_Date()]. each list entry must itself be a list of arguments, e.g, +#' `list(start = "2021-01-01", only_Id = quote(Id == 216))`. Expressions have +#' to be quoted with [quote()] or [rlang::expr()]. +#' @param filter_function The function to be used for filtering, either +#' `filter_Datetime` (the default) or `filter_Date` +#' @param ... Additional arguments passed to the filter function +#' +#' @return A dataframe with the filtered data +#' @export +#' +#' @examples +#' arguments <- list( +#' list(start = "2023-08-17", only_Id = quote(Id == "Participant")), +#' list(end = "2023-08-17", only_Id = quote(Id == "Environment"))) +#' #compare the unfiltered dataset +#' sample.data.environment %>% gg_overview(Id.colname = Id) +#' #compare the unfiltered dataset +#' sample.data.environment %>% +#' filter_Datetime_multiple(arguments = arguments, filter_Date) %>% +#' gg_overview(Id.colname = Id) +filter_Datetime_multiple <- function(dataset, + arguments, + filter_function = filter_Datetime, + ...) { + + purrr::reduce(arguments, function(dataset, params) { + do.call({{ filter_function }}, c(list(dataset = dataset), params, ...)) + }, .init = dataset) } \ No newline at end of file diff --git a/R/filter_Time.R b/R/filter_Time.R index c4d219b..9fb7d20 100644 --- a/R/filter_Time.R +++ b/R/filter_Time.R @@ -21,11 +21,11 @@ #' @family filter filter_Time <- function(dataset, - Datetime.colname = Datetime, - start = NULL, - end = NULL, - length = NULL - ) { + Datetime.colname = Datetime, + start = NULL, + end = NULL, + length = NULL + ) { # Initial Checks ---------------------------------------------------------- @@ -50,7 +50,7 @@ filter_Time <- function(dataset, # Manipulation ---------------------------------------------------------- #create a time-of-day column - dataset <- dataset %>% create_Time.data(!!x) + dataset <- dataset %>% create_Timedata(!!x) #calculate starting time if length and end are given if(is.null(start) & !is.null(length) & !is.null(end)) { diff --git a/R/regularize.R b/R/gaps.R similarity index 79% rename from R/regularize.R rename to R/gaps.R index 87d563d..93216a2 100644 --- a/R/regularize.R +++ b/R/gaps.R @@ -1,65 +1,3 @@ -#' Determine the dominant epoch/interval of a dataset -#' -#' Calculate the dominant epoch/interval of a dataset. The dominant -#' epoch/interval is the epoch/interval that is most frequent in the dataset. -#' The calculation is done per group, so that you might get multiple variables. -#' If two or more epochs/intervals are equally frequent, the first one (shortest -#' one) is chosen. -#' -#' @param dataset A light logger dataset. Needs to be a dataframe. -#' @param Datetime.colname The column that contains the datetime. Needs to be a -#' `POSIXct` and part of the dataset. -#' -#' @return A `tibble` with one row per group and a column with the -#' `dominant.epoch` as a [lubridate::duration()]. Also a column with the -#' `group.indices`, which is helpful for referencing the `dominant.epoch` -#' across dataframes of equal grouping. -#' @export -#' -#' @family regularize -#' @examples -#' dataset <- -#' tibble::tibble(Id = c("A", "A", "A", "B", "B", "B"), -#' Datetime = lubridate::as_datetime(1) + -#' lubridate::days(c(0:2, 4, 6, 8))) -#' dataset -#' #get the dominant epoch by group -#' dataset %>% -#' dplyr::group_by(Id) %>% -#' dominant_epoch() -#' -#' #get the dominant epoch of the whole dataset -#' dataset %>% -#' dominant_epoch() -dominant_epoch <- function(dataset, - Datetime.colname = Datetime) { - - # Initial Checks ---------------------------------------------------------- - - #dataset needs to be a dataframe and Datetime.colname needs to be part of the dataset and a POSIXct - stopifnot( - "dataset is not a dataframe" = is.data.frame(dataset), - "Datetime.colname must be part of the dataset" = - colname.defused({{ Datetime.colname }}) %in% names(dataset), - "Datetime.colname must be a Datetime" = - lubridate::is.POSIXct( - dataset[[colname.defused({{ Datetime.colname }})]]) - ) - - # Function ---------------------------------------------------------- - - dat <- - dataset %>% - count.difftime(Datetime.colname = {{ Datetime.colname }}) %>% - dplyr::summarize( - dominant.epoch = difftime[which.max(n)] %>% lubridate::as.duration(), - group.indices = dplyr::cur_group_id() - ) - - # Return ---------------------------------------------------------- - dat -} - #' Create a gapless sequence of Datetimes #' #' Create a gapless sequence of Datetimes. The Datetimes are determined by the @@ -70,6 +8,7 @@ dominant_epoch <- function(dataset, #' @param epoch The epoch to use for the gapless sequence. Can be either a #' `lubridate::duration()` or a string. If it is a string, it needs to be #' either '"dominant.epoch"' (the default) for a guess based on the data or a valid `lubridate::duration()` string, e.g., `"1 day"` or `"10 sec"`. +#' @param full.days If `TRUE`, the gapless sequence will include the whole first and last day where there is data. #' #' @return A `tibble` with a gapless sequence of `Datetime` as specified by #' `epoch`. @@ -89,7 +28,8 @@ dominant_epoch <- function(dataset, gapless_Datetimes <- function(dataset, Datetime.colname = Datetime, - epoch = "dominant.epoch") { + epoch = "dominant.epoch", + full.days = FALSE) { # Initial Checks ---------------------------------------------------------- @@ -101,7 +41,8 @@ gapless_Datetimes <- function(dataset, lubridate::is.POSIXct( dataset[[colname.defused({{ Datetime.colname }})]]), "epoch must either be a duration or a string" = - lubridate::is.duration(epoch) | is.character(epoch) + lubridate::is.duration(epoch) | is.character(epoch), + "full.days must be a logical" = is.logical(full.days) ) # Function ---------------------------------------------------------- @@ -111,21 +52,49 @@ gapless_Datetimes <- function(dataset, #if the user specified an epoch, use that instead if(epoch != "dominant.epoch") { - epochs <- epochs %>% dplyr::mutate(dominant.epoch = epoch) + epochs <- + epochs %>% dplyr::mutate(dominant.epoch = lubridate::as.duration(epoch)) } + expr_standard <- rlang::expr( + seq( + min({{ Datetime.colname }}), + if(full.days) lubridate::ceiling_date(max({{ Datetime.colname }}), + unit = "day") - 1 + else max({{ Datetime.colname }}), + by = + epochs %>% + dplyr::filter(group.indices == Id2) %>% + .[["dominant.epoch"]] + ) + ) + + expr_full_day <- rlang::expr( + c( + if(full.days) { + rev( + seq( + min({{ Datetime.colname }}), + lubridate::floor_date(min({{ Datetime.colname }}), + unit = "day"), + by = + epochs %>% + dplyr::filter(group.indices == Id2) %>% + .[["dominant.epoch"]] %>% {.*(-1)} + )[-1] + ) + }, + !!expr_standard + ) + ) + #create the gapless sequence dat <- dataset %>% dplyr::reframe( Id2 = dplyr::cur_group_id(), {{ Datetime.colname }} := - seq( - min({{ Datetime.colname }}), max({{ Datetime.colname }}), - by = - epochs %>% - dplyr::filter(group.indices == Id2) %>% - .[["dominant.epoch"]] - ) + if(full.days) !!expr_full_day + else !!expr_standard ) %>% dplyr::select(-Id2) %>% dplyr::group_by( @@ -178,7 +147,8 @@ gapless_Datetimes <- function(dataset, gap_handler <- function(dataset, Datetime.colname = Datetime, epoch = "dominant.epoch", - behavior = "full_sequence") { + behavior = "full_sequence", + full.days = FALSE) { # Initial Checks ---------------------------------------------------------- @@ -192,7 +162,8 @@ gap_handler <- function(dataset, "epoch must either be a duration or a string" = lubridate::is.duration(epoch) | is.character(epoch), "behavior must be one of 'full_sequence', 'regulars', 'irregulars', 'gaps'" = - behavior %in% c("full_sequence", "regulars", "irregulars", "gaps") + behavior %in% c("full_sequence", "regulars", "irregulars", "gaps"), + "full.days must be a logical" = is.logical(full.days) ) # Function ---------------------------------------------------------- @@ -202,7 +173,8 @@ gap_handler <- function(dataset, dataset %>% gapless_Datetimes( Datetime.colname = {{ Datetime.colname }}, - epoch = epoch + epoch = epoch, + full.days = full.days ) #add a column to the dataset to indicate that the provided datetimes are explicit @@ -288,7 +260,8 @@ gap_finder <- function(dataset, Datetime.colname = Datetime, epoch = "dominant.epoch", gap.data = FALSE, - silent = FALSE) { + silent = FALSE, + full.days = FALSE) { # Initial Checks ---------------------------------------------------------- @@ -302,7 +275,8 @@ gap_finder <- function(dataset, "epoch must either be a duration or a string" = lubridate::is.duration(epoch) | is.character(epoch), "gap.data must be logical" = is.logical(gap.data), - "silent must be logical" = is.logical(silent) + "silent must be logical" = is.logical(silent), + "full.days must be logical" = is.logical(full.days) ) # Function ---------------------------------------------------------- @@ -311,7 +285,9 @@ gap_finder <- function(dataset, dat <- dataset %>% gap_handler( Datetime.colname = {{ Datetime.colname }}, - epoch = epoch) + epoch = epoch, + full.days = full.days + ) dat_filtered <- dat %>% diff --git a/R/gg_day.r b/R/gg_day.r index 5e39692..3ad09fc 100644 --- a/R/gg_day.r +++ b/R/gg_day.r @@ -1,9 +1,9 @@ -#' Create a simple plot of light logger data, facetted by Day +#' Create a simple Time-of-Day plot of light logger data, faceted by Date #' -#' `gg_day` will create a simple ggplot for every data in a dataset. The result -#' can further be manipulated like any ggplot. This will be sensible to refine -#' styling or guides. +#' [gg_day()] will create a simple ggplot for every data in a dataset. The +#' result can further be manipulated like any ggplot. This will be sensible to +#' refine styling or guides. #' #' Besides plotting, the function creates two new variables from the given #' `Datetime`: @@ -11,8 +11,21 @@ #' * `Time.data` is an `hms` created with [hms::as_hms()] that is used for the x.axis #' #' The default scaling of the y-axis is a `symlog` scale, which is a logarithmic -#' scale that only starts scaling after a given threshold (default = 0). This enables values of 0 in the plot, which are common in light logger data, and even enables negative values, which might be sensible for non-light data. See [symlog_trans()] for details on tweaking this scale. The scale can also be changed to a normal or logarithmic scale - see the y.scale argument for more. -#' +#' scale that only starts scaling after a given threshold (default = 0). This +#' enables values of 0 in the plot, which are common in light logger data, and +#' even enables negative values, which might be sensible for non-light data. See +#' [symlog_trans()] for details on tweaking this scale. The scale can also be +#' changed to a normal or logarithmic scale - see the y.scale argument for more. +#' +#' The default scaling of the color and fill scales is discrete, with the +#' [ggsci::scale_color_jco()] and [ggsci::scale_fill_jco()] scales. To use a +#' continuous scale, use the `jco_color = FALSE` setting. Both `fill` and +#' `color` aesthetics are set to `NULL` by default. For most geoms, this is not +#' important, but geoms that automatically use those aesthetics (like +#' geom_bin2d, where fill = stat(count)) are affected by this. Manually adding +#' the required aesthetic (like `aes_fill = ggplot2::stat(count)` will fix +#' this). +#' #' @param dataset A light logger dataset. Expects a `dataframe`. If not imported #' by [LightLogR], take care to choose a sensible variable for the `x.axis.`. #' @param x.axis,y.axis column name that contains the datetime (x, defaults to @@ -31,20 +44,20 @@ #' @param start.date,end.date Choose an optional start or end date within your #' `dataset`. Expects a `date`, which can also be a `character` that is #' interpretable as a date, e.g., `"2023-06-03"`. If you need a Datetime or -#' want to cut specific times of each day, use the [filter_Datetime] function. -#' Defaults to `NULL`, which means that the plot starts/ends with the -#' earliest/latest date within the `dataset`. +#' want to cut specific times of each day, use the [filter_Datetime()] +#' function. Defaults to `NULL`, which means that the plot starts/ends with +#' the earliest/latest date within the `dataset`. #' @param scales For [ggplot2::facet_wrap()], should scales be "fixed", "free" #' or free in one dimension ("free_y" is the default). Expects a `character`. -#' @param y.scale How should the y-axis be scaled? -#' * Defaults to `"symlog"`, which is a logarithmic scale that can also handle negative values. +#' @param y.scale How should the y-axis be scaled? +#' * Defaults to `"symlog"`, which is a logarithmic scale that can also handle negative values. #' * `"log10"` would be a straight logarithmic scale, but cannot handle negative values. #' * `"identity"` does nothing (continuous scaling). #' * a transforming function, such as [symlog_trans()] or [scales::identity_trans()], which allow for more control. -#' @param col optional column name that defines separate sets and colors them. -#' Expects anything that works with the layer data [ggplot2::aes()]. The -#' default color palette can be overwritten outside the function (see -#' examples). +#' @param aes_col,aes_fill optional arguments that define separate sets and +#' colors or fills them. Expects anything that works with the layer data +#' [ggplot2::aes()]. The default color palette can be overwritten outside the +#' function (see examples). #' @param x.axis.breaks,y.axis.breaks Where should breaks occur on the x and #' y.axis? Expects a `numeric vector` with all the breaks. If you want to #' activate the default behaviour of [ggplot2], you need to put in @@ -52,17 +65,22 @@ #' @param y.scale.sc `logical` for whether scientific notation shall be used. #' Defaults to `FALSE`. #' @param geom What geom should be used for visualization? Expects a `character` -#' * `"point"` for [ggplot2::geom_point()] (the default) +#' * `"point"` for [ggplot2::geom_point()] #' * `"line"` for [ggplot2::geom_line()] -#' * as the value is just input into the `geom_` function from [ggplot2], other variants might work as well, but are not tested. +#' * `"ribbon"` for [ggplot2::geom_ribbon()] +#' * as the value is just input into the `geom_` function from [ggplot2], other variants work as well, but are not extensively tested. #' @param group Optional column name that defines separate sets. Useful for #' certain geoms like `boxplot`.Expects anything that works with the layer #' data [ggplot2::aes()] #' @param ... Other options that get passed to the main geom function. Can be -#' used to adjust to adjust size or linetype. +#' used to adjust to adjust size, linewidth, or linetype. #' @param interactive Should the plot be interactive? Expects a `logical`. #' Defaults to `FALSE`. -#' @param facetting Should an automated facet by day be applie? Default is `TRUE` and uses the `Day.data` variable that the function also creates if not present. +#' @param facetting Should an automated facet by day be applied? Default is +#' `TRUE` and uses the `Day.data` variable that the function also creates if +#' not present. +#' @param jco_color Should the [ggsci::scale_color_jco()] color palette be used? +#' Defaults to `TRUE`. #' #' @return A ggplot object #' @export @@ -73,24 +91,23 @@ #' sample.data.environment, #' scales = "fixed", #' end.date = "2023-08-16", -#' x.axis = Datetime, -#' y.axis = `MELANOPIC EDI`, #' y.axis.label = "mEDI (lx)", -#' col = Source) +#' aes_col = Id) #' plot #' #' #you can easily overwrite the color scale afterwards #' plot + ggplot2::scale_color_discrete() #' #' #or change the facetting -#' plot + ggplot2::facet_wrap(~Day.data + Source) +#' plot + ggplot2::facet_wrap(~Day.data + Id) gg_day <- function(dataset, start.date = NULL, end.date = NULL, x.axis = Datetime, y.axis = MEDI, - col = NULL, + aes_col = NULL, + aes_fill = NULL, group = NULL, geom = "point", scales = "fixed", @@ -105,21 +122,20 @@ gg_day <- function(dataset, subtitle = NULL, interactive = FALSE, facetting = TRUE, + jco_color = TRUE, ...) { # Initial Checks ---------------------------------------------------------- - x <- rlang::enexpr(x.axis) + x <- rlang::enexpr(x.axis) y <- rlang::enexpr(y.axis) - axis_columns <- (purrr::map_chr(c(x,y), rlang::as_string)) + axis_columns <- (purrr::map_chr(c(x,y), deparse1)) stopifnot( "The given dataset is not a dataframe" = is.data.frame(dataset), "The given column for X is not in the Dataset. If you did not specify X, you are working with data not originating from LightLogR. Please specify an appropriate Datetime column" = rlang::as_string(x) %in% names(dataset), "The given column for X is not a Datetime" = lubridate::is.POSIXct(dataset[[rlang::as_string(x)]]), - "The given column for Y is not in the Dataset" = - rlang::as_string(y) %in% names(dataset), "scales must be one of `fixed`, `free_x`, `free_y`, or `free`" = scales %in% c("free_y", "free_x", "fixed", "free"), "format.day must be a character. Please make shure it is of type `base::strptime`" = @@ -139,7 +155,10 @@ gg_day <- function(dataset, ribbon <- list( ggplot2::geom_ribbon( - ggplot2::aes(ymin = 0, ymax = !!y), + ggplot2::aes(ymin = 0, ymax = !!y, + group = {{ group }}, + col = {{ aes_col }}, + fill = {{ aes_fill }}), outline.type = "upper", ... ) @@ -147,6 +166,16 @@ gg_day <- function(dataset, } + #jco color palette + jco_color_scheme <- list() + if(jco_color) { + jco_color_scheme <- + list( + ggsci::scale_color_jco(), + ggsci::scale_fill_jco() + ) + } + #filter by start and end date if(!is.null(start.date)) { dataset <- @@ -169,7 +198,7 @@ gg_day <- function(dataset, !!x %>% format(format = format.day)) } - dataset <- dataset %>% create_Time.data(Datetime.colname = !!x) + dataset <- dataset %>% create_Timedata(Datetime.colname = !!x) dataset <- dataset %>% @@ -189,12 +218,14 @@ gg_day <- function(dataset, ggplot2::ggplot(ggplot2::aes(x=Time.data, y = !!y)) + eval(geom_function_expr)( ggplot2::aes( + x=Time.data, y = !!y, group = {{ group }}, - col = {{ col }}, - ), ...) + + col = {{ aes_col }}, + fill = {{ aes_fill }}, + ), ...) + ribbon + # Scales -------------------------------------------------------------- - ggsci::scale_color_jco()+ + jco_color_scheme+ ggplot2::scale_x_time(breaks = x.axis.breaks, labels = scales::label_time(format = "%H:%M")) + ggplot2::scale_y_continuous( diff --git a/R/gg_days.R b/R/gg_days.R new file mode 100644 index 0000000..1a39e3e --- /dev/null +++ b/R/gg_days.R @@ -0,0 +1,177 @@ +#' Create a simple datetime plot of light logger data, faceted by group +#' +#' [gg_days()] will create a simple ggplot along the timeline. The result can +#' further be manipulated like any ggplot. This will be sensible to refine +#' styling or guides. Through the `x.axis.limits` arguments, the plot can be +#' much refined to align several groups of differing datetime ranges. It uses +#' the [Datetime_limits()] function to calculate the limits of the x-axis. +#' Another notable functions that are used are [Datetime_breaks()] to calculate +#' the breaks of the x-axis. +#' +#' The default scaling of the y-axis is a `symlog` scale, which is a logarithmic +#' scale that only starts scaling after a given threshold (default = 0). This +#' enables values of 0 in the plot, which are common in light logger data, and +#' even enables negative values, which might be sensible for non-light data. See +#' [symlog_trans()] for details on tweaking this scale. The scale can also be +#' changed to a normal or logarithmic scale - see the y.scale argument for more. +#' @inheritParams gg_day +#' @param aes_col,aes_fill optional input that defines separate sets and colors +#' or fills them. Expects anything that works with the layer data +#' [ggplot2::aes()]. +#' @param y.axis.breaks Where should breaks occur on the y.axis? Expects a +#' `numeric vector` with all the breaks or a function that calculates them +#' based on the limits. If you want to activate the default behaviour of +#' [ggplot2], you need to put in [ggplot2::waiver()]. +#' @param x.axis.breaks The (major) breaks of the x-axis. Defaults to +#' [Datetime_breaks()]. The function has several options for adjustment. The +#' default setting place a major break every 12 hours, starting at 12:00 of +#' the first day. +#' @param x.axis.limits The limits of the x-axis. Defaults to +#' [Datetime_limits()]. Can and should be adjusted to shift the x-axis to +#' align different groups of data. +#' @param x.axis.format The format of the x-axis labels. Defaults to `"%a %D"`, +#' which is the weekday and date. See [base::strptime()] for more options. +#' @param facetting Should an automated facet by grouping be applied? Default is +#' `TRUE`. +#' +#' @return A ggplot object +#' @export +#' +#' @examples +#' dataset <- +#' sample.data.environment %>% +#' aggregate_Datetime(unit = "5 mins") +#' +#' dataset %>% gg_days() +#' #restrict the x-axis to 3 days +#' dataset %>% +#' gg_days( +#' x.axis.limits = \(x) Datetime_limits(x, length = lubridate::ddays(3)) +#' ) +gg_days <- function(dataset, + x.axis = Datetime, + y.axis = MEDI, + aes_col = NULL, + aes_fill = NULL, + group = NULL, + geom = "line", + scales = "free_x", + x.axis.breaks = Datetime_breaks, + y.axis.breaks = c(-10^(5:0), 0, 10^(0:5)), + y.scale = "symlog", + y.scale.sc = FALSE, + x.axis.label = "Datetime", + y.axis.label = "Illuminance (lx, MEDI)", + x.axis.limits = Datetime_limits, + x.axis.format = "%a %D", + title = NULL, + subtitle = NULL, + interactive = FALSE, + facetting = TRUE, + ...) { + + # Initial Checks ---------------------------------------------------------- + + x <- rlang::enexpr(x.axis) + y <- rlang::enexpr(y.axis) + axis_columns <- (purrr::map_chr(c(x,y), deparse1)) + stopifnot( + "The given dataset is not a dataframe" = is.data.frame(dataset), + "The given column for X is not in the Dataset. If you did not specify X, you are working with data not originating from LightLogR. Please specify an appropriate Datetime column" = + rlang::as_string(x) %in% names(dataset), + "The given column for X is not a Datetime" = + lubridate::is.POSIXct(dataset[[rlang::as_string(x)]]), + "scales must be one of `fixed`, `free_x`, `free_y`, or `free`" = + scales %in% c("free_y", "free_x", "fixed", "free"), + "The X axis label must be a string" = is.character(x.axis.label), + "The Y axis label must be a string" = is.character(y.axis.label), + "interactive must be a logical" = is.logical(interactive) + ) + + # Data Preparation -------------------------------------------------------- + + #special case for geom = "ribbon" + ribbon <- list() + if(geom == "ribbon") { + geom <- "blank" + ribbon <- + rlang::inject(list( + ggplot2::geom_ribbon( + ggplot2::aes( + ymin = 0, ymax = !!y, + group = {{ group }}, + fill = {{ aes_fill }}, + col = {{ aes_col }} + ), + outline.type = "upper", + ... + ) + )) + + } + + #grouping_vars + grouping_var <- dplyr::group_vars(dataset) + + #give the user the chance to use whatever geom they want + geom_function_expr <- rlang::parse_expr(paste0("ggplot2::geom_", geom)) + + # Plot Creation ----------------------------------------------------------- + + Plot <- + dataset %>% + #basic setup + ggplot2::ggplot(ggplot2::aes(x=!!x, y = !!y)) + + eval(geom_function_expr)( + ggplot2::aes( + group = {{ group }}, + fill = {{ aes_fill }}, + col = {{ aes_col }}, + ), ...) + + ribbon + + # Scales -------------------------------------------------------------- + ggplot2::scale_y_continuous( + trans = y.scale, + breaks = y.axis.breaks, + labels = function(x) format(x, scientific = y.scale.sc, big.mark = " ") + )+ + ggplot2::scale_x_datetime( + breaks = x.axis.breaks, + date_minor_breaks = "24 hours", + date_labels = x.axis.format, + limits = x.axis.limits, + expand = c(0,0) + )+ + # Styling -------------------------------------------------------------- + ggplot2::labs( + y= y.axis.label, + x= x.axis.label, + title = title, + subtitle = subtitle + )+ + cowplot::theme_cowplot()+ + ggplot2::theme( + plot.title.position = "plot", + panel.grid.major.y = ggplot2::element_line("grey98"), + panel.grid.major.x = + ggplot2::element_line(color = "grey80", linetype = 2, linewidth = 0.25), + panel.grid.minor.x = + ggplot2::element_line(color = "grey80", linewidth = 0.25), + strip.text.y = ggplot2::element_text(face = "bold",), + strip.placement = "outside" + ) + + # Facetting ------------------------------------------------------------ + if(facetting) { + ggplot2::facet_wrap( + grouping_var, + ncol=1, + scales = scales, + strip.position = "left") + } + + # Return -------------------------------------------------------------- + if(interactive) { + Plot %>% plotly::ggplotly() + } + else Plot +} diff --git a/R/gg_overview.R b/R/gg_overview.R index 1c97399..33fbb99 100644 --- a/R/gg_overview.R +++ b/R/gg_overview.R @@ -7,7 +7,7 @@ #' @param Id.colname The column name of the Id column (default is `Id`), needs to #' be in the `dataset`. This is also used as the y-axis variable and is the #' minimum grouping variable. -#' @param gap_range_data Optionally provide a `tibble` with `start` and `end` +#' @param gap.data Optionally provide a `tibble` with `start` and `end` #' `Datetimes` of gaps per group. If not provided, the function uses #' [gap_finder()] to calculate implicit missing data. This might be #' computationally intensive for large datasets and many missing data. In @@ -20,11 +20,11 @@ #' @export #' #' @examples -#' sample.data.environment %>% gg_overview(Id.colname = Source) +#' sample.data.environment %>% gg_overview() gg_overview <- function(dataset, Datetime.colname = Datetime, Id.colname = Id, - gap_range_data = NULL, + gap.data = NULL, ..., interactive = FALSE) { @@ -52,32 +52,32 @@ gg_overview <- function(dataset, dataset <- dataset %>% dplyr::group_by({{ Id.colname }}, .add = TRUE) #calculate the ranges of gap data if none is provided - if(is.null(gap_range_data)) { - gap_range_data <- + if(is.null(gap.data)) { + gap.data <- dataset %>% gap_finder(gap.data = TRUE, silent = TRUE) %>% dplyr::group_by(gap.id, .add = TRUE) %>% dplyr::filter(dplyr::n() > 1) - there_are_gaps <- nrow(gap_range_data) > 0 + there_are_gaps <- nrow(gap.data) > 0 if(there_are_gaps) { - gap_range_data <- - gap_range_data %>% + gap.data <- + gap.data %>% dplyr::summarize( start = min({{ Datetime.colname}}), end = max({{ Datetime.colname}})) } } #are there missing data - there_are_gaps <- nrow(gap_range_data) > 0 + there_are_gaps <- nrow(gap.data) > 0 #only add missing data when there is some implicit_data <- if(there_are_gaps) { list( ggplot2::geom_linerange( - data = gap_range_data, + data = gap.data, ggplot2::aes(xmin = start, xmax = end, y = {{ Id.colname}}), col = "grey", linewidth = 1), ggplot2::labs( @@ -109,6 +109,7 @@ gg_overview <- function(dataset, #general information ggplot2::labs(x = "Datetime")+ #theming and styling + ggplot2::scale_x_datetime()+ cowplot::theme_cowplot()+ ggplot2::theme( panel.grid.major = ggplot2::element_line(colour = "grey98"), @@ -119,4 +120,4 @@ gg_overview <- function(dataset, Plot %>% plotly::ggplotly() } else Plot -} \ No newline at end of file +} diff --git a/R/helper.R b/R/helper.R index 8314560..a299b76 100755 --- a/R/helper.R +++ b/R/helper.R @@ -38,28 +38,6 @@ is.all.scalar <- function(...) { purrr::every(\(x) length(x) == 1) } -#counts the different time differences per group (in a grouped dataset) -count.difftime <- function(dataset, Datetime.colname = Datetime) { - dataset %>% - dplyr::mutate( - difftime = c(NA, diff({{Datetime.colname}}) %>% lubridate::as.duration()) - ) %>% - tidyr::drop_na(difftime) %>% - dplyr::count(difftime, sort = TRUE) -} - -#calculate the nth Quantile of time differences per group (in a grouped dataset) -nth.difftime <- function(dataset, Datetime.colname = Datetime, n = 0.95) { - dataset %>% - dplyr::mutate( - difftime = c(NA, diff({{Datetime.colname}}) %>% lubridate::as.duration()) - ) %>% - tidyr::drop_na(difftime) %>% - dplyr::summarise( - Quant = stats::quantile(difftime, probs = n, na.rm = TRUE) - ) -} - #calculate the whether the nth quantile of time differences in one dataset is smaller or equal to the nth quantile of time differences in another dataset compare.difftime <- function(dataset1, dataset2, Datetime.colname = Datetime, n = 0.95) { Quant1 <- nth.difftime(dataset1, {{ Datetime.colname }}, n = n) @@ -139,4 +117,4 @@ compare_threshold <- function(Light.vector, } return(out) -} \ No newline at end of file +} diff --git a/R/import_LL.R b/R/import_LL.R index 3b5370d..7ea2f6f 100644 --- a/R/import_LL.R +++ b/R/import_LL.R @@ -2,84 +2,110 @@ #' Import a light logger dataset or related data #' +#' @description +#' #' Imports a dataset and does the necessary transformations to get the right #' column formats. Unless specified otherwise, the function will set the -#' timezone of the data to `UTC`. It will also enforce an `id` to separate -#' different datasets and will order/arrange the dataset within each `id`. +#' timezone of the data to `UTC`. It will also enforce an `Id` to separate +#' different datasets and will order/arrange the dataset within each `Id` by +#' Datetime. See the Details and Devices section for more information and the +#' full list of arguments. +#' +#' @details +#' There are specific and a general import function. The general import function +#' is described below, whereas the specific import functions take the form of +#' `import$device()`. The general import function is a thin wrapper around the +#' specific import functions. The specific import functions take the following +#' arguments: #' -#' If the `Id` column is already part of the `dataset` it will just use this -#' column. If the column is not present it will add this column and fill it with -#' the filename of the importfile (see param `auto.id`). +#' * `filename`: Filename(s) for the Dataset. Can also contain the filepath, +#' but `path` must then be `NULL`. Expects a `character`. If the vector is +#' longer than `1`, multiple files will be read in into one Tibble. +#' * `path`: Optional path for the dataset(s). `NULL` is the default. Expects +#' a `character`. +#' * `n_max`: maximum number of lines to read. Default is `Inf`. +#' * `tz`: Timezone of the data. `"UTC"` is the default. Expects a +#' `character`. You can look up the supported timezones with [OlsonNames()]. +#' * `Id.colname`: Lets you specify a column for the id of a dataset. Expects a +#' symbol (Default is `Id`). This column will be used for grouping +#' ([dplyr::group_by()]). +#' * `auto.id`: If the `Id.colname` column is not part of the `dataset`, the `Id` +#' can be automatically extracted from the filename. The argument expects a +#' regular expression [regex] and will by default just give the whole filename +#' without file extension. +#' * `manual.id`: If this argument is not `NULL`, and no `Id` column is part +#' of the `dataset`, this `character` scalar will be used. **We discourage the +#' use of this arguments when importing more than one file** +#' * `locale`: The locale controls defaults that vary from place to place. +#' * `...`: supply additional arguments to the [readr] import functions, like `na`. Might also be used to supply arguments to the specific import functions, like `column_names` for `Actiwatch_Spectrum` devices. Those devices will alway throw a helpful error message if you forget to supply the necessary arguments. +#' If the `Id` column is already part of the `dataset` it will just use +#' this column. If the column is not present it will add this column and fill +#' it with the filename of the importfile (see param `auto.id`). #' -#' @param filename Filename(s) for the Dataset. Can also contain the filepath, -#' but `path` must then be `NULL`. Expects a `character`. If the vector is -#' longer than `1`, multiple files will be read in into one Tibble. -#' @param path Optional path for the dataset(s). `NULL` is the default. Expects -#' a `character`. -#' @param n_max maximum number of lines to read. Default is `Inf`. -#' @param tz Timezone of the data. `"UTC"` is the default. Expects a -#' `character`. You can look up the supported timezones with [OlsonNames()]. -#' @param ID.colname Lets you specify a column for the participant id. Expects a -#' symbol (Default is `Id`). This column will be used for grouping -#' ([dplyr::group_by()]). -#' @param auto.id If the `Id.colname` column is added to the `dataset`, the `Id` -#' can be automatically extracted from the filename. The argument expects a -#' regular expression [regex] and will by default just give the whole filename -#' without file extension. -#' @param manual.id If this argument is not `NULL`, and no `ID` column is part -#' of the `dataset`, this `character` scalar will be used. -#' **Don´t use this argument if multiple files from different participants are used!**. #' @param ... Parameters that get handed down to the specific import functions -#' @param device From what device do you want to import? For every supported -#' device, there is a sample data file that you can use to test the function -#' (see the examples). Currently the following devices are supported (followed -#' by the `device.ext` spec to access the sample file): -#' * `"ActLumus"` (ActLumus.txt) -#' * `"LYS"` (LYS.csv) +#' @param device From what device do you want to import? For a few devices, +#' there is a sample data file that you can use to test the function (see the +#' examples). See [supported.devices] for a list of supported devices and see +#' below for more information on devices with specific requirements. #' @importFrom rlang := #' @return Tibble/Dataframe with a POSIXct column for the datetime #' @export -#' @section Examples: -#' -#' ## Imports made easy -#' +#' @seealso [supported.devices] +#' @section Devices: #' The set of import functions provide a convenient way to import light logger #' data that is then perfectly formatted to add metadata, make visualizations #' and analyses. There are a number of devices supported, where import should #' just work out of the box. To get an overview, you can simply call the #' `supported.devices` dataset. The list will grow continuously as the package #' is maintained. -#' #' ```{r} #' supported.devices #' ``` +#' +#' ## ActLumus +#' A sample file is provided with the package, it can be accessed through +#' `system.file("extdata/205_actlumus_Log_1020_20230904101707532.txt.zip", +#' package = "LightLogR")`. It does not need to be unzipped to be imported. +#' This sample file is a good example for a regular dataset without gaps +#' ## LYS +#' A sample file is provided with the package, it can be accessed +#' through `system.file("extdata/sample_data_LYS.csv", package = +#' "LightLogR")`. This sample file is a good example for an irregular dataset. +#' ## Actiwatch_Spectrum: +#' **Required Argument: `column_names`** A character vector containing column +#' names in the order in which they appear in the file. This is necessary to +#' find the starting point of actual data. +#' +#' @section Examples: +#' +#' ## Imports made easy #' #' To import a file, simple specify the filename (and path) and feed it to the -#' `import.Dataset` function. There are sample datasets for all devices. +#' `import_Dataset` function. There are sample datasets for all devices. #' #' The import functions provide a basic overview of the data after import, #' such as the intervals between measurements or the start and end dates. #' #' ```{r} #' filepath <- system.file("extdata/sample_data_LYS.csv", package = "LightLogR") -#' dataset <- import.Dataset("LYS", filepath) +#' dataset <- import_Dataset("LYS", filepath) #' ``` #' Import functions can also be called directly: #' #' ```{r} -#' filepath <- system.file("extdata/sample_data_ActLumus.txt", package = "LightLogR") -#' dataset <- import.ActLumus(filepath) +#' filepath <- system.file("extdata/205_actlumus_Log_1020_20230904101707532.txt.zip", package = "LightLogR") +#' dataset <- import$ActLumus(filepath) #' ``` #' #' ```{r} #' dataset %>% -#' dplyr::select(Datetime, TEMPERATURE, LIGHT, MEDI) %>% +#' dplyr::select(Datetime, TEMPERATURE, LIGHT, MEDI, Id) %>% #' dplyr::slice(1500:1505) %>% #' flextable::flextable() %>% #' flextable::autofit() #' ``` -import.Dataset <- function(device, ...) { +import_Dataset <- function(device, ...) { #input control stopifnot( @@ -87,89 +113,260 @@ import.Dataset <- function(device, ...) { device %in% supported.devices ) - import_function_expr <- rlang::parse_expr(paste0("import.", device)) + import_function_expr <- rlang::parse_expr(paste0("import$", device)) eval(import_function_expr)(...) } -# ActLumus ---------------------------------------------------------------- - -#' Import Dataset from ActLumus -#' -#' @rdname import.Dataset -#' @export - -import.ActLumus <- - function(filename, - path = NULL, - n_max = Inf, - tz = "UTC", - ID.colname = Id, - auto.id = ".*", - manual.id = NULL) { - - if (!is.null(path)) { - filename <- file.path(path, filename) - } - - #special handling for ActLumus files - import.expr <- rlang::expr( - {tmp <- readr::read_delim(!!filename, - skip = 32, - delim = ";", - n_max = !!n_max, - col_types = paste0("c",rep("d",32)), - id = "file.name" +# General ---------------------------------------------------------------- +#This internal helper function is a function factory to create import functions +#based on device name and specific import expression +imports <- function(device, + import.expr) { + + import.expr <- rlang::enexpr(import.expr) + #this next step is needed to make the function work with the rlang::new_function + Id.colname <- quote({{ Id.colname }}) + + rlang::new_function( + #function arguments + rlang::exprs( + filename =, + path = NULL, + n_max = Inf, + tz = "UTC", + Id.colname = Id, + auto.id = ".*", + manual.id = NULL, + locale = readr::default_locale(), + silent = FALSE, + ... = + ), + #function expression + rlang::expr({ + + if (!is.null(path)) { + filename <- file.path(path, filename) + } + + id.colname.defused <- colname.defused(!!Id.colname) + #initial checks + stopifnot( + "filename needs to be a character (vector)" = is.character(filename), + "device needs to be a character" = is.character(!!device), + "tz needs to be a character" = is.character(tz), + "tz needs to be a valid time zone, see `OlsonNames()`" = tz %in% OlsonNames(), + "auto.id needs to be a string" = is.character(auto.id), + "n_max needs to be a positive numeric" = is.numeric(n_max) ) - tmp <- tmp %>% - dplyr::rename(Datetime = `DATE/TIME`, - MEDI = `MELANOPIC EDI`) %>% - dplyr::mutate(Datetime = - Datetime %>% lubridate::dmy_hms(tz = !!tz)) + #import the file + tmp <- rlang::eval_tidy(!!import.expr) + + #validate/manipulate the file + if(dim(tmp)[1] == 0) { + stop("No data could be imported. Please check your file and settings") } - ) - - #generic import function - import.link("ActLumus", {{ ID.colname }}) - - } - - -# LYS --------------------------------------------------------------------- - -#' Import Dataset from LYS Button -#' -#' @rdname import.Dataset -#' @export + + if(!id.colname.defused %in% names(tmp)) { + switch(is.null(manual.id) %>% as.character(), + "TRUE" = + {tmp <- tmp %>% + dplyr::mutate(!!Id.colname := + basename(file.name) %>% + tools::file_path_sans_ext() %>% + stringr::str_extract( + auto.id, + group = + if(stringr::str_detect(auto.id, "\\(")) 1 + ), + .before = 1)}, + "FALSE" = + {tmp <- tmp %>% + dplyr::mutate(!!Id.colname := manual.id, .before = 1)} + ) + } + tmp <- tmp %>% + dplyr::mutate(file.name = basename(file.name) %>% + tools::file_path_sans_ext(), + !!Id.colname := factor(!!Id.colname)) %>% + dplyr::group_by(Id = !!Id.colname) %>% + dplyr::arrange(Datetime, .by_group = TRUE) + + #give info about the file + if(!silent) import.info(tmp, !!device, tz, Id) + + #return the file + tmp + + }), + rlang::caller_env() + ) +} -import.LYS <- function(filename, - path = NULL, - n_max = Inf, - tz = "UTC", - ID.colname = Id, - auto.id = ".*", - manual.id = NULL) { - - if (!is.null(path)) { - filename <- file.path(path, filename) - } - - #special handling for LYS files - import.expr <- rlang::expr( - {tmp <- readr::read_csv(!!filename, - n_max = !!n_max, - col_types = c("cfddddddddddd"), - id = "file.name" +import_arguments <- list( + #SpectraWear + SpectraWear = rlang::expr({ + tmp <-suppressMessages( + readr::read_csv(filename, + n_max = n_max, + id = "file.name", + locale = locale, + name_repair = "universal", + ... + )) + tmp <- tmp %>% + dplyr::rename(MEDI = Mel + ) %>% + dplyr::mutate(Datetime = + lubridate::dmy_hms(paste(Date, Time), tz = tz), + Id = paste(.data$id, .data$ls, sep = ".") + ) + }), + #Speccy + Speccy = rlang::expr({ + tmp <-suppressMessages( + readr::read_csv(filename, + n_max = n_max, + id = "file.name", + locale = locale, + name_repair = "universal", + ... + )) + tmp <- tmp %>% + dplyr::rename(MEDI = Melanopic.EDI) %>% + dplyr::mutate(Datetime = + Datetime %>% lubridate::parse_date_time( + orders = "HMSdmy",tz = tz)) + }), + #Intelligent Automation Inc DeLux + DeLux = rlang::expr({ + tmp <-suppressMessages( + readr::read_csv(filename, + n_max = n_max, + id = "file.name", + locale = locale, + name_repair = "universal", + col_types = c("fccdddddddddddddddddd"), + ... + )) + tmp <- tmp %>% + dplyr::rename(Datetime = Timestamp) %>% + dplyr::mutate(Datetime = + Datetime %>% lubridate::ymd_hms(tz = tz)) + }), + #LiDo + LiDo = rlang::expr({ + tmp <- suppressMessages( + readr::read_delim( + filename, + delim = ";", + n_max = n_max, + id = "file.name", + locale = locale, + name_repair = "universal", + ... + ) ) + tmp <- tmp %>% + dplyr::rename(Datetime = UTC.Timestamp, + MEDI = Ev_mel_D65.in.lx) %>% + dplyr::mutate(Datetime = + Datetime %>% + lubridate::dmy_hms() %>% + lubridate::with_tz(tzone = tz)) + }), + #ActLumus + ActLumus = rlang::expr({ + tmp <- suppressMessages( + readr::read_delim( + filename, + skip = 32, + delim = ";", + n_max = n_max, + col_types = paste0("c", rep("d", 32)), + id = "file.name", + locale = locale, + name_repair = "universal", + ... + )) + tmp <- tmp %>% + dplyr::rename(Datetime = DATE.TIME, + MEDI = MELANOPIC.EDI) %>% + dplyr::mutate(Datetime = + Datetime %>% lubridate::dmy_hms(tz = tz)) + }), + #LYS + LYS = rlang::expr({ + tmp <-suppressMessages( + readr::read_csv(filename, + n_max = n_max, + col_types = c("cfddddddddddd"), + id = "file.name", + locale = locale, + name_repair = "universal", + ... + )) tmp <- tmp %>% dplyr::rename(Datetime = timestamp, MEDI = mEDI) %>% dplyr::mutate(Datetime = - Datetime %>% lubridate::dmy_hms(tz = !!tz)) - } - ) - - #generic import function - import.link("LYS", {{ ID.colname }}) - -} + Datetime %>% lubridate::dmy_hms(tz = tz)) + }), + #Actiwatch Spectrum + Actiwatch_Spectrum = rlang::expr({ + #separate the dots list in the column_names and the rest + dots <- rlang::list2(...) + column_names <- dots$column_names + if(is.null(column_names)) + stop("Actiwatch Spectrum requires a vector of `column_names` in the order in which they appear in the file in order to properly detect the starting row") + dots$column_names <- NULL + + tmp <- + purrr::map( + filename, + \(x) { + rows_to_skip <- detect_starting_row(x, + locale = locale, + column_names = column_names, + n_max = n_max) + df <- suppressMessages(do.call( + readr::read_csv, + append(list( + x, + skip = rows_to_skip, + locale=locale, + id = "file.name", + show_col_types = FALSE, + col_types = c("iDtfdfccccfdf"), + name_repair = "universal" + ), + dots))) + + df %>% + dplyr::select(!dplyr::starts_with("...")) + + }) %>% purrr::list_rbind() + tmp <- tmp %>% + tidyr::unite(col = "Datetime", + tidyselect::where(lubridate::is.Date), + tidyselect::where(hms::is_hms), + remove = FALSE + ) %>% + dplyr::mutate( + Datetime = lubridate::ymd_hms(Datetime), + dplyr::across( + dplyr::where(is.character) & + dplyr::where(~ any(stringr::str_detect(.x, ","), na.rm = TRUE)), + ~ stringr::str_replace(.x, ",", ".") %>% + as.numeric() + ) + ) + }) + +) + +#' Import Datasets from supported devices +#' +#' @rdname import_Dataset +#' @export +import <- purrr::imap(import_arguments, \(x, idx) imports(idx,x)) diff --git a/R/import_States.R b/R/import_States.R index e24bf68..37b865e 100644 --- a/R/import_States.R +++ b/R/import_States.R @@ -8,7 +8,13 @@ #' * In the `wide` format, multiple `Datetime` columns indicate the state through the column name. These get pivoted to the `long` format and can be recoded through the `State.encoding` argument. #' * In the `long` format, one column indicates the `State`, while the other gives the `Datetime`. #' -#' @inheritParams import.Dataset +#' @param filename Filename(s) for the Dataset. Can also contain the filepath, +#' but `path` must then be `NULL`. Expects a `character`. If the vector is +#' longer than `1`, multiple files will be read in into one Tibble. +#' @param path Optional path for the dataset(s). `NULL` is the default. Expects +#' a `character`. +#' @param tz Timezone of the data. `"UTC"` is the default. Expects a +#' `character`. You can look up the supported timezones with [OlsonNames()]. #' @param sep String that separates columns in the import file. Defaults to #' `","`. #' @param dec String that indicates a decimal separator in the import file. @@ -31,19 +37,19 @@ #' default). #' * In the `wide` format, this is the newly created column from the `Datetimes` in the `State.colnames`. #' * In the `long` format, this is the existing column that contains the `Datetimes`. -#' @param ID.colname Symbol of the column that contains the `ID` of the subject. +#' @param Id.colname Symbol of the column that contains the `ID` of the subject. #' @param State.newname Symbol of the column that will contain the `State` of #' the subject. In the `wide` format, this is the newly created column from #' the `State.colnames`. In the `long` format, this argument is used to rename #' the `State` column. -#' @param ID.newname Column name used for renaming the `ID.colname` column. -#' @param keepAllColumns Logical that specifies whether all columns should be +#' @param Id.newname Column name used for renaming the `Id.colname` column. +#' @param keep.all Logical that specifies whether all columns should be #' kept in the output. Defaults to `FALSE`. -#' @param suppress.summary Logical that specifies whether a summary of the -#' imported data should not be shown. Defaults to `FALSE`. +#' @param silent Logical that specifies whether a summary of the +#' imported data should be shown. Defaults to `FALSE`. #' #' @return a dataset with the `ID`, `State`, and `Datetime` columns. May contain -#' additional columns if `keepAllColumns` is `TRUE`. +#' additional columns if `keep.all` is `TRUE`. #' @export #' #' @examples @@ -53,24 +59,25 @@ #' file.sleep <- "205_sleepdiary_all_20230904.csv" #' #' #import Data in the wide format (sleep/wake times) -#' import.Statechanges(file.sleep, path, +#' import_Statechanges(file.sleep, path, #' Datetime.format = "dmyHM", #' State.colnames = c("sleep", "offset"), #' State.encoding = c("sleep", "wake"), -#' ID.colname = record_id, +#' Id.colname = record_id, #' sep = ";", #' dec = ",") #' #' #import in the long format (Comments on sleep) -#' import.Statechanges(file.sleep, path, +#' import_Statechanges(file.sleep, path, #' Datetime.format = "dmyHM", #' State.colnames = "comments", #' Datetime.column = sleep, -#' ID.colname = record_id, +#' Id.colname = record_id, #' sep = ";", #' dec = ",", structure = "long") -import.Statechanges <- function(filename, path = NULL, +import_Statechanges <- function(filename, + path = NULL, sep = ",", dec = ".", structure = "wide", @@ -79,11 +86,11 @@ import.Statechanges <- function(filename, path = NULL, State.colnames, # a vector State.encoding = State.colnames, Datetime.column = Datetime, - ID.colname, + Id.colname, State.newname = State, - ID.newname = Id, - keepAllColumns = FALSE, - suppress.summary = FALSE) { + Id.newname = Id, + keep.all = FALSE, + silent = FALSE) { # Initial Checks ---------------------------------------------------------- @@ -103,8 +110,8 @@ import.Statechanges <- function(filename, path = NULL, if(structure == "long" & length(State.colnames) > 1) { stop("In the long format, State.colnames must be a scalar") } - if(!is.logical(keepAllColumns)) { - stop("The specified keepAllColumns must be a logical") + if(!is.logical(keep.all)) { + stop("The specified keep.all must be a logical") } if(!structure %in% c("wide", "long")) { stop("The specified structure must be either 'wide' or 'long'") @@ -118,8 +125,8 @@ import.Statechanges <- function(filename, path = NULL, if(!tz %in% OlsonNames()) { stop("The specified tz must be a valid time zone from the OlsonNames vector") } - if(!is.logical(suppress.summary)) { - stop("The specified suppress.summary must be a logical") + if(!is.logical(silent)) { + stop("The specified silent must be a logical") } # Logic ---------------------------------------------------------- @@ -137,7 +144,7 @@ import.Statechanges <- function(filename, path = NULL, ) # Convert inputs to strings for matching - idStr <- as.character(rlang::ensym(ID.colname)) + idStr <- as.character(rlang::ensym(Id.colname)) State.newnameStr <- as.character(rlang::ensym(State.newname)) Datetime.columnStr <- as.character(rlang::ensym(Datetime.column)) stateStrs <- State.colnames @@ -164,10 +171,10 @@ import.Statechanges <- function(filename, path = NULL, # Rename columns using the {{ }} syntax, remove NA and group by ID, arrange # it, recode, and set Datetimes as POSIXct data <- dplyr::rename(data, - {{ ID.newname }} := {{ ID.colname }}, + {{ Id.newname }} := {{ Id.colname }}, Datetime = {{ Datetime.column }}) %>% - dplyr::filter(!is.na({{ ID.newname }}), !is.na(Datetime)) %>% - dplyr::group_by({{ ID.newname }}) + dplyr::filter(!is.na({{ Id.newname }}), !is.na(Datetime)) %>% + dplyr::group_by({{ Id.newname }}) data <- if(structure == "wide") { @@ -185,16 +192,16 @@ import.Statechanges <- function(filename, path = NULL, } data <- data %>% - dplyr::mutate({{ ID.newname }} := factor({{ ID.newname }})) %>% + dplyr::mutate({{ Id.newname }} := factor({{ Id.newname }})) %>% dplyr::arrange(Datetime, .by_group = TRUE) # Return the Data ---------------------------------------------------------- # Decide on whether to keep other columns - if (!keepAllColumns) { + if (!keep.all) { data <- dplyr::select( - data, {{ ID.newname }}, {{ State.newname }}, Datetime + data, {{ Id.newname }}, {{ State.newname }}, Datetime ) } @@ -205,7 +212,7 @@ import.Statechanges <- function(filename, path = NULL, ) } - if(!suppress.summary) import.info(data, "Statechanges", tz, {{ ID.newname }}) + if(!silent) import.info(data, "Statechanges", tz, {{ Id.newname }}) return(data) -} \ No newline at end of file +} diff --git a/R/import_helper.r b/R/import_helper.r index b989cc3..5c4d27c 100644 --- a/R/import_helper.r +++ b/R/import_helper.r @@ -1,63 +1,6 @@ -#This internal helper function is used for setup of imports of various device files -import.LL <- function(filename, - device = "none", - import.expr, - n_max = Inf, - tz = "UTC", - ID.colname = Id, - auto.id = ".*", - manual.id = NULL) { - - id.colname.defused <- colname.defused(id) - tz <- tz - - #initial checks - stopifnot( - "filename needs to be a character (vector)" = is.character(filename), - "device needs to be a character" = is.character(device), - "tz needs to be a character" = is.character(tz), - "tz needs to be a valid time zone, see `OlsonNames()`" = tz %in% OlsonNames(), - "auto.id needs to be a string" = is.character(auto.id), - "n_max needs to be a positive numeric" = is.numeric(n_max) - ) - #import the file - tmp <- rlang::eval_tidy(import.expr) - - #validate/manipulate the file - if(!id.colname.defused %in% names(tmp)) { - switch(is.null(manual.id) %>% as.character(), - "TRUE" = - {tmp <- tmp %>% - dplyr::mutate({{ ID.colname }} := - basename(file.name) %>% - tools::file_path_sans_ext() %>% - stringr::str_extract(auto.id), - .before = 1)}, - "FALSE" = - {tmp <- tmp %>% - dplyr::mutate({{ ID.colname }} := manual.id, .before = 1)} - ) - } - tmp <- tmp %>% - dplyr::mutate(file.name = basename(file.name) %>% - tools::file_path_sans_ext(), - {{ ID.colname }} := factor({{ ID.colname }})) %>% - dplyr::group_by({{ ID.colname }}) %>% - dplyr::arrange(Datetime, .by_group = TRUE) - - #give info about the file - import.info(tmp, device, tz, {{ ID.colname }}) - - #return the file - tmp -} - - #This internal helper function prints basic information about a dataset and is used for import function -import.info <- function(tmp, device, tz, ID.colname) { +import.info <- function(tmp, device, tz, Id.colname) { #give info about the file - - min.time <- min(tmp$Datetime) max.time <- max(tmp$Datetime) interval.time <- @@ -65,7 +8,7 @@ import.info <- function(tmp, device, tz, ID.colname) { dplyr::reframe( interval.time = diff(Datetime) ) %>% - dplyr::group_by({{ ID.colname }}) %>% + dplyr::group_by({{ Id.colname }}) %>% dplyr::count(interval.time) %>% dplyr::mutate(pct = (n/sum(n)) %>% scales::percent(), interval.time = interval.time %>% lubridate::as.duration()) @@ -79,34 +22,51 @@ import.info <- function(tmp, device, tz, ID.colname) { "The system timezone is ", Sys.timezone(), ". Please correct if necessary!\n")}, - "Start: ", format(tmp$Datetime[1]), "\n", - "End: ", format(max(tmp$Datetime)), "\n", + "Start: ", format(min.time), "\n", + "End: ", format(max.time), "\n", "Timespan: " , diff(c(min.time, max.time)) %>% format(digits = 2), "\n", "Observation intervals: \n", sep = "") utils::capture.output(interval.time)[c(-1,-2,-4)] %>% cat(sep = "\n") } -#This internal helper functions provides a link from the specific import function to the generic import function - -import.link <- function(device, ID.colname) { +#This internal helper function looks for the starting row of an import file based on a vector of column names in order. +detect_starting_row <- + function(filepath, + locale = readr::default_locale(), + column_names, + n_max = 250) { + + #make a regex pattern from the column names + column_names <- + column_names %>% + stringr::str_flatten(collapse = ".*") + + #read in all the lines and remove junk + line_read <- + readr::read_lines(filepath, n_max = n_max, locale=locale) + + #find the row where the column names are + which_lines <- + line_read %>% + purrr::map_vec( + \(x) stringr::str_detect(x,column_names) + ) %>% which() + + #if there is no line with the column names, return an error + if(length(which_lines) == 0) { + stop("Could not find a line with this order of column names in the file. Please check the correct order and spelling of the given columns.") + } - env <- parent.frame() - filename <- env$filename - tz<- env$tz - auto.id<- env$auto.id - manual.id <- env$manual.id - n_max<- env$n_max - path<- env$path - import.expr <- env$import.expr + #if there is more than one line with the column names, return an error + if(length(which_lines) > 1) { + stop(paste("Found", length(which_lines), "lines with the given column names, but require exactly 1. Please provide a more specific pattern.")) + } - #generic import function - import.LL(filename = filename, - device = device, - import.expr = import.expr, - n_max = n_max, - tz = tz, - manual.id = manual.id, - ID.colname = {{ ID.colname }}, - auto.id = auto.id) -} \ No newline at end of file + #if there is only one line with the column names, return the line number + #and reduce it by one to get the lines to skip + if(length(which_lines) == 1) { + return(which_lines-1) + } + +} diff --git a/R/interval2state.R b/R/interval2state.R index d315369..f94820a 100644 --- a/R/interval2state.R +++ b/R/interval2state.R @@ -3,7 +3,7 @@ #' This function can make use of `Interval` data that contain `States` (like #' `"sleep"`, `"wake"`, `"wear"`) and add a column to a light logger `dataset`, #' where the `State` of every `Datetime` is specified, based on the -#' participant's `ID`. +#' participant's `Id`. #' #' @inheritParams sc2interval #' @param State.interval.dataset Name of the dataset that contains `State` and @@ -12,15 +12,15 @@ #' @param State.colname,Interval.colname Column names of the `State` and #' `Interval` in the `State.interval.dataset`. Expects a `symbol`. `State` #' can't be in the `dataset` yet or the function will give an error. You can -#' also set `overwrite.State = TRUE`. -#' @param ID.colname.dataset,ID.colname.interval Column names of the +#' also set `overwrite = TRUE`. +#' @param Id.colname.dataset,Id.colname.interval Column names of the #' participant's `Id` in both the `dataset` and the `State.interval.dataset`. #' On the off-chance that there are inconsistencies, the names can be #' different. If the datasets where imported and preprocessed with #' [LightLogR], this just works. Both datasets need an `Id`, because the #' states will be added based not only on the `Datetime`, but also depending #' on the dataset. -#' @param overwrite.State If `TRUE` (defaults to `FALSE`), the function will +#' @param overwrite If `TRUE` (defaults to `FALSE`), the function will #' overwrite the `State.colname` column if it already exists. #' #' @return One of @@ -51,15 +51,14 @@ #' #' #create a dataset with states #' dataset_with_states <- -#' sample.data.environment %>% group_by(Source) %>% -#' interval2state(State.interval.dataset = intervals, -#' ID.colname.dataset = Source) +#' sample.data.environment %>% +#' interval2state(State.interval.dataset = intervals) #' #' #visualize the states - note that the states are only added to the respective ID in the dataset? #' library(ggplot2) -#' ggplot(dataset_with_states, aes(x = Datetime, y = `MELANOPIC EDI`, color = State)) + +#' ggplot(dataset_with_states, aes(x = Datetime, y = MEDI, color = State)) + #' geom_point() + -#' facet_wrap(~Source, ncol = 1) +#' facet_wrap(~Id, ncol = 1) #' #' interval2state <- function(dataset, @@ -67,17 +66,17 @@ interval2state <- function(dataset, Datetime.colname = Datetime, State.colname = State, Interval.colname = Interval, - ID.colname.dataset = Id, - ID.colname.interval = Id, - overwrite.State = FALSE, + Id.colname.dataset = Id, + Id.colname.interval = Id, + overwrite = FALSE, output.dataset = TRUE) { # Initial Checks ---------------------------------------------------------- Datetime.colname.defused <- colname.defused({{ Datetime.colname }}) State.colname.defused <- colname.defused({{ State.colname }}) Interval.colname.defused <- colname.defused({{ Interval.colname }}) - ID.colname.dataset.defused <- colname.defused({{ ID.colname.dataset }}) - ID.colname.interval.defused <- colname.defused({{ ID.colname.interval }}) + Id.colname.dataset.defused <- colname.defused({{ Id.colname.dataset }}) + Id.colname.interval.defused <- colname.defused({{ Id.colname.interval }}) stopifnot( "dataset is not a dataframe" = is.data.frame(dataset), @@ -87,10 +86,10 @@ interval2state <- function(dataset, State.colname.defused %in% names(State.interval.dataset), "Interval.colname must be part of the State.interval.dataset" = Interval.colname.defused %in% names(State.interval.dataset), - "ID.colname.interval must be part of the State.interval.dataset" = - ID.colname.interval.defused %in% names(State.interval.dataset), - "ID.colname.dataset must be part of the dataset" = - ID.colname.dataset.defused %in% names(dataset), + "Id.colname.interval must be part of the State.interval.dataset" = + Id.colname.interval.defused %in% names(State.interval.dataset), + "Id.colname.dataset must be part of the dataset" = + Id.colname.dataset.defused %in% names(dataset), "Datetime.colname must be part of the dataset" = Datetime.colname.defused %in% names(dataset), "Datetime.colname must be a Datetime" = @@ -101,13 +100,13 @@ interval2state <- function(dataset, #give an error or warning if the reference column is present if(all( State.colname.defused %in% names(dataset), - !overwrite.State, + !overwrite, State.colname.defused %in% names(State.interval.dataset))) - stop("A `State` column with the given (or default) name is already part of the dataset. Please remove the column, rename it, or set `overwrite.State = TRUE`") + stop("A `State` column with the given (or default) name is already part of the dataset. Please remove the column, rename it, or set `overwrite = TRUE`") if(all( State.colname.defused %in% names(dataset), State.colname.defused %in% names(State.interval.dataset))) - warning("A `State` column with the given (or default) name is already part of the dataset. It is overwritten, because `overwrite.State = TRUE ` was set.") + warning("A `State` column with the given (or default) name is already part of the dataset. It is overwritten, because `overwrite = TRUE ` was set.") # Manipulation ---------------------------------------------------------- @@ -168,7 +167,7 @@ interval2state <- function(dataset, dplyr::full_join( State.interval.dataset2, by = dplyr::join_by( - {{ ID.colname.dataset }} == {{ ID.colname.interval }}, + {{ Id.colname.dataset }} == {{ Id.colname.interval }}, {{ Datetime.colname }}) ) %>% dplyr::arrange({{ Datetime.colname }}, .by_group = TRUE) @@ -210,4 +209,4 @@ interval2state <- function(dataset, if(output.dataset) dataset else dataset[[colname.defused({{ State.colname }})]] -} \ No newline at end of file +} diff --git a/R/join.R b/R/join_datasets.R similarity index 73% rename from R/join.R rename to R/join_datasets.R index 649da79..ee5843b 100644 --- a/R/join.R +++ b/R/join_datasets.R @@ -3,8 +3,8 @@ #' Join Light logging datasets that have a common structure. The least commonality are identical columns for `Datetime` and `Id` across all sets. #' #' @param ... `Object names` of datasets that need to be joined. -#' @param Datetime.column,ID.column Column names for the `Datetime` and `id` columns. The defaults (`Datetime`, `Id`) are already set up for data imported with [LightLogR]. -#' @param preserve.name Should a column named `dataset` in the joined data indicate from which dataset each observation originated? Defaults to `FALSE` as the `Id` column should suffice. Expects a `logical`. +#' @param Datetime.column,Id.column Column names for the `Datetime` and `id` columns. The defaults (`Datetime`, `Id`) are already set up for data imported with [LightLogR]. +#' @param add.origin Should a column named `dataset` in the joined data indicate from which dataset each observation originated? Defaults to `FALSE` as the `Id` column should suffice. Expects a `logical`. #' @param debug Output changes to a tibble indicating which dataset is missing the respective `Datetime` or `Id` column. Expects a `logical` and defaults to `FALSE`. #' #' @return One of @@ -17,23 +17,23 @@ #' package = "LightLogR") #' file.LL <- "205_actlumus_Log_1020_20230904101707532.txt.zip" #' file.env <- "cyepiamb_CW35_Log_1431_20230904081953614.txt.zip" -#' dataset.LL <- import.ActLumus(file.LL, path, auto.id = "^(\\d{3})") -#' dataset.env <- import.ActLumus(file.env, path, manual.id = "CW35") +#' dataset.LL <- import$ActLumus(file.LL, path, auto.id = "^(\\d{3})") +#' dataset.env <- import$ActLumus(file.env, path, manual.id = "CW35") #' #' #join the datasets -#' joined <- join.datasets(dataset.LL, dataset.env) +#' joined <- join_datasets(dataset.LL, dataset.env) #' #' #compare the number of rows #' nrow(dataset.LL) + nrow(dataset.env) == nrow(joined) #' #' #debug, when set to TRUE, will output a tibble of datasets with missing necessary columns #' dataset.LL <- dataset.LL %>% dplyr::select(-Datetime) -#' join.datasets(dataset.LL, dataset.env, debug = TRUE) +#' join_datasets(dataset.LL, dataset.env, debug = TRUE) -join.datasets <- function(..., +join_datasets <- function(..., Datetime.column = Datetime, - ID.column = Id, - preserve.name = FALSE, + Id.column = Id, + add.origin = FALSE, debug = FALSE) { datasets <- rlang::dots_list(..., .named = TRUE) @@ -42,13 +42,13 @@ join.datasets <- function(..., stopifnot( "all given datasets must be data.frames" = all(all.datasets), - "preserve.name must be a logical" = is.logical(preserve.name), + "add.origin must be a logical" = is.logical(add.origin), "debug" = is.logical(debug) ) Datetime.column.defused <- colname.defused({{ Datetime.column }}) - ID.column.defused <- colname.defused({{ ID.column }}) - column.names <- c(Datetime.column.defused, ID.column.defused) + Id.column.defused <- colname.defused({{ Id.column }}) + column.names <- c(Datetime.column.defused, Id.column.defused) dataset.names <- datasets %>% purrr::map(names) @@ -70,7 +70,7 @@ join.datasets <- function(..., "Not all datasets have the required Datetime and ID columns. Use debug = TRUE if you want to see which datasets are not ok." = all.present) - if(preserve.name) { + if(add.origin) { datasets <- datasets %>% purrr::imap(\(x,y) {x %>% dplyr::mutate(dataset = y)}) } diff --git a/R/sc2interval.R b/R/sc2interval.R index 3c6ebfe..5d4f1a8 100644 --- a/R/sc2interval.R +++ b/R/sc2interval.R @@ -12,16 +12,16 @@ #' interval can be set, so that implicit missing timestamps after a set period #' of times can be enforced. #' -#' @inheritParams create_Time.data +#' @inheritParams create_Timedata #' @param Statechange.colname,Interval.colname,State.colname Column names that #' do contain the name/description of the `state change` and that will contain #' the `Interval` and `State` (which are also the default). Expects a `symbol`. The #' `Statechange` column needs do be part of the `dataset`. -#' @param full,full.first These arguments handle the state on the first day +#' @param full,starting.state These arguments handle the state on the first day #' before the first state change and after the last state change on the last #' day. If `full = TRUE`(the default, expects a `logical`), it will create an #' interval on the first day from 00:00:00 up until the state change. This -#' interval will be given the state specified in `full.first`, which is `NA` +#' interval will be given the state specified in `starting.state`, which is `NA` #' by default, but can be any `character` scalar. It will further extend the #' interval for the last state change until the end of the last given day #' (more specifically until 00:00:00 the next day). @@ -66,7 +66,7 @@ sc2interval <- function(dataset, State.colname = State, Interval.colname = Interval, full = TRUE, - full.first = NA, + starting.state = NA, output.dataset = TRUE, Datetime.keep = FALSE, length.restriction = 60*60*24) { @@ -107,13 +107,14 @@ sc2interval <- function(dataset, }) %>% dplyr::group_modify( ~ { dplyr::add_row(.x, - {{ Statechange.colname }} := full.first, + {{ Statechange.colname }} := starting.state, {{ Datetime.colname }} := min(.[[Datetime.colname.defused]]) %>% lubridate::floor_date(unit = "day"), .before = 1) }) } #add the interval column and filter out intervals of unplausible length. + #also filters out NA intervals dataset <- dataset %>% dplyr::mutate( {{ Interval.colname }} := @@ -125,7 +126,8 @@ sc2interval <- function(dataset, lubridate::int_length({{ Interval.colname }}) <= length.restriction ~ {{ Statechange.colname }}, .default = NA - )) + )) %>% + dplyr::filter(!is.na({{ Interval.colname }})) if(!Datetime.keep) { dataset <- dataset %>% dplyr::select(-{{ Datetime.colname }}) diff --git a/R/shiny_import.R b/R/shiny_import.R index f96ac35..fda4d87 100644 --- a/R/shiny_import.R +++ b/R/shiny_import.R @@ -15,8 +15,8 @@ server <- function(input, output) { writeLines(lines, temp_file) read_methods <- list( - LYS = import.LYS, - ActLumus = import.ActLumus, + LYS = import$LYS, + ActLumus = import$ActLumus, read_csv = function(x) readr::read_csv(x) ) diff --git a/R/sleepint2Brown.R b/R/sleepint2Brown.R index 99e0241..bc19db1 100644 --- a/R/sleepint2Brown.R +++ b/R/sleepint2Brown.R @@ -7,7 +7,7 @@ #' and `night`. The result can be used as input for [interval2state()] and might #' be used subsequently with [Brown2reference()]. #' -#' The function will filter out any non-sleep intervals that are shorter than the specified `evening.length`. This prevents problematic behaviour when the `evening.length` is longer than the `wake` intervals or, e.g., when the first state is sleep after midnight and there is a prior `NA` interval from midnight till sleep. This behavior might, however, result in problematic results for specialized experimental setups with ultra short wake/sleep cycles. The `sleep.int2Brown()` function would not be applicable in those cases anyways. +#' The function will filter out any non-sleep intervals that are shorter than the specified `evening.length`. This prevents problematic behaviour when the `evening.length` is longer than the `wake` intervals or, e.g., when the first state is sleep after midnight and there is a prior `NA` interval from midnight till sleep. This behavior might, however, result in problematic results for specialized experimental setups with ultra short wake/sleep cycles. The `sleep_int2Brown()` function would not be applicable in those cases anyways. #' #' @param dataset A dataset with sleep/wake intervals. #' @param Interval.colname The name of the column with the intervals. Defaults to `Interval`. @@ -37,9 +37,9 @@ #' #intervals from sample #' sc2interval(sample) #' #recoded intervals -#' sc2interval(sample) %>% sleep.int2Brown() +#' sc2interval(sample) %>% sleep_int2Brown() #' -sleep.int2Brown <- function(dataset, +sleep_int2Brown <- function(dataset, Interval.colname = Interval, Sleep.colname = State, wake.state = "wake", diff --git a/R/symlog_trans.R b/R/symlog_trans.R index f69337d..507de77 100644 --- a/R/symlog_trans.R +++ b/R/symlog_trans.R @@ -16,20 +16,20 @@ #' #' @examples #' dataset <- -#' sample.data.environment %>% dplyr::group_by(Source) %>% +#' sample.data.environment %>% #' filter_Date(end = "2023-08-15") %>% #' dplyr::mutate(MEDI = dplyr::case_when( -#' Source == "Environment" ~ -`MELANOPIC EDI`, -#' .default = `MELANOPIC EDI`)) +#' Id == "Environment" ~ -MEDI, +#' .default = MEDI)) #' #basic application where transformation, breaks and labels are set manually #' dataset %>% -#' gg_day(col = Source) + +#' gg_day(aes_col = Id) + #' ggplot2::scale_y_continuous( #' trans = "symlog") #' #' #the same plot, but with breaks and labels set manually #' dataset %>% -#' gg_day(col = Source) + +#' gg_day(aes_col = Id) + #' ggplot2::scale_y_continuous( #' trans = "symlog", #' breaks = c(-10^(5:0), 0, 10^(0:5)), @@ -38,7 +38,7 @@ #' #setting individual arguments of the symlog function manually allows #' #e.g., to emphasize values smaller than 1 #' dataset %>% -#' gg_day(col = Source) + +#' gg_day(aes_col = Id) + #' ggplot2::scale_y_continuous( #' trans = symlog_trans(thr = 0.01), #' breaks = c(-10^(5:-1), 0, 10^(-1:5)), diff --git a/R/visualize_helper.R b/R/visualize_helper.R new file mode 100644 index 0000000..237021a --- /dev/null +++ b/R/visualize_helper.R @@ -0,0 +1,81 @@ +#' Create a (shifted) sequence of Datetimes for axis breaks +#' +#' Take a vector of Datetimes and create a sequence of Datetimes with a given +#' shift and interval. This is a helper function to create breaks for plotting, +#' e.g. in [gg_days()], and is best used in conjunction with +#' [Datetime_limits()]. The function is a thin wrapper around [seq()]. +#' +#' @param x a vector of `Datetimes` +#' @param shift a `numeric` giving the number of `duration` object, e.g. +#' `lubridate::duration(12, "hours")` +#' @param by a `character` scalar giving the unit of the interval in +#' [base::seq()] +#' +#' @return a `vector` of `Datetimes` +#' @export +#' +#' @examples +#' dataset <- c("2023-08-15", "2023-08-20") +#' Datetime_breaks(dataset) +#' Datetime_breaks(dataset, shift = 0) +#' Datetime_breaks(dataset, by = "12 hours") + +Datetime_breaks <- function(x, + shift = lubridate::duration(12, "hours"), + by = "1 day") { + x <- lubridate::as_datetime(x) + (min(x) + shift) %>% + seq(max(x), by = by) +} + +#' Find or set sensible limits for Datetime axis +#' +#' Take a vector of `Datetimes` and return the start of the first and end of the +#' last day of data. The `start` and the `length` can be adjusted by +#' `durations`, like [lubridate::ddays()]. It is used in the [gg_days()] +#' function to return a sensible axis. This function is a thin wrapper around +#' [lubridate::floor_date()] and [lubridate::ceiling_date()]. +#' +#' @param x a vector of `Datetimes` +#' @param start optional `duration` object, e.g. `lubridate::ddays(1)` that +#' shifts the start of the `Datetime` vector by this amount. +#' @param length optional `duration` object, e.g. `lubridate::ddays(7)` that +#' shifts the end of the `Datetime` vector by this amount from the (adjusted) +#' start. +#' @param unit a `character` scalar giving the unit of rounding in +#' [lubridate::floor_date()] and [lubridate::ceiling_date()] +#' @param ... other arguments passed to [lubridate::floor_date()] and +#' [lubridate::ceiling_date()] +#' +#' @return a 2 item `vector` of `Datetimes` with the (adjusted) start and end of +#' the input vector. +#' @export +#' +#' @examples +#' dataset <- c("2023-08-15", "2023-08-20") +#' breaks <- Datetime_breaks(dataset) +#' Datetime_limits(breaks) +#' Datetime_limits(breaks, start = lubridate::ddays(1)) +#' Datetime_limits(breaks, length = lubridate::ddays(2)) +Datetime_limits <- function(x, + start = NULL, + length = NULL, + unit = "1 day", + ...) { + + min_date <- x %>% lubridate::as_datetime() %>% min() + if(!is.null(start)) { + min_date <- (min_date + start) + min_date %>% lubridate::as_datetime() + } + max_date <- + if(is.null(length)) { + x %>% lubridate::as_datetime() %>% max() + } else { + y <- (min_date + length) + y %>% lubridate::as_datetime() + } + + c(lubridate::floor_date(min_date, unit = unit, ...), + lubridate::ceiling_date(max_date, unit = unit, ...)) +} \ No newline at end of file diff --git a/README.Rmd b/README.Rmd index 7cc6191..56632e9 100644 --- a/README.Rmd +++ b/README.Rmd @@ -21,12 +21,13 @@ knitr::opts_chunk$set( - Personalized luminous exposure data is progressively gaining importance in various sectors, including research, occupational affairs, and fitness tracking. Data are collected through a proliferating selection of wearable loggers and dosimeters, varying in size, shape, functionality, and output format. Despite or maybe because of numerous use cases, the field lacks a unified framework for collecting, validating, and analyzing the accumulated data. This issue increases the time and expertise necessary to handle such data and also compromises the FAIRness (Findability, Accessibility, Interoperability, Reusability) of the results, especially in meta-analyses. -##### Please note that LightLogR is work in progress! If you are interested in the project and want to know more, please give us a [message](mailto:johannes.zauner@tum.de) +::: {style="text-align:center"} +![Light logger data can powerfully convey insights into personal light exposure](man/figures/Day.png){width="90%"} +::: -**LightLogR** is a package under development as part of the [*MeLiDos*](https://www.melidos.eu) project to address these issues. MeLiDos is a joint, [EURAMET](https://www.euramet.org)-funded project involving sixteen partners across Europe, aimed at developing a metrology and a standard workflow for wearable light logger data and optical radiation dosimeters. Its primary contributions towards fostering FAIR data include the development of a common file format, robust metadata descriptors, and an accompanying open-source software ecosystem. **LightLogR** aims to provide tools for: +**LightLogR** is a package under development as part of the [*MeLiDos*](https://www.melidos.eu) project to address these issues. The package aims to provide tools for: - Generation of data and metadata files @@ -42,8 +43,20 @@ Personalized luminous exposure data is progressively gaining importance in vario - Integration of data into a unified database for cross-study analyses +##### Please note that LightLogR is work in progress! If you are interested in the project and want to know more, please give us a [message](mailto:johannes.zauner@tum.de) + +Have a look at the **Example** section down below to get started, or dive into the [Articles](https://tscnlab.github.io/LightLogR/articles/index.html) to get more in depth information about how to work with the package and generate images such as the one above. + +## About the creation and funding of LightLogR + **LightLogR** is developed by the [*Translational Sensory & Circadian Neuroscience*](https://www.tscnlab.org) lab, a joint group from the [Technical University of Munich](https://www.tum.de/en/) and the [Max Planck Institute for Biological Cybernetics](https://www.mpg.de/152075/biological-cybernetics). +[*MeLiDos*](https://www.melidos.eu) is a joint, [EURAMET](https://www.euramet.org)-funded project involving sixteen partners across Europe, aimed at developing a metrology and a standard workflow for wearable light logger data and optical radiation dosimeters. Its primary contributions towards fostering FAIR data include the development of a common file format, robust metadata descriptors, and an accompanying open-source software ecosystem. + +[![](man/figures/Metrology_Partnership_LOGO.jpg){width="282"}](https://www.euramet.org) ![](man/figures/Co-Funded-By-the-EU.png){width="288"} + +The project (22NRM05 MeLiDos) has received funding from the European Partnership on Metrology, co-financed from the European Union's Horizon Europe Research and Innovation Programme and by the Participating States. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or EURAMET. Neither the European Union nor the granting authority can be held responsible for them. + ## Installation You can install the development version of LightLogR from [GitHub](https://github.com/) with: @@ -59,68 +72,113 @@ Here is a quick starter on how do use **LightLogR**. ```{r, message = FALSE} library(LightLogR) -# these packages are just needed for the examples as shown. +#these packages are just needed for the examples as shown. library(flextable) library(dplyr) library(ggplot2) ``` - ### Import + You can import a light logger dataset with ease. The import functions give quick, helpful feedback about the dataset. -```{r, out.width="50%", fig.align='center'} +```{r, out.width="60%", fig.align='center'} filename <- system.file("extdata/sample_data_LYS.csv", package = "LightLogR") -dataset <- import.LYS(filename, tz = "Europe/Berlin") +dataset <- import$LYS(filename, tz = "Europe/Berlin") + +dataset %>% ungroup() %>% select(Datetime, lux, kelvin, MEDI) %>% + slice(8000:8005) %>% flextable() %>% autofit() +``` + +::: {style="color: white"} +. +::: + +For more complex data, there is the useful `gg_overview()` function to get an immediate grasp of your data. See it here in action for a dataset with multiple participants. It also indicates where data is missing, based on the measurement epochs found in the data. -dataset %>% - select(Datetime, lux, kelvin, MEDI) %>% - slice(8000:8005) %>% - flextable() %>% - autofit() +``` +LLdata %>% gg_overview() ``` +::: {style="text-align:center"} +![](man/figures/gg_overview2.png){width="60%"} +::: + ### Visualize + Once imported, **LightLogR** allows you conveniently visualize the data. -```{r, fig.retina=2} +```{r, out.width= "60%", fig.align='center'} dataset %>% gg_day() ``` There is a wide range of options to the `gg_day()` function to customize the output. Have a look at the reference page (`?gg_day`) to see all options. You can also override most of the defaults, e.g., for different `color`, `facetting`, `theme` options. -```{r, fig.retina=2} -dataset %>% - gg_day(col = MEDI >= 250, scales = "fixed", size = 0.5) + - scale_color_discrete(type = c("orange", "skyblue")) +```{r, out.width= "70%", fig.align='center'} +dataset %>% + gg_day(aes_col = MEDI < 250, size = 0.75) + + theme(legend.position = "bottom") ``` ### More than one dataset -The built-in dataset `sample.data.environment` shows a combined dataset of light logger data and a second set of data - in this case unobstructed outdoor light measurements. Combined datasets can be easily visualized with `gg_day()`. The `col` parameter used on the `Source` column of the dataset allows for a color separation. +The built-in dataset `sample.data.environment` shows a combined dataset of light logger data and a second set of data - in this case unobstructed outdoor light measurements. Combined datasets can be easily visualized with `gg_day()`. The `col` parameter used on the `Id` column of the dataset allows for a color separation. -```{r, fig.height= 6, fig.retina=2} -sample.data.environment %>% +```{r, out.width= "70%", fig.align='center', fig.height = 6} +sample.data.environment %>% gg_day( start.date = "2023-08-18", - y.axis = `MELANOPIC EDI`, - col = Source, + aes_col = Id, scales = "fixed", - geom = "line" - ) + geom = "line") + theme(legend.position = "bottom") ``` -With the `cut_Datetime()` function, the data can further be broken up into arbitrary time intervals. This can be used to easily compare different datasets. Just put the function in between the dataset and `gg_day()`. This makes a new variable available for plotting: `Datetime.rounded`. Just make sure, that the `geom` parameter is set to *boxplot* and the `group` parameter uses both the info from the rounded time interval (`Datetime.rounded`) and the different datasets (`Source`). The `interaction` function can easily combine them. The default interval for `cut_Datetime()` is 3 hours. -```{r, fig.retina=2} -sample.data.environment %>% - cut_Datetime() %>% + +If you want to get a feeling for the data over the course of multiple days, the `gg_days()` function comes in handy. It works similar to `gg_day()`. It is also opinionated in terms of the scaling and linebreaks to only show whole days, all of which can be adjusted. + +```{r, fig.width = 10, warning=FALSE} +sample.data.environment %>% + gg_days(geom = "ribbon", alpha = 0.25, col = "black") +``` + + +With the `cut_Datetime()` function, the data can further be broken up into arbitrary time intervals. This can be used to easily compare different datasets. Just put the function in between the dataset and `gg_day()`. This makes a new variable available for plotting: `Datetime.rounded`. Just make sure, that the `geom` parameter is set to *boxplot* and the `group` parameter uses both the info from the rounded time interval (`Datetime.rounded`) and the different datasets (`Source`). The `base::interaction()` function can easily combine them. The default interval for `cut_Datetime()` is 3 hours. + +```{r, out.width= "60%", fig.align='center'} +sample.data.environment %>% + cut_Datetime() %>% gg_day( end.date = "2023-08-15", - y.axis = `MELANOPIC EDI`, - col = Source, + aes_col = Id, scales = "fixed", geom = "boxplot", - group = interaction(Source, Datetime.rounded) - ) + + group = interaction(Id, Datetime.rounded)) + theme(legend.position = "bottom") ``` +### Insights, Validation, and Processing + +**LightLogR** provides a range of functions to get insight into your light logger data. Most importantly, you can search for and eliminate implicit gaps. + +```{r} +dataset %>% gap_finder() +``` + +The huge amount of gaps comes from the fact that the measurement intervals are somewhat irregular between 15 and 18 seconds in this case. This leaves very little intervals to start regularly. We got this information after import, but can still get to this info through `count_difftime()`. + +```{r} +dataset %>% ungroup() %>% count_difftime() +``` + +We can eliminate this through the `gap_handler()` function. This function will automatically fill in the gaps with NA values. As the most dominant interval in the dataset is now not 15 seconds anymore (because intermediate datapoints have been added), we need to specify the epoch for `gap_finder()`. + +```{r} +dataset %>% gap_handler() %>% gap_finder(epoch = "15 sec") +``` + +If we want to force the data to be regular, we can use the `aggregate_Datetime()` function. This will aggregate the data to the specified epoch. There are sensible defaults on how to aggregate numeric, categorical, and logical data. You can also specify your own aggregation functions. + +```{r} +dataset %>% aggregate_Datetime(unit = "15 sec") %>% gap_finder() +``` + +Now, very few gaps are left (every time the the lagged epochs lead to a completely skipped regular epoch). The function can also be used to conveniently change the interval to arbitrary values, e.g., `"5 mins"`, or `"1 hour"`. \ No newline at end of file diff --git a/README.md b/README.md index 31e2d85..02bd9d7 100644 --- a/README.md +++ b/README.md @@ -20,17 +20,20 @@ time and expertise necessary to handle such data and also compromises the FAIRness (Findability, Accessibility, Interoperability, Reusability) of the results, especially in meta-analyses. -##### Please note that LightLogR is work in progress! If you are interested in the project and want to know more, please give us a [message](mailto:johannes.zauner@tum.de) +
+ +
+ + +
+ +
**LightLogR** is a package under development as part of the -[*MeLiDos*](https://www.melidos.eu) project to address these issues. -MeLiDos is a joint, [EURAMET](https://www.euramet.org)-funded project -involving sixteen partners across Europe, aimed at developing a -metrology and a standard workflow for wearable light logger data and -optical radiation dosimeters. Its primary contributions towards -fostering FAIR data include the development of a common file format, -robust metadata descriptors, and an accompanying open-source software -ecosystem. **LightLogR** aims to provide tools for: +[*MeLiDos*](https://www.melidos.eu) project to address these issues. The +package aims to provide tools for: - Generation of data and metadata files @@ -47,12 +50,41 @@ ecosystem. **LightLogR** aims to provide tools for: - Integration of data into a unified database for cross-study analyses +##### Please note that LightLogR is work in progress! If you are interested in the project and want to know more, please give us a [message](mailto:johannes.zauner@tum.de) + +Have a look at the **Example** section down below to get started, or +dive into the +[Articles](https://tscnlab.github.io/LightLogR/articles/index.html) to +get more in depth information about how to work with the package and +generate images such as the one above. + +## About the creation and funding of LightLogR + **LightLogR** is developed by the [*Translational Sensory & Circadian Neuroscience*](https://www.tscnlab.org) lab, a joint group from the [Technical University of Munich](https://www.tum.de/en/) and the [Max Planck Institute for Biological Cybernetics](https://www.mpg.de/152075/biological-cybernetics). +[*MeLiDos*](https://www.melidos.eu) is a joint, +[EURAMET](https://www.euramet.org)-funded project involving sixteen +partners across Europe, aimed at developing a metrology and a standard +workflow for wearable light logger data and optical radiation +dosimeters. Its primary contributions towards fostering FAIR data +include the development of a common file format, robust metadata +descriptors, and an accompanying open-source software ecosystem. + +[](https://www.euramet.org) + + +The project (22NRM05 MeLiDos) has received funding from the European +Partnership on Metrology, co-financed from the European Union’s Horizon +Europe Research and Innovation Programme and by the Participating +States. Views and opinions expressed are however those of the author(s) +only and do not necessarily reflect those of the European Union or +EURAMET. Neither the European Union nor the granting authority can be +held responsible for them. + ## Installation You can install the development version of LightLogR from @@ -82,7 +114,7 @@ give quick, helpful feedback about the dataset. ``` r filename <- system.file("extdata/sample_data_LYS.csv", package = "LightLogR") -dataset <- import.LYS(filename, tz = "Europe/Berlin") +dataset <- import$LYS(filename, tz = "Europe/Berlin") #> Successfully read in 11422 observations from LYS-file #> Timezone set is Europe/Berlin. #> Start: 2023-06-21 00:00:12 @@ -95,12 +127,30 @@ dataset <- import.LYS(filename, tz = "Europe/Berlin") #> 3 sample_data_LYS 17s 23 0.201% #> 4 sample_data_LYS 18s 16 0.140% -dataset %>% select(Datetime, lux, kelvin, MEDI) %>% slice(8000:8005) %>% - flextable() %>% autofit() -#> Adding missing grouping variables: `Id` +dataset %>% ungroup() %>% select(Datetime, lux, kelvin, MEDI) %>% + slice(8000:8005) %>% flextable() %>% autofit() ``` - + + +
+ +. + +
+ +For more complex data, there is the useful `gg_overview()` function to +get an immediate grasp of your data. See it here in action for a dataset +with multiple participants. It also indicates where data is missing, +based on the measurement epochs found in the data. + + LLdata %>% gg_overview() + +
+ + + +
### Visualize @@ -108,10 +158,9 @@ Once imported, **LightLogR** allows you conveniently visualize the data. ``` r dataset %>% gg_day() -#> Warning: Transformation introduced infinite values in continuous y-axis ``` - + There is a wide range of options to the `gg_day()` function to customize the output. Have a look at the reference page (`?gg_day`) to see all @@ -120,60 +169,120 @@ options. You can also override most of the defaults, e.g., for different ``` r dataset %>% - gg_day(col = MEDI >= 250, scales = "fixed", size = 0.5) + - scale_color_discrete(type = c("orange", "skyblue")) -#> Scale for colour is already present. -#> Adding another scale for colour, which will replace the existing scale. -#> Warning: Transformation introduced infinite values in continuous y-axis + gg_day(aes_col = MEDI < 250, size = 0.75) + + theme(legend.position = "bottom") ``` - + ### More than one dataset The built-in dataset `sample.data.environment` shows a combined dataset of light logger data and a second set of data - in this case unobstructed outdoor light measurements. Combined datasets can be easily -visualized with `gg_day()`. The `col` parameter used on the `Source` -column of the dataset allows for a color separation. +visualized with `gg_day()`. The `col` parameter used on the `Id` column +of the dataset allows for a color separation. ``` r sample.data.environment %>% gg_day( start.date = "2023-08-18", - y.axis = `MELANOPIC EDI`, - col = Source, + aes_col = Id, scales = "fixed", - geom = "line") + geom = "line") + theme(legend.position = "bottom") #> Only Dates will be used from start.date and end.date input. If you also want to set Datetimes or Times, consider using the `filter_Datetime()` function instead. -#> Warning: Transformation introduced infinite values in continuous y-axis ``` - With -the `cut_Datetime()` function, the data can further be broken up into -arbitrary time intervals. This can be used to easily compare different -datasets. Just put the function in between the dataset and `gg_day()`. -This makes a new variable available for plotting: `Datetime.rounded`. -Just make sure, that the `geom` parameter is set to *boxplot* and the -`group` parameter uses both the info from the rounded time interval -(`Datetime.rounded`) and the different datasets (`Source`). The -`interaction` function can easily combine them. The default interval for -`cut_Datetime()` is 3 hours. + + +If you want to get a feeling for the data over the course of multiple +days, the `gg_days()` function comes in handy. It works similar to +`gg_day()`. It is also opinionated in terms of the scaling and +linebreaks to only show whole days, all of which can be adjusted. + +``` r +sample.data.environment %>% + gg_days(geom = "ribbon", alpha = 0.25, col = "black") +``` + + + +With the `cut_Datetime()` function, the data can further be broken up +into arbitrary time intervals. This can be used to easily compare +different datasets. Just put the function in between the dataset and +`gg_day()`. This makes a new variable available for plotting: +`Datetime.rounded`. Just make sure, that the `geom` parameter is set to +*boxplot* and the `group` parameter uses both the info from the rounded +time interval (`Datetime.rounded`) and the different datasets +(`Source`). The `base::interaction()` function can easily combine them. +The default interval for `cut_Datetime()` is 3 hours. ``` r sample.data.environment %>% cut_Datetime() %>% gg_day( end.date = "2023-08-15", - y.axis = `MELANOPIC EDI`, - col = Source, + aes_col = Id, scales = "fixed", geom = "boxplot", - group = interaction(Source, Datetime.rounded)) + + group = interaction(Id, Datetime.rounded)) + theme(legend.position = "bottom") #> Only Dates will be used from start.date and end.date input. If you also want to set Datetimes or Times, consider using the `filter_Datetime()` function instead. -#> Warning: Transformation introduced infinite values in continuous y-axis -#> Warning: Removed 3429 rows containing non-finite values (`stat_boxplot()`). ``` - + + +### Insights, Validation, and Processing + +**LightLogR** provides a range of functions to get insight into your +light logger data. Most importantly, you can search for and eliminate +implicit gaps. + +``` r +dataset %>% gap_finder() +#> Found 10758 gaps. 761 Datetimes fall into the regular sequence. +``` + +The huge amount of gaps comes from the fact that the measurement +intervals are somewhat irregular between 15 and 18 seconds in this case. +This leaves very little intervals to start regularly. We got this +information after import, but can still get to this info through +`count_difftime()`. + +``` r +dataset %>% ungroup() %>% count_difftime() +#> # A tibble: 4 × 2 +#> difftime n +#> +#> 1 15s 10015 +#> 2 16s 1367 +#> 3 17s 23 +#> 4 18s 16 +``` + +We can eliminate this through the `gap_handler()` function. This +function will automatically fill in the gaps with NA values. As the most +dominant interval in the dataset is now not 15 seconds anymore (because +intermediate datapoints have been added), we need to specify the epoch +for `gap_finder()`. + +``` r +dataset %>% gap_handler() %>% gap_finder(epoch = "15 sec") +#> No gaps found +``` + +If we want to force the data to be regular, we can use the +`aggregate_Datetime()` function. This will aggregate the data to the +specified epoch. There are sensible defaults on how to aggregate +numeric, categorical, and logical data. You can also specify your own +aggregation functions. + +``` r +dataset %>% aggregate_Datetime(unit = "15 sec") %>% gap_finder() +#> Found 97 gaps. 11422 Datetimes fall into the regular sequence. +``` + +Now, very few gaps are left (every time the the lagged epochs lead to a +completely skipped regular epoch). The function can also be used to +conveniently change the interval to arbitrary values, e.g., `"5 mins"`, +or `"1 hour"`. diff --git a/_pkgdown.yml b/_pkgdown.yml index ed955f4..4d6b03b 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -9,30 +9,38 @@ reference: exports from measurement devices or online databases. This section also includes functions to import auxiliary data, such as sleep/wake data. The family of import functions works on a variety of device-specific files - through `import.*()`. + through `import_*()`. contents: - - import.Dataset - - import.ActLumus - - import.LYS - - import.Statechanges + - import_Dataset + - import + - import_Statechanges - - title: Process + - title: Insight desc: > - This section includes functions to process light logger data, e.g., to - validate and clean data, to filter, cut or aggreagate data, or to join - datasets. + This section includes functions to gain more insight into light logger. + Functions in this section will not return a version of the input dataset, + but rather information based on it. contents: + - count_difftime - dominant_epoch - gapless_Datetimes - - gap_handler - gap_finder + + - title: Validate & Process + desc: > + This section includes functions to process light logger data, e.g., to + validate and clean data, to filter, cut or aggreagate data, or to join + datasets. All of these functions will return a version of the input dataset. + contents: + - gap_handler - cut_Datetime - aggregate_Datetime - - create_Time.data + - create_Timedata - filter_Datetime + - filter_Datetime_multiple - filter_Date - filter_Time - - join.datasets + - join_datasets - title: Expand desc: > @@ -42,9 +50,9 @@ reference: - data2reference - sc2interval - interval2state - - sleep.int2Brown - - Brown.check - - Brown.rec + - sleep_int2Brown + - Brown_check + - Brown_rec - Brown2reference - title: Visualize @@ -54,7 +62,15 @@ reference: contents: - gg_overview - gg_day + - gg_days + + - title: Helpers + desc: > + This section includes helper functions that are used in the other sections. + contents: - symlog_trans + - Datetime_breaks + - Datetime_limits - title: Datasets desc: > diff --git a/data-raw/supported-devices.R b/data-raw/supported-devices.R index e649d5b..23fc511 100644 --- a/data-raw/supported-devices.R +++ b/data-raw/supported-devices.R @@ -1,5 +1,6 @@ ## code to prepare `supported.devices` dataset goes here -supported.devices <- c("LYS", "ActLumus") +library(LightLogR) +supported.devices <- names(import_arguments) %>% sort() usethis::use_data(supported.devices, overwrite = TRUE) diff --git a/data/sample.data.environment.rda b/data/sample.data.environment.rda index 88a3455..3126c25 100644 Binary files a/data/sample.data.environment.rda and b/data/sample.data.environment.rda differ diff --git a/data/supported.devices.rda b/data/supported.devices.rda index 0cab54b..d832b76 100644 Binary files a/data/supported.devices.rda and b/data/supported.devices.rda differ diff --git a/inst/CITATION b/inst/CITATION index 70f1d10..6f36d01 100644 --- a/inst/CITATION +++ b/inst/CITATION @@ -1,7 +1,7 @@ citHeader("To cite LightLogR in publications use:") -citEntry( - entry = "Misc", +bibentry( + bibtype = "Misc", title = "LightLogR: Working With Wearable Light Logger Data", author = "Johannes Zauner, Manuel Spitschan", journal = "", diff --git a/inst/extdata/sample_data_ActLumus.txt b/inst/extdata/sample_data_ActLumus.txt deleted file mode 100644 index e34b3e6..0000000 --- a/inst/extdata/sample_data_ActLumus.txt +++ /dev/null @@ -1,2098 +0,0 @@ -#ActLogModel=2.0.0 -+-------------+ Condor Instruments Report +-------------+ -SOFTWARE_VERSION : 2.1.0 -LOG_FILE_VERSION : 1.0.3 -LOG_CREATION_SV : 2.1.0 -SUBJECT_NAME : -SUBJECT_GENDER : -SUBJECT_DATE_OF_BIRTH : 01/01/1900 -DEVICE_PLACEMENT : -SUBJECT_DESCRIPTION : - -DEVICE_ID : 1020 -DEVICE_MODEL : AL0101 -HARDWARE_VERSION : 1.0 -FIRMWARE_VERSION : 1.2 -MEMORY_SIZE : 7963136 -LOG_SIZE : 156940 -MEMORY_USAGE : 1.97 % -BATTERY_VOLTAGE : 4.1812 -ERROR_FLAG : - -ERROR_CODE : 0 -POWER_DOWN_FLAG : 0 -TAT_THRESHOLD : - -ORIENTATION : 16 -MODE : - -INTERVAL : - -DATA_CORRECTION : 0 -DATA_CORRECTION_DESCRIPTION : None -FILE_DATE_TIME : 14/07/2023 22:31:24 -CONNECTION_SYSTEM_DATE_TIME : 14/07/2023 22:31:06 -CONNECTION_DEVICE_DATE_TIME : 14/07/2023 22:31:06 -DEVICE_PLACEMENT : -+-------------------------------------------------------+ -DATE/TIME;MS;EVENT;TEMPERATURE;EXT TEMPERATURE;ORIENTATION;PIM;PIMn;TAT;TATn;ZCM;ZCMn;LIGHT;AMB LIGHT;RED LIGHT;GREEN LIGHT;BLUE LIGHT;IR LIGHT;UVA LIGHT;UVB LIGHT;STATE;CAP_SENS_1;CAP_SENS_2;F1;F2;F3;F4;F5;F6;F7;F8;MELANOPIC EDI;CLEAR -23/06/2023 11:57:14;0;0;22.88;0.00;16;0;0;0;0;0;0;221.17;0.00;0.00;0.00;0.00;0.04;0.00;0.00;4;230;167;0.0046;0.0166;0.0175;0.0289;0.0374;0.0393;0.0355;0.0261;188.85;0.11 -23/06/2023 11:58:14;0;0;22.94;0.00;16;0;0;0;0;0;0;221.03;0.00;0.00;0.00;0.00;0.04;0.00;0.00;4;229;168;0.0046;0.0165;0.0175;0.0288;0.0375;0.0393;0.0355;0.0260;188.06;0.11 -23/06/2023 11:59:14;0;0;23.06;0.00;16;0;0;0;0;0;0;227.30;0.00;0.00;0.00;0.00;0.06;0.00;0.00;4;224;168;0.0051;0.0173;0.0183;0.0301;0.0388;0.0409;0.0373;0.0286;192.99;0.12 -23/06/2023 12:00:14;0;0;23.12;0.00;16;0;0;0;0;0;0;227.56;0.00;0.00;0.00;0.00;0.05;0.00;0.00;4;226;168;0.0051;0.0173;0.0183;0.0300;0.0388;0.0408;0.0373;0.0284;193.50;0.12 -23/06/2023 12:01:14;0;0;23.12;0.00;16;0;0;0;0;0;0;233.22;0.00;0.00;0.00;0.00;0.06;0.00;0.00;4;231;169;0.0054;0.0178;0.0189;0.0309;0.0399;0.0422;0.0388;0.0305;197.38;0.13 -23/06/2023 12:02:14;0;0;23.19;0.00;16;0;0;0;0;0;0;232.55;0.00;0.00;0.00;0.00;0.06;0.00;0.00;4;223;168;0.0054;0.0177;0.0188;0.0307;0.0398;0.0420;0.0387;0.0302;196.62;0.13 -23/06/2023 12:03:14;0;0;23.19;0.00;16;0;0;0;0;0;0;229.86;0.00;0.00;0.00;0.00;0.05;0.00;0.00;4;227;168;0.0051;0.0173;0.0185;0.0302;0.0391;0.0413;0.0379;0.0291;194.84;0.12 -23/06/2023 12:04:14;0;0;23.19;0.00;16;0;0;0;0;0;0;226.78;0.00;0.00;0.00;0.00;0.05;0.00;0.00;4;231;169;0.0049;0.0170;0.0181;0.0297;0.0385;0.0405;0.0370;0.0280;192.82;0.12 -23/06/2023 12:05:14;0;0;23.19;0.00;16;0;0;0;0;0;0;228.93;0.00;0.00;0.00;0.00;0.05;0.00;0.00;4;227;168;0.0049;0.0171;0.0182;0.0299;0.0388;0.0409;0.0375;0.0284;194.54;0.12 -23/06/2023 12:06:14;0;0;23.19;0.00;16;0;0;0;0;0;0;234.93;0.00;0.00;0.00;0.00;0.05;0.00;0.00;4;224;168;0.0053;0.0177;0.0190;0.0309;0.0400;0.0422;0.0391;0.0305;199.36;0.13 -23/06/2023 12:07:14;0;0;23.19;0.00;16;0;0;0;0;0;0;240.93;0.00;0.00;0.00;0.00;0.06;0.00;0.00;4;228;168;0.0057;0.0182;0.0196;0.0319;0.0412;0.0437;0.0408;0.0328;203.17;0.14 -23/06/2023 12:08:14;0;0;23.19;0.00;16;0;0;0;0;0;0;229.25;0.00;0.00;0.00;0.00;0.05;0.00;0.00;4;230;169;0.0049;0.0170;0.0183;0.0299;0.0388;0.0408;0.0375;0.0283;195.25;0.12 -23/06/2023 12:09:14;0;0;23.12;0.00;16;0;0;0;0;0;0;236.09;0.00;0.00;0.00;0.00;0.05;0.00;0.00;4;228;168;0.0053;0.0177;0.0190;0.0311;0.0401;0.0424;0.0394;0.0309;200.27;0.13 -12/07/2023 11:17:08;0;5;28.00;0.00;16;3434;57.2333;64;1.06667;248;4.13333;245.79;0.00;0.00;0.00;0.00;0.05;0.00;0.00;4;193;144;0.0062;0.0165;0.0184;0.0289;0.0424;0.0468;0.0426;0.0311;189.67;0.13 -12/07/2023 11:18:08;0;2;28.19;0.00;16;889;14.8167;20;0.333333;61;1.01667;44.46;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;193;142;0.0014;0.0026;0.0031;0.0045;0.0081;0.0090;0.0082;0.0055;29.64;0.02 -12/07/2023 16:19:02;0;0;28.38;0.00;1;661;11.0167;2;0.0333333;37;0.616667;118.46;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;193;144;0.0033;0.0066;0.0076;0.0108;0.0219;0.0240;0.0213;0.0121;73.01;0.06 -12/07/2023 16:20:02;0;0;28.50;0.00;16;3199;53.3167;61;1.01667;148;2.46667;111.08;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;193;144;0.0028;0.0056;0.0068;0.0098;0.0201;0.0228;0.0195;0.0111;67.48;0.05 -12/07/2023 16:21:02;0;0;28.56;0.00;16;3904;65.0667;82;1.36667;206;3.43333;179.00;0.00;0.00;0.00;0.00;0.02;0.00;0.00;4;194;144;0.0047;0.0094;0.0112;0.0163;0.0321;0.0367;0.0313;0.0174;112.48;0.08 -12/07/2023 16:22:02;0;0;28.62;0.00;2;2236;37.2667;21;0.35;86;1.43333;62.01;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;193;144;0.0016;0.0033;0.0040;0.0058;0.0111;0.0127;0.0109;0.0066;39.60;0.03 -12/07/2023 16:23:02;0;0;28.62;0.00;2;625;10.4167;4;0.0666667;32;0.533333;86.21;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;192;142;0.0023;0.0045;0.0055;0.0080;0.0155;0.0177;0.0154;0.0098;53.70;0.04 -12/07/2023 16:24:02;0;0;28.62;0.00;16;1621;27.0167;17;0.283333;101;1.68333;198.66;0.00;0.00;0.00;0.00;0.02;0.00;0.00;4;194;144;0.0057;0.0112;0.0136;0.0195;0.0354;0.0395;0.0350;0.0221;135.03;0.09 -12/07/2023 16:25:02;0;0;28.62;0.00;8;1066;17.7667;6;0.1;65;1.08333;137.40;0.00;0.00;0.00;0.00;0.02;0.00;0.00;4;194;144;0.0049;0.0092;0.0117;0.0164;0.0241;0.0258;0.0252;0.0208;110.74;0.08 -12/07/2023 16:26:02;0;0;28.56;0.00;8;773;12.8833;7;0.116667;51;0.85;44.38;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;194;144;0.0018;0.0032;0.0042;0.0059;0.0078;0.0084;0.0086;0.0088;37.45;0.03 -12/07/2023 16:27:02;0;4;28.56;0.00;16;1352;22.5333;22;0.366667;74;1.23333;62.13;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;193;143;0.0018;0.0034;0.0041;0.0060;0.0112;0.0127;0.0114;0.0078;39.82;0.03 -12/07/2023 16:28:02;0;2;28.50;0.00;1;337;5.61667;0;0;17;0.283333;82.12;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;194;144;0.0020;0.0042;0.0047;0.0067;0.0153;0.0174;0.0149;0.0072;45.04;0.04 -12/07/2023 16:29:02;0;3;28.44;0.00;16;2527;42.1167;55;0.916667;161;2.68333;320.84;0.00;0.00;0.00;0.00;0.02;0.00;0.00;0;195;145;0.0078;0.0159;0.0180;0.0260;0.0582;0.0662;0.0545;0.0254;188.30;0.12 -12/07/2023 16:30:02;0;0;28.25;0.00;1;2083;34.7167;46;0.766667;159;2.65;6.24;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;234;177;0.0002;0.0003;0.0004;0.0005;0.0011;0.0014;0.0012;0.0009;3.43;0.00 -12/07/2023 16:31:02;0;0;28.12;0.00;1;4;0.0666667;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;234;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:32:02;0;0;28.06;0.00;1;46;0.766667;1;0.0166667;7;0.116667;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:33:02;0;0;28.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;234;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:34:02;0;0;28.00;0.00;1;7;0.116667;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;234;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:35:02;0;0;27.94;0.00;1;480;8;8;0.133333;30;0.5;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:36:02;0;0;27.94;0.00;1;13;0.216667;0;0;2;0.0333333;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:37:02;0;0;27.88;0.00;1;32;0.533333;1;0.0166667;4;0.0666667;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:38:02;0;0;27.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:39:02;0;0;27.88;0.00;1;6;0.1;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:40:02;0;0;27.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:41:02;0;0;27.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:42:02;0;0;27.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:43:02;0;0;27.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:44:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:45:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:46:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:47:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:48:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:49:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:50:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:51:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:52:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:53:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:54:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:55:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:56:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:57:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:58:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 16:59:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:00:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:01:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:02:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:03:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:04:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:05:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:06:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:07:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:08:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:09:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:10:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:11:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:12:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:13:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:14:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:15:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:16:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:17:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:18:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:19:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:20:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:21:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:22:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:23:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:24:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:25:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:26:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:27:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:28:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:29:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:30:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:31:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:32:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:33:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:34:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:35:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:36:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:37:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:38:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:39:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:40:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:41:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:42:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:43:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:44:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:45:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:46:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:47:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:48:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:49:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:50:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:51:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:52:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:53:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:54:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:55:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:56:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:57:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:58:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 17:59:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:00:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:01:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:02:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:03:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:04:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:05:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:06:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:07:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:08:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:09:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:10:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:11:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:12:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:13:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:14:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:15:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:16:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:17:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:18:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:19:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:20:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:21:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:22:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:23:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:24:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:25:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:26:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:27:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:28:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:29:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:30:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:31:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:32:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:33:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:34:02;0;0;26.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:35:02;0;0;26.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:36:02;0;0;26.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:37:02;0;0;26.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:38:02;0;0;26.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:39:02;0;0;26.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:40:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:41:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:42:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:43:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:44:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:45:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:46:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:47:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:48:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:49:02;0;0;26.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:50:02;0;0;26.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:51:02;0;0;26.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:52:02;0;0;26.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:53:02;0;0;26.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:54:02;0;0;26.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:55:02;0;0;26.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:56:02;0;0;26.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:57:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:58:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 18:59:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:00:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:01:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:02:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:03:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:04:02;0;0;26.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:05:02;0;0;26.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:06:02;0;0;26.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:07:02;0;0;26.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:08:02;0;0;26.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:09:02;0;0;26.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:10:02;0;0;26.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:11:02;0;0;26.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:12:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:13:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:14:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:15:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:16:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:17:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:18:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:19:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:20:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:21:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:22:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:23:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:24:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:25:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:26:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:27:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:28:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:29:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:30:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:31:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:32:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:33:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:34:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:35:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:36:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:37:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:38:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:39:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:40:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:41:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:42:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:43:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:44:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:45:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:46:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:47:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:48:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:49:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:50:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:51:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:52:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:53:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:54:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:55:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:56:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:57:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:58:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 19:59:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:00:02;0;0;26.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:01:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:02:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:03:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:04:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:05:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:06:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:07:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:08:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:09:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:10:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:11:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:12:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:13:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:14:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:15:02;0;0;26.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:16:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:17:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:18:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:19:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:20:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:21:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:22:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:23:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:24:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:25:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:26:02;0;0;26.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:27:02;0;0;26.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:28:02;0;0;26.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:29:02;0;0;26.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:30:02;0;0;26.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:31:02;0;0;26.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:32:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:33:02;0;0;26.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:34:02;0;0;26.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:35:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:36:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:37:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:38:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:39:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:40:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:41:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:42:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:43:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:44:02;0;0;26.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:45:02;0;0;26.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:46:02;0;0;26.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:47:02;0;0;26.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:48:02;0;0;26.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:49:02;0;0;26.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:50:02;0;0;26.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:51:02;0;0;26.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:52:02;0;0;26.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:53:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:54:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:55:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:56:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:57:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:58:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 20:59:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:00:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:01:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:02:02;0;0;26.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:03:02;0;0;26.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:04:02;0;0;26.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:05:02;0;0;26.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:06:02;0;0;26.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:07:02;0;0;26.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:08:02;0;0;26.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:09:02;0;0;26.81;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:10:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:11:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:12:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:13:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:14:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:15:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:16:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:17:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:18:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:19:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:20:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:21:02;0;0;26.88;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:22:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:23:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:24:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:25:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:26:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:27:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:28:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:29:02;0;0;26.94;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:30:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:31:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:32:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:33:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:34:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:35:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:36:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:37:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:38:02;0;0;27.00;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:39:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:40:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:41:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:42:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:43:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:44:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:45:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:46:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:47:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:48:02;0;0;27.06;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:49:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:50:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:51:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:52:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:53:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:54:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:55:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:56:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:57:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:58:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 21:59:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:00:02;0;0;27.12;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:01:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:02:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:03:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:04:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:05:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:06:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:07:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:08:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:09:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:10:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:11:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:12:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:13:02;0;0;27.19;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:14:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:15:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:16:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:17:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:18:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:19:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:20:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:21:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:22:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:23:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:24:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:25:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:26:02;0;0;27.25;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:27:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:28:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:29:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:30:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:31:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:32:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:33:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:34:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:35:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:36:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:37:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:38:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:39:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:40:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:41:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:42:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:43:02;0;0;27.31;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:44:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:45:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:46:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:47:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:48:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:49:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:50:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:51:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:52:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:53:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:54:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:55:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:56:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:57:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:58:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 22:59:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:00:02;0;0;27.38;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:01:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:02:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:03:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:04:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:05:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:06:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:07:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:08:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:09:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:10:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:11:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:12:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:13:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:14:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:15:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:16:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:17:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:18:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:19:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:20:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:21:02;0;0;27.44;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:22:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:23:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:24:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:25:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:26:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:27:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:28:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:29:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:30:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:31:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:32:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:33:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:34:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:35:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:36:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:37:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:38:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:39:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:40:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:41:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:42:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:43:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:44:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:45:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:46:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:47:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:48:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:49:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:50:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:51:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:52:02;0;0;27.50;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:53:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:54:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:55:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:56:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:57:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:58:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -12/07/2023 23:59:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:00:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:01:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:02:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:03:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:04:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:05:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:06:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:07:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:08:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:09:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:10:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:11:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:12:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:13:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:14:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:15:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:16:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:17:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:18:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:19:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:20:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:21:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:22:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:23:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:24:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:25:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:26:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:27:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:28:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:29:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:30:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:31:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:32:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:33:02;0;0;27.56;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:34:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:35:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:36:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:37:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:38:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:39:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:40:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:41:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:42:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:43:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:44:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:45:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:46:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:47:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:48:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:49:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:50:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:51:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:52:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:53:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:54:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:55:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:56:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:57:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:58:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 00:59:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:00:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:01:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:02:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:03:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:04:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:05:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:06:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:07:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:08:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:09:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:10:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:11:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:12:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:13:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:14:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:15:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:16:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:17:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:18:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:19:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:20:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:21:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:22:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:23:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:24:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:25:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:26:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:27:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:28:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:29:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:30:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:31:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:32:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:33:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:34:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:35:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:36:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:37:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:38:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:39:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:40:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:41:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:42:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:43:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:44:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:45:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:46:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:47:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:48:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:49:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:50:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:51:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:52:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:53:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:54:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:55:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:56:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:57:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:58:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 01:59:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:00:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:01:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:02:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:03:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:04:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:05:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:06:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:07:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:08:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:09:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:10:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:11:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:12:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:13:02;0;0;27.62;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:14:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:15:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:16:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:17:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:18:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:19:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:20:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:21:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:22:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:23:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:24:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:25:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:26:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:27:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:28:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:29:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:30:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:31:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:32:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:33:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:34:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:35:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:36:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:37:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:38:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:39:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:40:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:41:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:42:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:43:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:44:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:45:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:46:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:47:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:48:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:49:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:50:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:51:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:52:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:53:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:54:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:55:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:56:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:57:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:58:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 02:59:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:00:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:01:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:02:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:03:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:04:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:05:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:06:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:07:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:08:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:09:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:10:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:11:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:12:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:13:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:14:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:15:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:16:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:17:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:18:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:19:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:20:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:21:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:22:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:23:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:24:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:25:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:26:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:27:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:28:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:29:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:30:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:31:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:32:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:33:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:34:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:35:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:36:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:37:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:38:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:39:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:40:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:41:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:42:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:43:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:44:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:45:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:46:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:47:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:48:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:49:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:50:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:51:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:52:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:53:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:54:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:55:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:56:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:57:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:58:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 03:59:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:00:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:01:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:02:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:03:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:04:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:05:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:06:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:07:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:08:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:09:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:10:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:11:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:12:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:13:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:14:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:15:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:16:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:17:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:18:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:19:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:20:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:21:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:22:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:23:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:24:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:25:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:26:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:27:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:28:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:29:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:30:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:31:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:32:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:33:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:34:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:35:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:36:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:37:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:38:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:39:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:40:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:41:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:42:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:43:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:44:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:45:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:46:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:47:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:48:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:49:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:50:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:51:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:52:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:53:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:54:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:55:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:56:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:57:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:58:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 04:59:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:00:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:01:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:02:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:03:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:04:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:05:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:06:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:07:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:08:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:09:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:10:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:11:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:12:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:13:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:14:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:15:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:16:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:17:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:18:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:19:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:20:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:21:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:22:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:23:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:24:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:25:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:26:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:27:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:28:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:29:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:30:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:31:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:32:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:33:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:34:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:35:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:36:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:37:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:38:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:39:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:40:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:41:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:42:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:43:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:44:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:45:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:46:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:47:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:48:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:49:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:50:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:51:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:52:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:53:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:54:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:55:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:56:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:57:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:58:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 05:59:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:00:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:01:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:02:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:03:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:04:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:05:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:06:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:07:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:08:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:09:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:10:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:11:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:12:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:13:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:14:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;174;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:15:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:16:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:17:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:18:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:19:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:20:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:21:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:22:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:23:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:24:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:25:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:26:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;232;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:27:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:28:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:29:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:30:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:31:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:32:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:33:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:34:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:35:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:36:02;0;0;27.69;0.00;1;90;1.5;4;0.0666667;6;0.1;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:37:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:38:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:39:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:40:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:41:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:42:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:43:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:44:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:45:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:46:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:47:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:48:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:49:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:50:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:51:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:52:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:53:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:54:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:55:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:56:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:57:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:58:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 06:59:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:00:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:01:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:02:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:03:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:04:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:05:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:06:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:07:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:08:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:09:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:10:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:11:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:12:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:13:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:14:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:15:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:16:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:17:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:18:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:19:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:20:02;0;0;27.69;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:21:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:22:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:23:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:24:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:25:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:26:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:27:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:28:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:29:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:30:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:31:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:32:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:33:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:34:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:35:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:36:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:37:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:38:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:39:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;175;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:40:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:41:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:42:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:43:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:44:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:45:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:46:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:47:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:48:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:49:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:50:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:51:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:52:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:53:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:54:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:55:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:56:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:57:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:58:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 07:59:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 08:00:02;0;0;27.75;0.00;1;6;0.1;0;0;1;0.0166667;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 08:01:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 08:02:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 08:03:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 08:04:02;0;0;27.75;0.00;1;19;0.316667;0;0;2;0.0333333;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 08:05:02;0;0;27.75;0.00;1;10;0.166667;0;0;1;0.0166667;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 08:06:02;0;0;27.75;0.00;1;9;0.15;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 08:07:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 08:08:02;0;0;27.75;0.00;1;7;0.116667;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 08:09:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;177;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 08:10:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 08:11:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 08:12:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 08:13:02;0;0;27.75;0.00;1;0;0;0;0;0;0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;233;176;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.0000;0.00;0.00 -13/07/2023 08:14:02;0;0;27.94;0.00;16;5369;89.4833;145;2.41667;312;5.2;72.00;0.00;0.00;0.00;0.00;0.02;0.00;0.00;4;195;144;0.0027;0.0053;0.0072;0.0103;0.0120;0.0123;0.0143;0.0166;68.58;0.05 -13/07/2023 08:15:02;0;0;28.12;0.00;16;764;12.7333;19;0.316667;45;0.75;17.58;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;195;144;0.0006;0.0011;0.0016;0.0024;0.0030;0.0033;0.0039;0.0050;14.19;0.01 -13/07/2023 08:16:02;0;0;28.25;0.00;16;0;0;0;0;0;0;9.61;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;194;145;0.0004;0.0007;0.0009;0.0014;0.0017;0.0018;0.0021;0.0030;8.01;0.01 -13/07/2023 08:17:02;0;3;28.38;0.00;16;658;10.9667;5;0.0833333;52;0.866667;99.46;0.00;0.00;0.00;0.00;0.03;0.00;0.00;4;192;144;0.0035;0.0064;0.0093;0.0139;0.0167;0.0183;0.0217;0.0270;84.16;0.07 -13/07/2023 08:18:02;0;0;28.50;0.00;16;626;10.4333;13;0.216667;37;0.616667;78.99;0.00;0.00;0.00;0.00;0.02;0.00;0.00;4;194;143;0.0028;0.0051;0.0074;0.0111;0.0132;0.0144;0.0171;0.0213;67.51;0.06 -13/07/2023 08:19:02;0;0;28.62;0.00;16;0;0;0;0;0;0;19.76;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;195;145;0.0007;0.0013;0.0019;0.0029;0.0034;0.0036;0.0043;0.0058;16.81;0.02 -13/07/2023 08:20:02;0;0;28.75;0.00;16;9;0.15;0;0;0;0;20.62;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;194;144;0.0007;0.0014;0.0020;0.0030;0.0035;0.0038;0.0045;0.0060;17.56;0.02 -13/07/2023 08:21:02;0;0;28.81;0.00;16;0;0;0;0;0;0;20.98;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;194;144;0.0008;0.0014;0.0020;0.0030;0.0036;0.0039;0.0046;0.0061;17.91;0.02 -13/07/2023 08:22:02;0;0;28.88;0.00;16;3;0.05;0;0;0;0;20.35;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;194;144;0.0007;0.0014;0.0020;0.0030;0.0034;0.0037;0.0044;0.0059;17.40;0.02 -13/07/2023 08:23:02;0;0;28.94;0.00;16;0;0;0;0;0;0;17.72;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;194;144;0.0006;0.0012;0.0017;0.0026;0.0030;0.0032;0.0038;0.0051;15.21;0.01 -13/07/2023 08:24:02;0;0;29.00;0.00;16;0;0;0;0;0;0;18.54;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;195;145;0.0007;0.0012;0.0018;0.0027;0.0031;0.0034;0.0040;0.0054;15.89;0.01 -13/07/2023 08:25:02;0;0;29.06;0.00;16;0;0;0;0;0;0;18.91;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;195;144;0.0007;0.0013;0.0018;0.0028;0.0032;0.0035;0.0041;0.0054;16.27;0.01 -13/07/2023 08:26:02;0;0;29.06;0.00;16;3;0.05;0;0;0;0;18.41;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;195;144;0.0007;0.0012;0.0018;0.0027;0.0031;0.0034;0.0040;0.0053;15.85;0.01 -13/07/2023 08:27:02;0;0;29.06;0.00;16;0;0;0;0;0;0;18.12;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;195;144;0.0007;0.0012;0.0018;0.0026;0.0031;0.0033;0.0039;0.0052;15.61;0.01 -13/07/2023 08:28:02;0;0;29.12;0.00;16;8;0.133333;0;0;0;0;15.90;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;194;145;0.0006;0.0011;0.0015;0.0023;0.0027;0.0029;0.0034;0.0045;13.78;0.01 -13/07/2023 08:29:02;0;0;29.12;0.00;16;3;0.05;0;0;0;0;16.75;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;195;145;0.0006;0.0011;0.0016;0.0024;0.0028;0.0031;0.0036;0.0048;14.49;0.01 -13/07/2023 08:30:02;0;0;29.12;0.00;16;0;0;0;0;0;0;18.46;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;194;145;0.0007;0.0012;0.0018;0.0027;0.0031;0.0034;0.0040;0.0053;15.97;0.01 -13/07/2023 08:31:02;0;0;29.12;0.00;16;98;1.63333;4;0.0666667;9;0.15;18.72;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;194;145;0.0007;0.0013;0.0018;0.0027;0.0032;0.0034;0.0040;0.0054;16.19;0.01 -13/07/2023 08:32:02;0;0;29.12;0.00;16;0;0;0;0;0;0;19.90;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;194;145;0.0007;0.0013;0.0019;0.0029;0.0034;0.0036;0.0043;0.0056;17.27;0.01 -13/07/2023 08:33:02;0;0;29.19;0.00;16;817;13.6167;12;0.2;65;1.08333;21.98;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;188;137;0.0008;0.0015;0.0021;0.0032;0.0037;0.0041;0.0049;0.0066;18.59;0.02 -13/07/2023 08:34:02;0;0;29.12;0.00;16;3396;56.6;76;1.26667;183;3.05;562.04;0.00;0.00;0.00;0.00;0.15;0.00;0.00;0;233;175;0.0201;0.0374;0.0541;0.0790;0.0931;0.1018;0.1231;0.1474;494.40;0.39 -13/07/2023 08:35:02;0;0;30.38;0.00;8;4704;78.4;96;1.6;357;5.95;92.86;0.00;0.00;0.00;0.00;0.04;0.00;0.00;0;214;155;0.0037;0.0064;0.0088;0.0131;0.0156;0.0186;0.0251;0.0335;73.56;0.08 -13/07/2023 08:36:02;0;0;30.75;0.00;2;5226;87.1;125;2.08333;360;6;244.58;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;152;168;0.0093;0.0172;0.0243;0.0352;0.0404;0.0447;0.0556;0.0679;219.25;0.18 -13/07/2023 08:37:02;0;0;31.44;0.00;16;7351;122.517;208;3.46667;466;7.76667;350.51;0.00;0.00;0.00;0.00;0.09;0.00;0.00;0;142;94;0.0135;0.0251;0.0358;0.0516;0.0572;0.0616;0.0736;0.0880;332.15;0.24 -13/07/2023 08:38:02;0;0;32.31;0.00;16;2202;36.7;47;0.783333;104;1.73333;547.45;0.00;0.00;0.00;0.00;0.15;0.00;0.00;0;152;97;0.0195;0.0362;0.0525;0.0770;0.0918;0.0986;0.1159;0.1388;478.63;0.38 -13/07/2023 08:39:02;0;0;32.50;0.00;16;1769;29.4833;29;0.483333;155;2.58333;633.60;0.00;0.00;0.00;0.00;0.17;0.00;0.00;0;131;94;0.0225;0.0419;0.0608;0.0890;0.1060;0.1138;0.1338;0.1592;556.22;0.43 -13/07/2023 08:40:02;0;0;32.44;0.00;16;889;14.8167;15;0.25;54;0.9;745.56;0.00;0.00;0.00;0.00;0.19;0.00;0.00;0;146;108;0.0268;0.0500;0.0724;0.1053;0.1241;0.1327;0.1555;0.1834;667.16;0.50 -13/07/2023 08:41:02;0;0;32.50;0.00;16;1798;29.9667;31;0.516667;156;2.6;686.34;0.00;0.00;0.00;0.00;0.18;0.00;0.00;0;132;93;0.0245;0.0457;0.0661;0.0962;0.1145;0.1227;0.1440;0.1696;607.54;0.46 -13/07/2023 08:42:02;0;0;32.56;0.00;2;629;10.4833;1;0.0166667;58;0.966667;178.56;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;166;96;0.0065;0.0122;0.0167;0.0256;0.0303;0.0336;0.0407;0.0503;148.21;0.14 -13/07/2023 08:43:02;0;0;32.50;0.00;2;518;8.63333;3;0.05;42;0.7;253.97;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;134;94;0.0093;0.0171;0.0242;0.0361;0.0428;0.0467;0.0556;0.0680;217.84;0.19 -13/07/2023 08:44:02;0;0;32.50;0.00;16;243;4.05;1;0.0166667;24;0.4;871.94;0.00;0.00;0.00;0.00;0.21;0.00;0.00;0;141;115;0.0316;0.0589;0.0854;0.1236;0.1447;0.1543;0.1801;0.2110;789.71;0.58 -13/07/2023 08:45:02;0;0;32.44;0.00;16;137;2.28333;4;0.0666667;10;0.166667;1008.00;0.00;0.00;0.00;0.00;0.25;0.00;0.00;0;149;108;0.0365;0.0679;0.0987;0.1424;0.1674;0.1781;0.2076;0.2420;912.66;0.67 -13/07/2023 08:46:02;0;0;32.38;0.00;16;707;11.7833;12;0.2;53;0.883333;763.14;0.00;0.00;0.00;0.00;0.20;0.00;0.00;0;133;110;0.0275;0.0510;0.0740;0.1077;0.1274;0.1363;0.1594;0.1887;678.64;0.52 -13/07/2023 08:47:02;0;0;32.38;0.00;16;1563;26.05;19;0.316667;130;2.16667;977.76;0.00;0.00;0.00;0.00;0.24;0.00;0.00;0;142;128;0.0356;0.0661;0.0959;0.1387;0.1623;0.1731;0.2019;0.2361;885.75;0.65 -13/07/2023 08:48:02;0;0;32.25;0.00;16;2479;41.3167;41;0.683333;271;4.51667;853.84;0.00;0.00;0.00;0.00;0.22;0.00;0.00;0;133;97;0.0307;0.0571;0.0829;0.1206;0.1422;0.1524;0.1784;0.2098;762.09;0.58 -13/07/2023 08:49:02;0;0;32.25;0.00;16;1186;19.7667;23;0.383333;132;2.2;882.66;0.00;0.00;0.00;0.00;0.22;0.00;0.00;0;140;119;0.0321;0.0598;0.0866;0.1253;0.1465;0.1562;0.1821;0.2127;800.67;0.59 -13/07/2023 08:50:02;0;0;32.12;0.00;16;620;10.3333;9;0.15;47;0.783333;782.61;0.00;0.00;0.00;0.00;0.18;0.00;0.00;0;136;128;0.0288;0.0540;0.0780;0.1116;0.1292;0.1360;0.1572;0.1810;729.47;0.51 -13/07/2023 08:51:02;0;0;31.00;0.00;8;2372;39.5333;60;1;156;2.6;153.54;0.00;0.00;0.00;0.00;0.04;0.00;0.00;4;195;147;0.0057;0.0108;0.0154;0.0223;0.0253;0.0267;0.0311;0.0366;144.54;0.10 -13/07/2023 08:52:02;0;0;30.44;0.00;8;183;3.05;2;0.0333333;19;0.316667;54.33;0.00;0.00;0.00;0.00;0.02;0.00;0.00;4;195;147;0.0022;0.0039;0.0055;0.0080;0.0092;0.0098;0.0114;0.0141;49.51;0.04 -13/07/2023 08:53:02;0;0;30.25;0.00;1;22;0.366667;0;0;0;0;34.46;0.00;0.00;0.00;0.00;0.02;0.00;0.00;4;194;147;0.0015;0.0026;0.0036;0.0052;0.0061;0.0068;0.0082;0.0107;28.29;0.03 -13/07/2023 08:54:02;0;0;30.19;0.00;8;220;3.66667;1;0.0166667;16;0.266667;40.52;0.00;0.00;0.00;0.00;0.02;0.00;0.00;4;194;146;0.0017;0.0031;0.0043;0.0062;0.0070;0.0078;0.0092;0.0121;35.50;0.04 -13/07/2023 08:55:02;0;0;31.12;0.00;4;8999;149.983;267;4.45;515;8.58333;227.17;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;174;104;0.0084;0.0154;0.0222;0.0327;0.0383;0.0415;0.0490;0.0609;198.22;0.17 -13/07/2023 08:56:02;0;0;31.56;0.00;16;1151;19.1833;16;0.266667;58;0.966667;121.31;0.00;0.00;0.00;0.00;0.04;0.00;0.00;0;169;94;0.0046;0.0084;0.0120;0.0175;0.0207;0.0225;0.0266;0.0336;104.67;0.09 -13/07/2023 08:57:02;0;0;31.56;0.00;2;136;2.26667;1;0.0166667;8;0.133333;102.34;0.00;0.00;0.00;0.00;0.04;0.00;0.00;0;130;94;0.0044;0.0078;0.0108;0.0155;0.0176;0.0189;0.0219;0.0286;92.81;0.09 -13/07/2023 08:58:02;0;0;31.69;0.00;16;1669;27.8167;23;0.383333;104;1.73333;94.17;0.00;0.00;0.00;0.00;0.03;0.00;0.00;0;131;94;0.0035;0.0065;0.0093;0.0136;0.0159;0.0170;0.0199;0.0247;83.47;0.07 -13/07/2023 08:59:02;0;0;31.75;0.00;16;917;15.2833;17;0.283333;40;0.666667;79.23;0.00;0.00;0.00;0.00;0.02;0.00;0.00;0;133;94;0.0029;0.0059;0.0076;0.0117;0.0131;0.0142;0.0169;0.0201;71.83;0.06 -13/07/2023 09:00:02;0;0;31.81;0.00;16;1774;29.5667;23;0.383333;143;2.38333;513.82;0.00;0.00;0.00;0.00;0.13;0.00;0.00;0;144;94;0.0178;0.0333;0.0482;0.0705;0.0867;0.0930;0.1089;0.1297;439.11;0.35 -13/07/2023 09:01:02;0;0;31.88;0.00;16;1522;25.3667;19;0.316667;137;2.28333;570.04;0.00;0.00;0.00;0.00;0.16;0.00;0.00;0;140;94;0.0205;0.0378;0.0547;0.0801;0.0956;0.1034;0.1216;0.1468;496.29;0.40 -13/07/2023 09:02:02;0;0;31.94;0.00;16;1464;24.4;27;0.45;150;2.5;464.05;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;161;94;0.0169;0.0312;0.0450;0.0663;0.0778;0.0844;0.0994;0.1206;406.54;0.33 -13/07/2023 09:03:02;0;0;32.00;0.00;16;1434;23.9;13;0.216667;140;2.33333;521.61;0.00;0.00;0.00;0.00;0.15;0.00;0.00;0;148;94;0.0189;0.0350;0.0504;0.0738;0.0875;0.0945;0.1110;0.1346;456.75;0.37 -13/07/2023 09:04:02;0;0;32.00;0.00;16;481;8.01667;5;0.0833333;43;0.716667;444.56;0.00;0.00;0.00;0.00;0.13;0.00;0.00;0;155;94;0.0161;0.0298;0.0428;0.0631;0.0749;0.0811;0.0956;0.1166;385.53;0.32 -13/07/2023 09:05:02;0;0;32.06;0.00;16;1385;23.0833;14;0.233333;132;2.2;554.78;0.00;0.00;0.00;0.00;0.16;0.00;0.00;0;134;94;0.0201;0.0372;0.0538;0.0787;0.0929;0.1002;0.1175;0.1416;488.91;0.39 -13/07/2023 09:06:02;0;0;32.06;0.00;16;1143;19.05;21;0.35;117;1.95;587.07;0.00;0.00;0.00;0.00;0.16;0.00;0.00;0;139;94;0.0212;0.0393;0.0570;0.0833;0.0981;0.1056;0.1238;0.1483;519.46;0.41 -13/07/2023 09:07:02;0;0;32.06;0.00;16;1686;28.1;24;0.4;171;2.85;540.62;0.00;0.00;0.00;0.00;0.15;0.00;0.00;0;170;96;0.0198;0.0366;0.0529;0.0773;0.0903;0.0973;0.1141;0.1378;481.21;0.38 -13/07/2023 09:08:02;0;0;32.06;0.00;16;1008;16.8;4;0.0666667;93;1.55;581.60;0.00;0.00;0.00;0.00;0.16;0.00;0.00;0;130;94;0.0209;0.0387;0.0558;0.0813;0.0976;0.1047;0.1225;0.1471;509.23;0.40 -13/07/2023 09:09:02;0;0;32.00;0.00;16;164;2.73333;3;0.05;15;0.25;408.34;0.00;0.00;0.00;0.00;0.13;0.00;0.00;0;166;94;0.0150;0.0277;0.0397;0.0584;0.0688;0.0747;0.0880;0.1087;355.57;0.30 -13/07/2023 09:10:02;0;0;32.06;0.00;16;745;12.4167;15;0.25;78;1.3;517.06;0.00;0.00;0.00;0.00;0.15;0.00;0.00;0;141;96;0.0186;0.0344;0.0497;0.0728;0.0870;0.0938;0.1099;0.1328;449.79;0.36 -13/07/2023 09:11:02;0;0;32.06;0.00;16;3720;62;81;1.35;272;4.53333;408.08;0.00;0.00;0.00;0.00;0.12;0.00;0.00;0;130;94;0.0148;0.0271;0.0390;0.0570;0.0690;0.0745;0.0871;0.1058;351.13;0.29 -13/07/2023 09:12:02;0;0;32.00;0.00;32;4069;67.8167;162;2.7;163;2.71667;65.15;0.00;0.00;0.00;0.00;0.04;0.00;0.00;0;147;96;0.0030;0.0052;0.0069;0.0101;0.0116;0.0126;0.0146;0.0202;56.35;0.06 -13/07/2023 09:13:02;0;0;31.94;0.00;16;1125;18.75;24;0.4;81;1.35;214.63;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;174;96;0.0082;0.0151;0.0210;0.0312;0.0365;0.0397;0.0467;0.0586;186.37;0.17 -13/07/2023 09:14:02;0;0;31.94;0.00;16;50;0.833333;0;0;4;0.0666667;290.87;0.00;0.00;0.00;0.00;0.10;0.00;0.00;0;155;93;0.0107;0.0202;0.0281;0.0421;0.0491;0.0534;0.0630;0.0769;252.31;0.22 -13/07/2023 09:15:02;0;0;31.94;0.00;16;539;8.98333;6;0.1;27;0.45;285.69;0.00;0.00;0.00;0.00;0.09;0.00;0.00;0;131;94;0.0104;0.0201;0.0276;0.0414;0.0480;0.0520;0.0612;0.0743;251.25;0.21 -13/07/2023 09:16:02;0;0;31.94;0.00;16;58;0.966667;0;0;3;0.05;390.74;0.00;0.00;0.00;0.00;0.12;0.00;0.00;0;132;93;0.0144;0.0274;0.0383;0.0562;0.0654;0.0704;0.0825;0.0993;349.46;0.28 -13/07/2023 09:17:02;0;0;31.81;0.00;16;1249;20.8167;25;0.416667;90;1.5;970.53;0.00;0.00;0.00;0.00;0.25;0.00;0.00;0;147;94;0.0357;0.0665;0.0960;0.1383;0.1610;0.1714;0.1986;0.2320;887.99;0.65 -13/07/2023 09:18:02;0;0;31.88;0.00;16;201;3.35;1;0.0166667;13;0.216667;1052.65;0.00;0.00;0.00;0.00;0.25;0.00;0.00;0;171;94;0.0382;0.0714;0.1033;0.1487;0.1746;0.1858;0.2153;0.2495;958.57;0.69 -13/07/2023 09:19:02;0;0;31.81;0.00;16;1100;18.3333;14;0.233333;102;1.7;1077.91;0.00;0.00;0.00;0.00;0.26;0.00;0.00;0;156;96;0.0394;0.0735;0.1062;0.1525;0.1785;0.1896;0.2195;0.2539;987.86;0.70 -13/07/2023 09:20:02;0;0;31.81;0.00;16;873;14.55;9;0.15;91;1.51667;1236.20;0.00;0.00;0.00;0.00;0.29;0.00;0.00;0;156;94;0.0452;0.0841;0.1217;0.1746;0.2046;0.2172;0.2513;0.2902;1134.03;0.80 -13/07/2023 09:21:02;0;0;31.81;0.00;16;1206;20.1;16;0.266667;126;2.1;1186.36;0.00;0.00;0.00;0.00;0.28;0.00;0.00;0;156;94;0.0432;0.0805;0.1163;0.1670;0.1967;0.2091;0.2421;0.2795;1081.56;0.77 -13/07/2023 09:22:02;0;0;31.75;0.00;2;4869;81.15;140;2.33333;261;4.35;590.24;0.00;0.00;0.00;0.00;0.22;0.00;0.00;0;145;114;0.0256;0.0463;0.0634;0.0898;0.0994;0.1052;0.1207;0.1412;568.24;0.45 -13/07/2023 09:23:02;0;0;31.62;0.00;2;1596;26.6;5;0.0833333;153;2.55;695.01;0.00;0.00;0.00;0.00;0.31;0.00;0.00;0;147;98;0.0321;0.0570;0.0752;0.1046;0.1202;0.1256;0.1414;0.1650;661.00;0.56 -13/07/2023 09:24:02;0;0;31.50;0.00;8;1018;16.9667;3;0.05;72;1.2;720.87;0.00;0.00;0.00;0.00;0.30;0.00;0.00;0;142;94;0.0334;0.0600;0.0786;0.1096;0.1230;0.1295;0.1483;0.1734;699.53;0.57 -13/07/2023 09:25:02;0;0;31.38;0.00;2;1518;25.3;25;0.416667;107;1.78333;740.72;0.00;0.00;0.00;0.00;0.33;0.00;0.00;0;141;92;0.0343;0.0614;0.0802;0.1125;0.1271;0.1346;0.1545;0.1808;707.31;0.60 -13/07/2023 09:26:02;0;0;31.31;0.00;4;1592;26.5333;45;0.75;73;1.21667;649.15;0.00;0.00;0.00;0.00;0.33;0.00;0.00;0;129;92;0.0309;0.0543;0.0706;0.0988;0.1136;0.1211;0.1385;0.1659;602.26;0.56 -13/07/2023 09:27:02;0;0;31.38;0.00;16;311;5.18333;0;0;24;0.4;337.90;0.00;0.00;0.00;0.00;0.20;0.00;0.00;0;129;93;0.0152;0.0265;0.0357;0.0516;0.0599;0.0660;0.0775;0.0975;288.74;0.32 -13/07/2023 09:28:02;0;0;31.56;0.00;16;409;6.81667;2;0.0333333;27;0.45;501.73;0.00;0.00;0.00;0.00;0.26;0.00;0.00;0;129;96;0.0247;0.0431;0.0561;0.0782;0.0872;0.0934;0.1074;0.1323;477.91;0.45 -13/07/2023 09:29:02;0;0;31.56;0.00;16;1293;21.55;7;0.116667;119;1.98333;394.25;0.00;0.00;0.00;0.00;0.21;0.00;0.00;0;129;101;0.0191;0.0335;0.0438;0.0618;0.0686;0.0739;0.0855;0.1073;370.96;0.36 -13/07/2023 09:30:02;0;0;31.69;0.00;16;244;4.06667;1;0.0166667;15;0.25;365.62;0.00;0.00;0.00;0.00;0.21;0.00;0.00;0;129;100;0.0172;0.0301;0.0397;0.0570;0.0644;0.0696;0.0806;0.1034;329.94;0.34 -13/07/2023 09:31:02;0;0;31.75;0.00;16;1502;25.0333;30;0.5;102;1.7;380.84;0.00;0.00;0.00;0.00;0.20;0.00;0.00;0;129;92;0.0177;0.0316;0.0412;0.0589;0.0661;0.0709;0.0819;0.0998;353.67;0.33 -13/07/2023 09:32:02;0;0;31.56;0.00;32;4936;82.2667;132;2.2;251;4.18333;495.65;0.00;0.00;0.00;0.00;0.19;0.00;0.00;0;129;92;0.0221;0.0398;0.0539;0.0762;0.0837;0.0885;0.1017;0.1222;481.19;0.39 -13/07/2023 09:33:02;0;0;31.38;0.00;8;937;15.6167;6;0.1;62;1.03333;216.49;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;129;93;0.0083;0.0150;0.0213;0.0313;0.0369;0.0401;0.0467;0.0588;187.01;0.17 -13/07/2023 09:34:02;0;0;31.19;0.00;8;1471;24.5167;16;0.266667;100;1.66667;232.51;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;129;93;0.0092;0.0166;0.0238;0.0347;0.0393;0.0426;0.0495;0.0622;209.56;0.18 -13/07/2023 09:35:02;0;0;30.94;0.00;16;764;12.7333;11;0.183333;78;1.3;452.64;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;129;94;0.0168;0.0312;0.0444;0.0650;0.0761;0.0821;0.0958;0.1160;400.80;0.33 -13/07/2023 09:36:02;0;0;30.81;0.00;16;99;1.65;0;0;11;0.183333;453.38;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;129;93;0.0168;0.0314;0.0445;0.0653;0.0761;0.0821;0.0958;0.1157;402.84;0.33 -13/07/2023 09:37:02;0;0;30.75;0.00;16;502;8.36667;6;0.1;34;0.566667;455.40;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;130;95;0.0170;0.0319;0.0450;0.0660;0.0760;0.0822;0.0960;0.1154;409.87;0.33 -13/07/2023 09:38:02;0;0;30.75;0.00;2;2479;41.3167;43;0.716667;173;2.88333;217.80;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;128;92;0.0085;0.0154;0.0219;0.0318;0.0370;0.0397;0.0459;0.0575;193.99;0.17 -13/07/2023 09:39:02;0;0;30.69;0.00;2;1032;17.2;20;0.333333;66;1.1;190.33;0.00;0.00;0.00;0.00;0.06;0.00;0.00;0;128;97;0.0072;0.0130;0.0186;0.0273;0.0322;0.0357;0.0428;0.0533;162.94;0.15 -13/07/2023 09:40:02;0;0;30.56;0.00;2;2149;35.8167;27;0.45;192;3.2;242.18;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;129;101;0.0094;0.0172;0.0245;0.0357;0.0406;0.0439;0.0511;0.0630;219.51;0.18 -13/07/2023 09:41:02;0;0;30.50;0.00;2;648;10.8;8;0.133333;66;1.1;229.88;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;131;104;0.0086;0.0157;0.0224;0.0328;0.0391;0.0423;0.0492;0.0606;198.67;0.17 -13/07/2023 09:42:02;0;0;30.44;0.00;16;2449;40.8167;43;0.716667;223;3.71667;305.07;0.00;0.00;0.00;0.00;0.10;0.00;0.00;0;128;93;0.0113;0.0207;0.0297;0.0434;0.0516;0.0558;0.0649;0.0793;265.42;0.22 -13/07/2023 09:43:02;0;0;30.31;0.00;16;2148;35.8;30;0.5;214;3.56667;433.24;0.00;0.00;0.00;0.00;0.13;0.00;0.00;0;132;106;0.0162;0.0299;0.0430;0.0626;0.0726;0.0782;0.0910;0.1105;388.12;0.31 -13/07/2023 09:44:02;0;0;30.38;0.00;16;3067;51.1167;46;0.766667;289;4.81667;367.33;0.00;0.00;0.00;0.00;0.11;0.00;0.00;0;129;104;0.0137;0.0253;0.0362;0.0529;0.0618;0.0666;0.0775;0.0945;326.05;0.27 -13/07/2023 09:45:02;0;0;30.38;0.00;16;2304;38.4;36;0.6;223;3.71667;288.17;0.00;0.00;0.00;0.00;0.09;0.00;0.00;0;131;115;0.0107;0.0197;0.0282;0.0412;0.0488;0.0527;0.0612;0.0750;251.79;0.21 -13/07/2023 09:46:02;0;0;30.38;0.00;2;1166;19.4333;20;0.333333;90;1.5;158.40;0.00;0.00;0.00;0.00;0.06;0.00;0.00;0;129;104;0.0061;0.0111;0.0156;0.0229;0.0271;0.0293;0.0341;0.0425;137.41;0.12 -13/07/2023 09:47:02;0;0;30.38;0.00;16;2853;47.55;41;0.683333;273;4.55;482.52;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;136;109;0.0177;0.0328;0.0471;0.0687;0.0811;0.0871;0.1010;0.1216;427.06;0.34 -13/07/2023 09:48:02;0;0;30.44;0.00;2;2003;33.3833;30;0.5;166;2.76667;503.55;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;128;93;0.0194;0.0362;0.0518;0.0757;0.0825;0.0885;0.1025;0.1212;479.85;0.35 -13/07/2023 09:49:02;0;0;30.56;0.00;16;3481;58.0167;71;1.18333;293;4.88333;830.07;0.00;0.00;0.00;0.00;0.21;0.00;0.00;0;131;94;0.0315;0.0590;0.0851;0.1228;0.1358;0.1446;0.1669;0.1940;793.12;0.56 -13/07/2023 09:50:02;0;0;30.50;0.00;16;4746;79.1;130;2.16667;280;4.66667;248.13;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;135;108;0.0092;0.0171;0.0245;0.0357;0.0417;0.0447;0.0517;0.0625;221.63;0.18 -13/07/2023 09:51:02;0;0;30.50;0.00;16;1600;26.6667;29;0.483333;162;2.7;407.31;0.00;0.00;0.00;0.00;0.12;0.00;0.00;0;131;93;0.0153;0.0283;0.0404;0.0587;0.0682;0.0732;0.0851;0.1024;367.09;0.29 -13/07/2023 09:52:02;0;0;30.50;0.00;2;478;7.96667;2;0.0333333;23;0.383333;127.00;0.00;0.00;0.00;0.00;0.05;0.00;0.00;0;142;97;0.0052;0.0093;0.0130;0.0189;0.0219;0.0236;0.0272;0.0350;112.07;0.10 -13/07/2023 09:53:02;0;0;30.38;0.00;16;759;12.65;13;0.216667;39;0.65;403.91;0.00;0.00;0.00;0.00;0.12;0.00;0.00;0;135;112;0.0158;0.0295;0.0421;0.0614;0.0663;0.0710;0.0821;0.0979;387.72;0.29 -13/07/2023 09:54:02;0;0;30.38;0.00;16;1465;24.4167;14;0.233333;149;2.48333;602.07;0.00;0.00;0.00;0.00;0.16;0.00;0.00;0;129;97;0.0222;0.0412;0.0590;0.0852;0.1008;0.1075;0.1240;0.1469;540.56;0.41 -13/07/2023 09:55:02;0;0;30.50;0.00;16;411;6.85;3;0.05;32;0.533333;1096.48;0.00;0.00;0.00;0.00;0.26;0.00;0.00;0;140;120;0.0402;0.0753;0.1084;0.1552;0.1818;0.1925;0.2212;0.2542;1009.19;0.71 -13/07/2023 09:56:02;0;0;30.38;0.00;16;1841;30.6833;28;0.466667;197;3.28333;743.06;0.00;0.00;0.00;0.00;0.19;0.00;0.00;0;131;100;0.0268;0.0502;0.0721;0.1042;0.1242;0.1324;0.1528;0.1784;664.71;0.50 -13/07/2023 09:57:02;0;0;30.44;0.00;16;1698;28.3;29;0.483333;141;2.35;891.90;0.00;0.00;0.00;0.00;0.22;0.00;0.00;0;131;93;0.0321;0.0601;0.0864;0.1242;0.1491;0.1583;0.1822;0.2113;798.79;0.59 -13/07/2023 09:58:02;0;0;30.31;0.00;16;154;2.56667;0;0;13;0.216667;1035.61;0.00;0.00;0.00;0.00;0.24;0.00;0.00;0;139;117;0.0381;0.0713;0.1026;0.1469;0.1715;0.1815;0.2085;0.2398;956.43;0.67 -13/07/2023 09:59:02;0;0;30.38;0.00;16;432;7.2;4;0.0666667;49;0.816667;717.95;0.00;0.00;0.00;0.00;0.19;0.00;0.00;0;131;104;0.0261;0.0489;0.0703;0.1018;0.1196;0.1277;0.1474;0.1722;648.32;0.48 -13/07/2023 10:00:02;0;0;30.44;0.00;16;146;2.43333;1;0.0166667;6;0.1;537.57;0.00;0.00;0.00;0.00;0.15;0.00;0.00;0;134;93;0.0196;0.0366;0.0525;0.0765;0.0899;0.0964;0.1115;0.1317;480.22;0.37 -13/07/2023 10:01:02;0;0;30.50;0.00;2;63;1.05;0;0;3;0.05;255.90;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;130;100;0.0096;0.0176;0.0249;0.0368;0.0433;0.0469;0.0545;0.0664;222.90;0.19 -13/07/2023 10:02:02;0;0;30.50;0.00;16;245;4.08333;3;0.05;18;0.3;361.91;0.00;0.00;0.00;0.00;0.11;0.00;0.00;0;129;93;0.0132;0.0247;0.0351;0.0517;0.0609;0.0656;0.0763;0.0914;318.60;0.26 -13/07/2023 10:03:02;0;0;30.50;0.00;2;503;8.38333;0;0;54;0.9;106.95;0.00;0.00;0.00;0.00;0.05;0.00;0.00;0;129;93;0.0042;0.0076;0.0103;0.0157;0.0184;0.0205;0.0245;0.0312;89.35;0.09 -13/07/2023 10:04:02;0;0;30.50;0.00;2;742;12.3667;2;0.0333333;62;1.03333;156.20;0.00;0.00;0.00;0.00;0.06;0.00;0.00;0;142;93;0.0057;0.0107;0.0146;0.0220;0.0268;0.0294;0.0346;0.0425;129.06;0.12 -13/07/2023 10:05:02;0;0;30.44;0.00;2;238;3.96667;1;0.0166667;17;0.283333;175.22;0.00;0.00;0.00;0.00;0.06;0.00;0.00;0;129;93;0.0066;0.0123;0.0169;0.0253;0.0297;0.0325;0.0382;0.0467;150.73;0.13 -13/07/2023 10:06:02;0;0;30.56;0.00;2;653;10.8833;9;0.15;42;0.7;414.71;0.00;0.00;0.00;0.00;0.11;0.00;0.00;0;129;99;0.0153;0.0285;0.0406;0.0588;0.0693;0.0740;0.0855;0.1003;373.23;0.28 -13/07/2023 10:07:02;0;0;30.69;0.00;16;1645;27.4167;38;0.633333;102;1.7;829.98;0.00;0.00;0.00;0.00;0.21;0.00;0.00;0;130;106;0.0306;0.0574;0.0825;0.1187;0.1374;0.1461;0.1684;0.1955;765.73;0.55 -13/07/2023 10:08:02;0;0;30.75;0.00;16;2974;49.5667;57;0.95;236;3.93333;844.12;0.00;0.00;0.00;0.00;0.20;0.00;0.00;0;130;109;0.0309;0.0574;0.0826;0.1185;0.1407;0.1493;0.1718;0.2000;765.21;0.56 -13/07/2023 10:09:02;0;0;30.75;0.00;2;1661;27.6833;27;0.45;81;1.35;183.02;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;129;95;0.0080;0.0141;0.0191;0.0271;0.0312;0.0353;0.0434;0.0572;161.76;0.16 -13/07/2023 10:10:02;0;0;30.69;0.00;16;290;4.83333;8;0.133333;16;0.266667;485.24;0.00;0.00;0.00;0.00;0.15;0.00;0.00;0;129;97;0.0187;0.0340;0.0476;0.0685;0.0811;0.0911;0.1109;0.1370;422.03;0.37 -13/07/2023 10:11:02;0;0;30.81;0.00;2;2217;36.95;41;0.683333;128;2.13333;179.27;0.00;0.00;0.00;0.00;0.09;0.00;0.00;0;129;105;0.0083;0.0143;0.0182;0.0257;0.0304;0.0382;0.0515;0.0697;144.50;0.18 -13/07/2023 10:12:02;0;0;30.81;0.00;4;2497;41.6167;38;0.633333;161;2.68333;376.14;0.00;0.00;0.00;0.00;0.13;0.00;0.00;0;131;93;0.0150;0.0271;0.0376;0.0539;0.0635;0.0708;0.0858;0.1089;328.69;0.30 -13/07/2023 10:13:02;0;0;30.88;0.00;2;3166;52.7667;34;0.566667;248;4.13333;388.16;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;133;96;0.0161;0.0291;0.0408;0.0578;0.0659;0.0712;0.0843;0.1105;355.07;0.31 -13/07/2023 10:14:02;0;0;30.88;0.00;2;7786;129.767;195;3.25;473;7.88333;739.97;0.00;0.00;0.00;0.00;0.21;0.00;0.00;0;138;93;0.0278;0.0514;0.0738;0.1053;0.1248;0.1318;0.1511;0.1873;669.07;0.52 -13/07/2023 10:15:02;0;0;30.75;0.00;2;2266;37.7667;38;0.633333;144;2.4;836.32;0.00;0.00;0.00;0.00;0.19;0.00;0.00;0;133;93;0.0322;0.0594;0.0848;0.1207;0.1384;0.1451;0.1655;0.1945;791.53;0.55 -13/07/2023 10:16:02;0;0;30.69;0.00;2;648;10.8;0;0;53;0.883333;136.10;0.00;0.00;0.00;0.00;0.05;0.00;0.00;0;131;93;0.0055;0.0099;0.0138;0.0199;0.0236;0.0252;0.0287;0.0366;119.35;0.11 -13/07/2023 10:17:02;0;0;30.56;0.00;4;769;12.8167;0;0;53;0.883333;372.34;0.00;0.00;0.00;0.00;0.13;0.00;0.00;0;129;93;0.0148;0.0267;0.0374;0.0540;0.0640;0.0682;0.0778;0.0967;329.23;0.29 -13/07/2023 10:18:02;0;0;30.50;0.00;4;1727;28.7833;30;0.5;98;1.63333;328.22;0.00;0.00;0.00;0.00;0.12;0.00;0.00;0;128;93;0.0133;0.0240;0.0336;0.0485;0.0561;0.0598;0.0684;0.0859;295.92;0.26 -13/07/2023 10:19:02;0;0;30.38;0.00;4;569;9.48333;0;0;32;0.533333;253.32;0.00;0.00;0.00;0.00;0.09;0.00;0.00;0;128;93;0.0104;0.0187;0.0260;0.0374;0.0435;0.0466;0.0536;0.0683;226.61;0.20 -13/07/2023 10:20:02;0;0;30.31;0.00;4;846;14.1;3;0.05;41;0.683333;138.22;0.00;0.00;0.00;0.00;0.05;0.00;0.00;0;128;93;0.0058;0.0104;0.0144;0.0208;0.0237;0.0256;0.0295;0.0383;124.84;0.11 -13/07/2023 10:21:02;0;0;30.25;0.00;4;905;15.0833;4;0.0666667;54;0.9;227.87;0.00;0.00;0.00;0.00;0.09;0.00;0.00;0;128;92;0.0095;0.0169;0.0233;0.0336;0.0393;0.0425;0.0488;0.0618;201.39;0.19 -13/07/2023 10:22:02;0;0;30.25;0.00;32;973;16.2167;12;0.2;63;1.05;167.31;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;128;93;0.0071;0.0125;0.0167;0.0240;0.0297;0.0321;0.0373;0.0479;139.41;0.15 -13/07/2023 10:23:02;0;0;30.12;0.00;32;1864;31.0667;36;0.6;125;2.08333;187.26;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;128;92;0.0080;0.0142;0.0194;0.0279;0.0324;0.0349;0.0404;0.0515;167.16;0.16 -13/07/2023 10:24:02;0;0;30.12;0.00;4;3133;52.2167;70;1.16667;197;3.28333;65.46;0.00;0.00;0.00;0.00;0.04;0.00;0.00;0;128;93;0.0031;0.0054;0.0070;0.0098;0.0117;0.0133;0.0164;0.0235;54.65;0.07 -13/07/2023 10:25:02;0;0;30.12;0.00;4;1071;17.85;1;0.0166667;67;1.11667;102.31;0.00;0.00;0.00;0.00;0.04;0.00;0.00;0;128;92;0.0044;0.0078;0.0108;0.0154;0.0177;0.0191;0.0220;0.0288;91.73;0.09 -13/07/2023 10:26:02;0;0;30.06;0.00;4;4377;72.95;89;1.48333;339;5.65;236.95;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;132;118;0.0089;0.0161;0.0223;0.0316;0.0418;0.0438;0.0496;0.0614;194.50;0.18 -13/07/2023 10:27:02;0;0;29.94;0.00;2;7192;119.867;267;4.45;391;6.51667;247.82;0.00;0.00;0.00;0.00;0.05;0.00;0.00;0;128;92;0.0071;0.0137;0.0187;0.0274;0.0432;0.0495;0.0512;0.0481;171.57;0.14 -13/07/2023 10:28:02;0;0;29.94;0.00;2;8517;141.95;273;4.55;503;8.38333;47.86;0.00;0.00;0.00;0.00;0.01;0.00;0.00;0;130;93;0.0009;0.0019;0.0026;0.0038;0.0085;0.0108;0.0093;0.0037;24.03;0.02 -13/07/2023 10:29:02;0;0;29.88;0.00;8;7742;129.033;235;3.91667;392;6.53333;228.44;0.00;0.00;0.00;0.00;0.06;0.00;0.00;0;131;93;0.0078;0.0145;0.0207;0.0300;0.0389;0.0425;0.0467;0.0510;188.95;0.15 -13/07/2023 10:30:02;0;0;29.88;0.00;4;1801;30.0167;33;0.55;139;2.31667;459.89;0.00;0.00;0.00;0.00;0.13;0.00;0.00;0;132;95;0.0171;0.0328;0.0451;0.0660;0.0765;0.0818;0.0945;0.1093;420.83;0.31 -13/07/2023 10:31:02;0;0;29.81;0.00;16;3057;50.95;42;0.7;339;5.65;732.89;0.00;0.00;0.00;0.00;0.19;0.00;0.00;0;133;98;0.0272;0.0507;0.0725;0.1043;0.1219;0.1295;0.1483;0.1719;671.66;0.49 -13/07/2023 10:32:02;0;0;29.81;0.00;16;419;6.98333;4;0.0666667;43;0.716667;928.42;0.00;0.00;0.00;0.00;0.22;0.00;0.00;0;138;120;0.0348;0.0649;0.0930;0.1329;0.1536;0.1624;0.1852;0.2126;867.36;0.61 -13/07/2023 10:33:02;0;0;29.88;0.00;16;1060;17.6667;15;0.25;119;1.98333;815.75;0.00;0.00;0.00;0.00;0.20;0.00;0.00;0;138;117;0.0303;0.0566;0.0810;0.1161;0.1353;0.1434;0.1640;0.1890;753.63;0.54 -13/07/2023 10:34:02;0;0;29.94;0.00;16;1335;22.25;23;0.383333;108;1.8;760.12;0.00;0.00;0.00;0.00;0.18;0.00;0.00;0;132;105;0.0289;0.0537;0.0769;0.1099;0.1254;0.1325;0.1512;0.1741;718.03;0.50 -13/07/2023 10:35:02;0;0;30.00;0.00;16;2748;45.8;67;1.11667;168;2.8;550.53;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;131;96;0.0216;0.0402;0.0571;0.0822;0.0902;0.0958;0.1096;0.1279;532.66;0.38 -13/07/2023 10:36:02;0;0;29.94;0.00;16;2126;35.4333;40;0.666667;211;3.51667;573.41;0.00;0.00;0.00;0.00;0.15;0.00;0.00;0;131;101;0.0212;0.0397;0.0564;0.0816;0.0957;0.1018;0.1166;0.1360;521.30;0.39 -13/07/2023 10:37:02;0;0;29.94;0.00;16;2446;40.7667;43;0.716667;249;4.15;1082.52;0.00;0.00;0.00;0.00;0.25;0.00;0.00;0;130;110;0.0406;0.0754;0.1084;0.1544;0.1789;0.1886;0.2150;0.2463;1014.03;0.70 -13/07/2023 10:38:02;0;0;29.75;0.00;16;487;8.11667;4;0.0666667;34;0.566667;1474.30;0.00;0.00;0.00;0.00;0.32;0.00;0.00;0;146;129;0.0565;0.1049;0.1505;0.2123;0.2419;0.2530;0.2865;0.3248;1420.92;0.93 -13/07/2023 10:39:02;0;0;29.75;0.00;16;1179;19.65;20;0.333333;136;2.26667;1008.54;0.00;0.00;0.00;0.00;0.24;0.00;0.00;0;144;128;0.0378;0.0705;0.1010;0.1439;0.1669;0.1757;0.2000;0.2286;944.33;0.65 -13/07/2023 10:40:02;0;0;29.75;0.00;16;1194;19.9;23;0.383333;74;1.23333;756.72;0.00;0.00;0.00;0.00;0.18;0.00;0.00;0;132;119;0.0285;0.0533;0.0758;0.1083;0.1253;0.1322;0.1508;0.1731;708.03;0.50 -13/07/2023 10:41:02;0;0;29.62;0.00;16;41;0.683333;0;0;2;0.0333333;490.82;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;154;139;0.0181;0.0339;0.0483;0.0702;0.0822;0.0876;0.1006;0.1183;442.87;0.34 -13/07/2023 10:42:02;0;0;29.62;0.00;16;1172;19.5333;13;0.216667;85;1.41667;494.89;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;132;99;0.0185;0.0345;0.0491;0.0712;0.0828;0.0883;0.1012;0.1196;449.64;0.34 -13/07/2023 10:43:02;0;0;29.62;0.00;16;524;8.73333;11;0.183333;38;0.633333;431.90;0.00;0.00;0.00;0.00;0.13;0.00;0.00;0;130;99;0.0162;0.0299;0.0427;0.0620;0.0727;0.0777;0.0890;0.1066;387.14;0.31 -13/07/2023 10:44:02;0;0;29.56;0.00;16;434;7.23333;5;0.0833333;40;0.666667;701.23;0.00;0.00;0.00;0.00;0.18;0.00;0.00;0;138;113;0.0262;0.0487;0.0697;0.0997;0.1169;0.1236;0.1408;0.1632;644.86;0.47 -13/07/2023 10:45:02;0;0;29.62;0.00;16;0;0;0;0;0;0;1028.30;0.00;0.00;0.00;0.00;0.24;0.00;0.00;0;131;105;0.0385;0.0718;0.1029;0.1464;0.1702;0.1791;0.2035;0.2320;962.81;0.66 -13/07/2023 10:46:02;0;0;29.88;0.00;16;4;0.0666667;0;0;0;0;1027.00;0.00;0.00;0.00;0.00;0.24;0.00;0.00;0;131;99;0.0385;0.0717;0.1028;0.1463;0.1699;0.1788;0.2032;0.2316;962.30;0.66 -13/07/2023 10:47:02;0;0;30.19;0.00;16;5;0.0833333;0;0;0;0;1113.99;0.00;0.00;0.00;0.00;0.25;0.00;0.00;0;130;95;0.0419;0.0780;0.1118;0.1587;0.1842;0.1933;0.2193;0.2492;1048.51;0.71 -13/07/2023 10:48:02;0;0;30.38;0.00;16;354;5.9;8;0.133333;36;0.6;1045.44;0.00;0.00;0.00;0.00;0.24;0.00;0.00;0;150;114;0.0393;0.0732;0.1049;0.1490;0.1729;0.1816;0.2060;0.2344;983.28;0.67 -13/07/2023 10:49:02;0;0;30.50;0.00;16;482;8.03333;5;0.0833333;33;0.55;971.28;0.00;0.00;0.00;0.00;0.22;0.00;0.00;0;133;109;0.0364;0.0680;0.0973;0.1385;0.1607;0.1690;0.1919;0.2188;911.06;0.63 -13/07/2023 10:50:02;0;0;30.50;0.00;16;570;9.5;5;0.0833333;54;0.9;1339.36;0.00;0.00;0.00;0.00;0.30;0.00;0.00;0;139;120;0.0509;0.0946;0.1355;0.1912;0.2208;0.2309;0.2610;0.2952;1276.25;0.85 -13/07/2023 10:51:02;0;0;30.56;0.00;16;962;16.0333;17;0.283333;86;1.43333;1393.33;0.00;0.00;0.00;0.00;0.30;0.00;0.00;0;154;132;0.0527;0.0979;0.1402;0.1976;0.2299;0.2401;0.2713;0.3068;1322.83;0.87 -13/07/2023 10:52:02;0;0;30.69;0.00;2;1055;17.5833;17;0.283333;96;1.6;191.82;0.00;0.00;0.00;0.00;0.06;0.00;0.00;0;134;108;0.0075;0.0139;0.0195;0.0283;0.0321;0.0344;0.0396;0.0478;176.80;0.14 -13/07/2023 10:53:02;0;0;30.88;0.00;16;131;2.18333;0;0;9;0.15;605.61;0.00;0.00;0.00;0.00;0.16;0.00;0.00;0;130;93;0.0225;0.0418;0.0598;0.0860;0.1012;0.1073;0.1224;0.1430;551.72;0.41 -13/07/2023 10:54:02;0;0;31.00;0.00;16;8;0.133333;0;0;1;0.0166667;681.50;0.00;0.00;0.00;0.00;0.17;0.00;0.00;0;132;93;0.0254;0.0472;0.0677;0.0971;0.1134;0.1199;0.1367;0.1589;628.22;0.45 -13/07/2023 10:55:02;0;0;31.06;0.00;16;223;3.71667;4;0.0666667;9;0.15;538.37;0.00;0.00;0.00;0.00;0.15;0.00;0.00;0;132;96;0.0201;0.0373;0.0534;0.0771;0.0900;0.0959;0.1097;0.1296;489.49;0.37 -13/07/2023 10:56:02;0;0;31.12;0.00;2;1987;33.1167;34;0.566667;152;2.53333;283.32;0.00;0.00;0.00;0.00;0.09;0.00;0.00;0;136;108;0.0109;0.0203;0.0286;0.0414;0.0474;0.0506;0.0581;0.0691;261.04;0.20 -13/07/2023 10:57:02;0;0;31.00;0.00;16;944;15.7333;15;0.25;74;1.23333;282.66;0.00;0.00;0.00;0.00;0.09;0.00;0.00;0;139;137;0.0107;0.0200;0.0278;0.0407;0.0475;0.0511;0.0591;0.0705;253.27;0.20 -13/07/2023 10:58:02;0;0;31.00;0.00;16;2889;48.15;34;0.566667;316;5.26667;671.30;0.00;0.00;0.00;0.00;0.17;0.00;0.00;0;140;117;0.0262;0.0487;0.0693;0.0989;0.1101;0.1163;0.1324;0.1521;649.34;0.45 -13/07/2023 10:59:02;0;0;31.12;0.00;2;1888;31.4667;29;0.483333;153;2.55;259.62;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;131;96;0.0098;0.0186;0.0252;0.0374;0.0438;0.0471;0.0543;0.0649;230.79;0.19 -13/07/2023 11:00:02;0;0;31.19;0.00;16;3165;52.75;46;0.766667;321;5.35;500.51;0.00;0.00;0.00;0.00;0.13;0.00;0.00;0;130;94;0.0193;0.0361;0.0511;0.0739;0.0824;0.0880;0.1007;0.1177;474.80;0.34 -13/07/2023 11:01:02;0;0;31.19;0.00;16;1822;30.3667;19;0.316667;195;3.25;438.12;0.00;0.00;0.00;0.00;0.12;0.00;0.00;0;129;93;0.0162;0.0300;0.0425;0.0617;0.0738;0.0788;0.0903;0.1062;388.76;0.30 -13/07/2023 11:02:02;0;0;31.12;0.00;2;1145;19.0833;5;0.0833333;96;1.6;105.74;0.00;0.00;0.00;0.00;0.05;0.00;0.00;0;131;96;0.0045;0.0081;0.0110;0.0160;0.0183;0.0198;0.0227;0.0291;94.21;0.09 -13/07/2023 11:03:02;0;0;31.12;0.00;4;1202;20.0333;13;0.216667;100;1.66667;184.57;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;136;104;0.0075;0.0135;0.0188;0.0273;0.0315;0.0339;0.0388;0.0483;165.29;0.15 -13/07/2023 11:04:02;0;0;31.12;0.00;2;1389;23.15;23;0.383333;92;1.53333;85.52;0.00;0.00;0.00;0.00;0.03;0.00;0.00;0;144;128;0.0035;0.0064;0.0089;0.0129;0.0144;0.0154;0.0177;0.0217;79.43;0.07 -13/07/2023 11:05:02;0;0;31.06;0.00;16;169;2.81667;2;0.0333333;15;0.25;30.50;0.00;0.00;0.00;0.00;0.01;0.00;0.00;0;144;129;0.0013;0.0024;0.0033;0.0046;0.0051;0.0053;0.0061;0.0075;29.71;0.02 -13/07/2023 11:06:02;0;0;30.94;0.00;2;313;5.21667;3;0.05;20;0.333333;240.16;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;145;128;0.0093;0.0172;0.0244;0.0350;0.0400;0.0423;0.0482;0.0568;224.37;0.17 -13/07/2023 11:07:02;0;0;31.00;0.00;2;2631;43.85;46;0.766667;170;2.83333;301.54;0.00;0.00;0.00;0.00;0.09;0.00;0.00;0;147;128;0.0115;0.0218;0.0301;0.0440;0.0506;0.0542;0.0623;0.0738;274.61;0.22 -13/07/2023 11:08:02;0;0;30.88;0.00;16;368;6.13333;2;0.0333333;29;0.483333;1248.32;0.00;0.00;0.00;0.00;0.28;0.00;0.00;0;134;116;0.0476;0.0884;0.1265;0.1785;0.2057;0.2153;0.2431;0.2742;1191.09;0.79 -13/07/2023 11:09:02;0;0;30.94;0.00;16;1218;20.3;13;0.216667;101;1.68333;719.03;0.00;0.00;0.00;0.00;0.18;0.00;0.00;0;132;112;0.0270;0.0501;0.0716;0.1023;0.1196;0.1266;0.1442;0.1660;664.03;0.48 -13/07/2023 11:10:02;0;0;31.06;0.00;16;7;0.116667;0;0;0;0;774.99;0.00;0.00;0.00;0.00;0.20;0.00;0.00;0;132;113;0.0290;0.0538;0.0772;0.1103;0.1289;0.1363;0.1553;0.1784;715.83;0.51 -13/07/2023 11:11:02;0;0;31.12;0.00;16;1232;20.5333;17;0.283333;103;1.71667;671.69;0.00;0.00;0.00;0.00;0.16;0.00;0.00;0;169;138;0.0253;0.0472;0.0674;0.0961;0.1113;0.1172;0.1332;0.1520;628.96;0.44 -13/07/2023 11:12:02;0;0;31.06;0.00;16;2229;37.15;30;0.5;247;4.11667;636.87;0.00;0.00;0.00;0.00;0.13;0.00;0.00;0;131;118;0.0244;0.0461;0.0653;0.0917;0.1047;0.1083;0.1217;0.1353;619.50;0.40 -13/07/2023 11:13:02;0;0;31.06;0.00;16;1702;28.3667;18;0.3;181;3.01667;506.06;0.00;0.00;0.00;0.00;0.12;0.00;0.00;0;184;144;0.0197;0.0372;0.0526;0.0748;0.0828;0.0867;0.0981;0.1111;496.27;0.33 -13/07/2023 11:14:02;0;0;31.00;0.00;16;905;15.0833;5;0.0833333;104;1.73333;905.33;0.00;0.00;0.00;0.00;0.21;0.00;0.00;0;189;152;0.0341;0.0636;0.0909;0.1296;0.1495;0.1574;0.1785;0.2027;852.71;0.58 -13/07/2023 11:15:02;0;0;31.00;0.00;16;1974;32.9;25;0.416667;210;3.5;791.88;0.00;0.00;0.00;0.00;0.18;0.00;0.00;0;189;145;0.0297;0.0556;0.0794;0.1130;0.1310;0.1375;0.1558;0.1766;744.51;0.51 -13/07/2023 11:16:02;0;0;31.12;0.00;16;2014;33.5667;27;0.45;230;3.83333;1080.81;0.00;0.00;0.00;0.00;0.25;0.00;0.00;0;192;160;0.0400;0.0745;0.1067;0.1516;0.1797;0.1889;0.2139;0.2419;998.01;0.69 -13/07/2023 11:17:02;0;0;31.00;0.00;16;1949;32.4833;32;0.533333;198;3.3;1003.54;0.00;0.00;0.00;0.00;0.23;0.00;0.00;0;203;161;0.0379;0.0705;0.1008;0.1431;0.1658;0.1741;0.1971;0.2226;946.70;0.64 -13/07/2023 11:18:02;0;0;31.06;0.00;16;1088;18.1333;17;0.283333;100;1.66667;778.21;0.00;0.00;0.00;0.00;0.18;0.00;0.00;0;193;144;0.0287;0.0538;0.0766;0.1089;0.1296;0.1358;0.1536;0.1735;717.82;0.50 -13/07/2023 11:19:02;0;0;31.00;0.00;16;2588;43.1333;38;0.633333;279;4.65;798.18;0.00;0.00;0.00;0.00;0.19;0.00;0.00;0;192;148;0.0304;0.0568;0.0810;0.1152;0.1316;0.1383;0.1565;0.1774;760.18;0.52 -13/07/2023 11:20:02;0;0;31.12;0.00;16;2192;36.5333;46;0.766667;138;2.3;520.86;0.00;0.00;0.00;0.00;0.13;0.00;0.00;0;145;153;0.0197;0.0369;0.0522;0.0749;0.0866;0.0914;0.1037;0.1193;485.27;0.35 -13/07/2023 11:21:02;0;0;30.94;0.00;16;0;0;0;0;0;0;749.93;0.00;0.00;0.00;0.00;0.18;0.00;0.00;0;163;157;0.0282;0.0526;0.0751;0.1070;0.1243;0.1306;0.1478;0.1675;702.78;0.49 -13/07/2023 11:22:02;0;0;31.00;0.00;16;1400;23.3333;16;0.266667;106;1.76667;792.87;0.00;0.00;0.00;0.00;0.18;0.00;0.00;0;131;140;0.0299;0.0558;0.0795;0.1130;0.1313;0.1378;0.1556;0.1764;745.59;0.51 -13/07/2023 11:23:02;0;0;31.06;0.00;4;84;1.4;0;0;8;0.133333;95.50;0.00;0.00;0.00;0.00;0.02;0.00;0.00;0;134;141;0.0038;0.0072;0.0100;0.0141;0.0160;0.0164;0.0181;0.0209;92.95;0.07 -13/07/2023 11:24:02;0;0;31.06;0.00;4;1345;22.4167;30;0.5;66;1.1;298.77;0.00;0.00;0.00;0.00;0.05;0.00;0.00;0;130;132;0.0087;0.0176;0.0229;0.0319;0.0524;0.0594;0.0546;0.0390;216.81;0.16 -13/07/2023 11:25:02;0;0;31.00;0.00;2;2131;35.5167;54;0.9;123;2.05;254.66;0.00;0.00;0.00;0.00;0.05;0.00;0.00;0;129;112;0.0083;0.0165;0.0215;0.0307;0.0435;0.0496;0.0465;0.0356;205.12;0.15 -13/07/2023 11:26:02;0;0;31.00;0.00;4;99;1.65;0;0;4;0.0666667;316.55;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;131;140;0.0105;0.0199;0.0270;0.0388;0.0550;0.0610;0.0618;0.0603;247.19;0.20 -13/07/2023 11:27:02;0;0;31.00;0.00;2;938;15.6333;30;0.5;57;0.95;448.73;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;130;132;0.0137;0.0265;0.0353;0.0506;0.0782;0.0876;0.0851;0.0720;332.78;0.25 -13/07/2023 11:28:02;0;0;30.94;0.00;4;5499;91.65;177;2.95;244;4.06667;252.48;0.00;0.00;0.00;0.00;0.04;0.00;0.00;0;166;157;0.0062;0.0121;0.0153;0.0227;0.0459;0.0527;0.0489;0.0341;144.30;0.13 -13/07/2023 11:29:02;0;0;30.94;0.00;2;2271;37.85;39;0.65;159;2.65;351.36;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;179;149;0.0112;0.0213;0.0282;0.0417;0.0611;0.0681;0.0680;0.0617;264.91;0.21 -13/07/2023 11:30:02;0;0;30.81;0.00;16;862;14.3667;17;0.283333;66;1.1;732.20;0.00;0.00;0.00;0.00;0.11;0.00;0.00;0;205;163;0.0210;0.0415;0.0529;0.0764;0.1292;0.1438;0.1351;0.1019;512.99;0.37 -13/07/2023 11:31:02;0;0;30.69;0.00;16;18;0.3;0;0;1;0.0166667;897.70;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;201;159;0.0262;0.0517;0.0664;0.0957;0.1574;0.1751;0.1656;0.1266;644.93;0.46 -13/07/2023 11:32:02;0;0;30.81;0.00;2;531;8.85;9;0.15;30;0.5;466.63;0.00;0.00;0.00;0.00;0.09;0.00;0.00;0;129;128;0.0137;0.0267;0.0347;0.0516;0.0817;0.0920;0.0904;0.0766;330.35;0.26 -13/07/2023 11:33:02;0;0;30.75;0.00;2;1009;16.8167;22;0.366667;51;0.85;370.74;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;131;145;0.0106;0.0205;0.0266;0.0395;0.0656;0.0741;0.0725;0.0609;250.47;0.21 -13/07/2023 11:34:02;0;0;30.75;0.00;8;200;3.33333;1;0.0166667;10;0.166667;759.30;0.00;0.00;0.00;0.00;0.12;0.00;0.00;0;138;145;0.0222;0.0436;0.0564;0.0812;0.1332;0.1489;0.1420;0.1114;542.66;0.40 -13/07/2023 11:35:02;0;0;30.75;0.00;16;61;1.01667;0;0;4;0.0666667;1078.40;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;129;129;0.0311;0.0620;0.0795;0.1133;0.1884;0.2100;0.1961;0.1426;780.20;0.53 -13/07/2023 11:36:02;0;0;30.75;0.00;16;30;0.5;0;0;4;0.0666667;1039.83;0.00;0.00;0.00;0.00;0.12;0.00;0.00;0;129;128;0.0296;0.0594;0.0755;0.1073;0.1818;0.2027;0.1871;0.1307;747.29;0.49 -13/07/2023 11:37:02;0;0;30.69;0.00;16;103;1.71667;0;0;6;0.1;1081.98;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;140;145;0.0316;0.0628;0.0810;0.1157;0.1885;0.2095;0.1977;0.1483;793.06;0.54 -13/07/2023 11:38:02;0;0;30.62;0.00;16;1058;17.6333;20;0.333333;86;1.43333;1060.44;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;129;128;0.0299;0.0592;0.0756;0.1085;0.1866;0.2090;0.1938;0.1388;739.18;0.52 -13/07/2023 11:39:02;0;0;30.62;0.00;16;0;0;0;0;0;0;800.18;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;130;141;0.0221;0.0443;0.0555;0.0786;0.1411;0.1583;0.1428;0.0925;551.28;0.37 -13/07/2023 11:40:02;0;0;30.56;0.00;16;0;0;0;0;0;0;1102.72;0.00;0.00;0.00;0.00;0.16;0.00;0.00;0;130;141;0.0330;0.0641;0.0845;0.1209;0.1916;0.2126;0.2053;0.1652;818.20;0.57 -13/07/2023 11:41:02;0;0;30.56;0.00;16;0;0;0;0;0;0;1136.27;0.00;0.00;0.00;0.00;0.17;0.00;0.00;0;130;139;0.0342;0.0663;0.0876;0.1254;0.1973;0.2188;0.2121;0.1728;846.54;0.59 -13/07/2023 11:42:02;0;0;30.50;0.00;16;0;0;0;0;0;0;1123.07;0.00;0.00;0.00;0.00;0.17;0.00;0.00;0;129;141;0.0337;0.0655;0.0863;0.1236;0.1952;0.2164;0.2094;0.1698;834.63;0.58 -13/07/2023 11:43:02;0;0;30.50;0.00;16;632;10.5333;15;0.25;40;0.666667;878.75;0.00;0.00;0.00;0.00;0.13;0.00;0.00;0;139;123;0.0263;0.0510;0.0669;0.0960;0.1533;0.1703;0.1641;0.1326;644.61;0.46 -13/07/2023 11:44:02;0;0;30.44;0.00;2;1510;25.1667;18;0.3;74;1.23333;433.26;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;142;144;0.0130;0.0253;0.0326;0.0476;0.0763;0.0854;0.0820;0.0679;308.81;0.24 -13/07/2023 11:45:02;0;0;30.44;0.00;2;1587;26.45;27;0.45;96;1.6;447.00;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;131;140;0.0127;0.0257;0.0312;0.0455;0.0791;0.0898;0.0839;0.0604;303.61;0.23 -13/07/2023 11:46:02;0;0;30.38;0.00;2;2031;33.85;42;0.7;99;1.65;177.92;0.00;0.00;0.00;0.00;0.06;0.00;0.00;0;129;128;0.0065;0.0119;0.0158;0.0231;0.0305;0.0357;0.0377;0.0378;140.81;0.13 -13/07/2023 11:47:02;0;0;30.38;0.00;4;1695;28.25;27;0.45;131;2.18333;367.03;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;129;120;0.0118;0.0238;0.0298;0.0452;0.0630;0.0697;0.0706;0.0634;289.86;0.22 -13/07/2023 11:48:02;0;0;30.44;0.00;4;615;10.25;2;0.0333333;57;0.95;880.78;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;134;137;0.0269;0.0546;0.0694;0.1015;0.1515;0.1667;0.1643;0.1356;683.91;0.46 -13/07/2023 11:49:02;0;0;30.38;0.00;8;8472;141.2;238;3.96667;464;7.73333;702.04;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;145;128;0.0231;0.0437;0.0606;0.0882;0.1193;0.1321;0.1361;0.1274;570.54;0.42 -13/07/2023 11:50:02;0;0;30.44;0.00;2;1911;31.85;36;0.6;111;1.85;96.68;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;129;137;0.0017;0.0042;0.0050;0.0072;0.0171;0.0214;0.0185;0.0068;50.89;0.04 -13/07/2023 11:51:02;0;0;30.44;0.00;8;4970;82.8333;106;1.76667;301;5.01667;85.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;152;141;0.0015;0.0037;0.0044;0.0063;0.0152;0.0185;0.0160;0.0059;44.31;0.03 -13/07/2023 11:52:02;0;0;30.38;0.00;8;13877;231.283;442;7.36667;568;9.46667;192.55;0.00;0.00;0.00;0.00;0.03;0.00;0.00;0;198;160;0.0045;0.0091;0.0124;0.0187;0.0342;0.0393;0.0380;0.0293;116.88;0.10 -13/07/2023 11:53:02;0;0;30.25;0.00;2;5177;86.2833;166;2.76667;267;4.45;159.94;0.00;0.00;0.00;0.00;0.03;0.00;0.00;0;160;148;0.0046;0.0089;0.0114;0.0169;0.0284;0.0322;0.0302;0.0229;107.79;0.09 -13/07/2023 11:54:02;0;0;30.19;0.00;16;742;12.3667;10;0.166667;36;0.6;312.47;0.00;0.00;0.00;0.00;0.04;0.00;0.00;0;196;157;0.0084;0.0170;0.0207;0.0307;0.0558;0.0622;0.0561;0.0369;205.72;0.15 -13/07/2023 11:55:02;0;0;30.19;0.00;16;54;0.9;0;0;4;0.0666667;385.50;0.00;0.00;0.00;0.00;0.04;0.00;0.00;0;198;160;0.0100;0.0205;0.0246;0.0362;0.0691;0.0772;0.0680;0.0408;247.58;0.17 -13/07/2023 11:56:02;0;0;30.12;0.00;16;87;1.45;2;0.0333333;7;0.116667;380.59;0.00;0.00;0.00;0.00;0.04;0.00;0.00;0;197;160;0.0098;0.0202;0.0244;0.0358;0.0682;0.0761;0.0671;0.0404;244.94;0.17 -13/07/2023 11:57:02;0;0;30.12;0.00;16;739;12.3167;8;0.133333;50;0.833333;435.17;0.00;0.00;0.00;0.00;0.05;0.00;0.00;0;188;146;0.0115;0.0234;0.0285;0.0415;0.0780;0.0869;0.0777;0.0499;283.09;0.20 -13/07/2023 11:58:02;0;0;30.12;0.00;4;50;0.833333;0;0;1;0.0166667;224.03;0.00;0.00;0.00;0.00;0.06;0.00;0.00;0;192;149;0.0075;0.0143;0.0193;0.0285;0.0387;0.0425;0.0440;0.0435;178.56;0.14 -13/07/2023 11:59:02;0;0;30.12;0.00;16;658;10.9667;10;0.166667;44;0.733333;622.67;0.00;0.00;0.00;0.00;0.10;0.00;0.00;0;139;131;0.0176;0.0350;0.0444;0.0653;0.1100;0.1223;0.1156;0.0883;431.84;0.32 -13/07/2023 12:00:02;0;0;29.94;0.00;16;569;9.48333;6;0.1;65;1.08333;1158.96;0.00;0.00;0.00;0.00;0.17;0.00;0.00;0;196;161;0.0345;0.0675;0.0874;0.1257;0.2021;0.2237;0.2131;0.1659;852.30;0.59 -13/07/2023 12:01:02;0;0;29.81;0.00;16;841;14.0167;21;0.35;76;1.26667;1248.24;0.00;0.00;0.00;0.00;0.18;0.00;0.00;0;196;161;0.0374;0.0730;0.0950;0.1365;0.2174;0.2402;0.2305;0.1830;924.96;0.64 -13/07/2023 12:02:02;0;0;29.75;0.00;16;1099;18.3167;23;0.383333;86;1.43333;755.75;0.00;0.00;0.00;0.00;0.09;0.00;0.00;0;194;153;0.0213;0.0425;0.0532;0.0767;0.1331;0.1482;0.1359;0.0936;528.02;0.36 -13/07/2023 12:03:02;0;0;29.81;0.00;16;976;16.2667;16;0.266667;94;1.56667;801.53;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;192;157;0.0213;0.0429;0.0521;0.0755;0.1428;0.1587;0.1395;0.0821;529.71;0.35 -13/07/2023 12:04:02;0;0;29.81;0.00;16;1185;19.75;16;0.266667;110;1.83333;583.27;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;153;117;0.0167;0.0336;0.0414;0.0614;0.1021;0.1136;0.1021;0.0656;418.53;0.28 -13/07/2023 12:05:02;0;0;29.75;0.00;4;231;3.85;0;0;22;0.366667;243.00;0.00;0.00;0.00;0.00;0.04;0.00;0.00;0;197;156;0.0069;0.0147;0.0177;0.0268;0.0422;0.0471;0.0454;0.0347;177.05;0.13 -13/07/2023 12:06:02;0;0;29.62;0.00;4;295;4.91667;1;0.0166667;26;0.433333;330.99;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;203;160;0.0108;0.0210;0.0275;0.0410;0.0571;0.0632;0.0651;0.0627;259.20;0.20 -13/07/2023 12:07:02;0;0;29.62;0.00;4;83;1.38333;0;0;8;0.133333;337.27;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;201;159;0.0110;0.0215;0.0282;0.0420;0.0581;0.0643;0.0666;0.0647;264.80;0.21 -13/07/2023 12:08:02;0;0;29.62;0.00;4;417;6.95;2;0.0333333;36;0.6;283.93;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;202;161;0.0096;0.0183;0.0244;0.0360;0.0492;0.0541;0.0561;0.0558;225.41;0.18 -13/07/2023 12:09:02;0;0;29.75;0.00;4;727;12.1167;2;0.0333333;50;0.833333;459.34;0.00;0.00;0.00;0.00;0.09;0.00;0.00;0;199;157;0.0143;0.0276;0.0363;0.0526;0.0803;0.0883;0.0867;0.0749;344.20;0.26 -13/07/2023 12:10:02;0;0;29.75;0.00;4;3;0.05;0;0;0;0;268.12;0.00;0.00;0.00;0.00;0.06;0.00;0.00;0;186;149;0.0086;0.0167;0.0221;0.0333;0.0463;0.0510;0.0526;0.0504;208.53;0.16 -13/07/2023 12:11:02;0;0;29.81;0.00;4;92;1.53333;0;0;5;0.0833333;249.51;0.00;0.00;0.00;0.00;0.05;0.00;0.00;0;187;153;0.0078;0.0154;0.0201;0.0301;0.0432;0.0478;0.0484;0.0444;191.14;0.15 -13/07/2023 12:12:02;0;0;30.00;0.00;4;267;4.45;2;0.0333333;24;0.4;326.41;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;130;109;0.0107;0.0206;0.0271;0.0406;0.0564;0.0621;0.0638;0.0612;255.20;0.20 -13/07/2023 12:13:02;0;0;30.06;0.00;16;3018;50.3;50;0.833333;273;4.55;948.74;0.00;0.00;0.00;0.00;0.15;0.00;0.00;0;161;136;0.0287;0.0557;0.0728;0.1056;0.1655;0.1821;0.1778;0.1484;703.08;0.50 -13/07/2023 12:14:02;0;0;30.12;0.00;4;567;9.45;11;0.183333;33;0.55;474.07;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;136;128;0.0135;0.0271;0.0335;0.0497;0.0836;0.0934;0.0869;0.0632;329.99;0.24 -13/07/2023 12:15:02;0;0;30.12;0.00;16;0;0;0;0;0;0;709.16;0.00;0.00;0.00;0.00;0.09;0.00;0.00;0;130;117;0.0193;0.0385;0.0476;0.0696;0.1264;0.1414;0.1283;0.0860;469.60;0.34 -13/07/2023 12:16:02;0;0;30.19;0.00;16;768;12.8;12;0.2;73;1.21667;576.63;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;141;133;0.0162;0.0322;0.0402;0.0592;0.1022;0.1139;0.1057;0.0766;394.48;0.29 -13/07/2023 12:17:02;0;0;30.19;0.00;2;5035;83.9167;152;2.53333;277;4.61667;467.29;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;204;165;0.0138;0.0269;0.0344;0.0496;0.0819;0.0914;0.0867;0.0667;334.15;0.24 -13/07/2023 12:18:02;0;0;30.12;0.00;2;8599;143.317;258;4.3;506;8.43333;633.65;0.00;0.00;0.00;0.00;0.10;0.00;0.00;0;195;157;0.0197;0.0382;0.0487;0.0696;0.1113;0.1225;0.1157;0.0904;469.66;0.34 -13/07/2023 12:19:02;0;0;30.06;0.00;2;8071;134.517;240;4;421;7.01667;249.72;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;200;163;0.0082;0.0151;0.0198;0.0289;0.0445;0.0497;0.0492;0.0451;178.43;0.16 -13/07/2023 12:20:02;0;0;29.81;0.00;32;4027;67.1167;60;1;285;4.75;193.75;0.00;0.00;0.00;0.00;0.06;0.00;0.00;0;201;164;0.0068;0.0124;0.0165;0.0238;0.0345;0.0386;0.0388;0.0380;144.37;0.14 -13/07/2023 12:21:02;0;0;29.62;0.00;4;901;15.0167;6;0.1;49;0.816667;574.04;0.00;0.00;0.00;0.00;0.13;0.00;0.00;0;204;163;0.0194;0.0364;0.0487;0.0704;0.0990;0.1111;0.1116;0.1029;452.20;0.35 -13/07/2023 12:22:02;0;0;29.50;0.00;4;1632;27.2;22;0.366667;121;2.01667;101.60;0.00;0.00;0.00;0.00;0.03;0.00;0.00;0;206;163;0.0033;0.0063;0.0082;0.0119;0.0179;0.0203;0.0196;0.0168;74.59;0.06 -13/07/2023 12:23:02;0;0;29.44;0.00;2;566;9.43333;0;0;39;0.65;132.12;0.00;0.00;0.00;0.00;0.04;0.00;0.00;0;207;165;0.0043;0.0081;0.0105;0.0152;0.0236;0.0271;0.0258;0.0218;92.69;0.09 -13/07/2023 12:24:02;0;0;29.25;0.00;2;3530;58.8333;57;0.95;282;4.7;6208.32;0.00;0.00;0.00;0.00;2.76;0.00;0.00;0;205;165;0.2998;0.5245;0.6910;0.9570;1.0238;1.1645;1.3871;1.7004;6109.56;5.10 -13/07/2023 12:25:02;0;0;28.50;0.00;2;9463;157.717;258;4.3;378;6.3;22973.20;0.00;0.00;0.00;0.00;12.08;0.00;0.00;0;205;165;1.1490;1.9915;2.5384;3.4441;3.9190;4.4455;5.3484;6.8808;21593.29;20.26 -13/07/2023 12:26:02;0;0;28.69;0.00;2;9757;162.617;292;4.86667;393;6.55;21413.27;0.00;0.00;0.00;0.00;13.44;0.00;0.00;0;201;165;1.1133;1.9072;2.3838;3.2341;3.7342;4.2907;5.2072;7.0420;19454.78;20.68 -13/07/2023 12:27:02;0;0;29.31;0.00;2;7059;117.65;92;1.53333;357;5.95;19365.92;0.00;0.00;0.00;0.00;10.86;0.00;0.00;0;197;160;0.9145;1.5661;1.9803;2.7220;3.3925;3.9214;4.7382;6.1464;16253.69;17.43 -13/07/2023 12:28:02;0;0;29.81;0.00;2;9294;154.9;305;5.08333;383;6.38333;21093.80;0.00;0.00;0.00;0.00;11.07;0.00;0.00;0;192;161;1.0498;1.8055;2.3451;3.2973;3.5241;4.0630;4.8746;6.0854;20243.62;18.58 -13/07/2023 12:29:02;0;0;29.69;0.00;8;7847;130.783;227;3.78333;401;6.68333;4889.28;0.00;0.00;0.00;0.00;2.71;0.00;0.00;0;202;168;0.2528;0.4344;0.5476;0.7651;0.8306;0.9427;1.0987;1.3623;4711.43;4.39 -13/07/2023 12:30:02;0;0;29.56;0.00;2;5301;88.35;138;2.3;328;5.46667;255.91;0.00;0.00;0.00;0.00;0.03;0.00;0.00;0;156;140;0.0047;0.0138;0.0163;0.0284;0.0415;0.0531;0.0532;0.0378;173.80;0.12 -13/07/2023 12:31:02;0;0;29.50;0.00;2;3764;62.7333;85;1.41667;230;3.83333;469.56;0.00;0.00;0.00;0.00;0.16;0.00;0.00;0;201;163;0.0158;0.0320;0.0400;0.0610;0.0786;0.0947;0.1055;0.1093;368.83;0.33 -13/07/2023 12:32:02;0;0;29.19;0.00;2;2230;37.1667;37;0.616667;123;2.05;614.00;0.00;0.00;0.00;0.00;0.21;0.00;0.00;0;208;169;0.0219;0.0421;0.0552;0.0826;0.1031;0.1199;0.1361;0.1477;502.80;0.43 -13/07/2023 12:33:02;0;0;28.94;0.00;2;1782;29.7;31;0.516667;94;1.56667;539.80;0.00;0.00;0.00;0.00;0.18;0.00;0.00;0;205;168;0.0190;0.0367;0.0482;0.0722;0.0907;0.1053;0.1189;0.1280;439.70;0.38 -13/07/2023 12:34:02;0;0;28.25;0.00;8;5260;87.6667;117;1.95;297;4.95;323.37;0.00;0.00;0.00;0.00;0.05;0.00;0.00;0;206;168;0.0072;0.0184;0.0223;0.0377;0.0526;0.0664;0.0690;0.0551;229.37;0.17 -13/07/2023 12:35:02;0;0;28.25;0.00;2;6633;110.55;231;3.85;302;5.03333;2710.44;0.00;0.00;0.00;0.00;1.09;0.00;0.00;0;203;167;0.1288;0.2258;0.2865;0.3871;0.4608;0.5067;0.5902;0.7071;2549.82;2.11 -13/07/2023 12:36:02;0;0;28.19;0.00;2;7902;131.7;232;3.86667;352;5.86667;9966.32;0.00;0.00;0.00;0.00;4.97;0.00;0.00;0;184;151;0.4911;0.8428;1.0699;1.4708;1.7091;1.9204;2.2719;2.8034;9200.69;8.54 -13/07/2023 12:37:02;0;0;28.50;0.00;4;3476;57.9333;78;1.3;202;3.36667;9388.25;0.00;0.00;0.00;0.00;4.84;0.00;0.00;0;208;167;0.4654;0.7965;1.0081;1.3949;1.6130;1.8197;2.1567;2.6753;8624.26;8.20 -13/07/2023 12:38:02;0;0;28.81;0.00;4;6887;114.783;222;3.7;360;6;5009.29;0.00;0.00;0.00;0.00;2.79;0.00;0.00;0;163;141;0.2605;0.4431;0.5598;0.7813;0.8532;0.9735;1.1665;1.4599;4761.33;4.61 -13/07/2023 12:39:02;0;0;28.75;0.00;2;2801;46.6833;49;0.816667;207;3.45;2930.28;0.00;0.00;0.00;0.00;1.74;0.00;0.00;0;206;171;0.1553;0.2624;0.3304;0.4542;0.5022;0.5813;0.7085;0.8961;2747.64;2.80 -13/07/2023 12:40:02;0;0;28.94;0.00;2;4532;75.5333;115;1.91667;289;4.81667;5514.44;0.00;0.00;0.00;0.00;3.17;0.00;0.00;0;192;144;0.2734;0.4614;0.5828;0.8097;0.9558;1.1101;1.3545;1.7143;4815.84;5.10 -13/07/2023 12:41:02;0;0;29.25;0.00;2;1836;30.6;47;0.783333;98;1.63333;8427.64;0.00;0.00;0.00;0.00;4.93;0.00;0.00;0;180;137;0.4025;0.6780;0.8613;1.2218;1.4690;1.7136;2.0820;2.6377;7069.26;7.77 -13/07/2023 12:42:02;0;0;29.56;0.00;2;1547;25.7833;39;0.65;82;1.36667;5606.54;0.00;0.00;0.00;0.00;3.00;0.00;0.00;0;217;157;0.2771;0.4694;0.5945;0.8282;0.9625;1.1129;1.3535;1.7051;5004.22;5.05 -13/07/2023 12:43:02;0;0;29.75;0.00;2;2594;43.2333;56;0.933333;173;2.88333;9608.06;0.00;0.00;0.00;0.00;5.81;0.00;0.00;0;203;159;0.4566;0.7671;0.9756;1.3858;1.6841;1.9543;2.3535;2.9725;7980.41;8.82 -13/07/2023 12:44:02;0;0;29.62;0.00;16;2487;41.45;53;0.883333;164;2.73333;4493.97;0.00;0.00;0.00;0.00;2.86;0.00;0.00;0;200;157;0.2260;0.3781;0.4754;0.6714;0.7851;0.9231;1.1246;1.4520;3844.04;4.37 -13/07/2023 12:45:02;0;0;29.81;0.00;2;1927;32.1167;31;0.516667;136;2.26667;5887.13;0.00;0.00;0.00;0.00;3.47;0.00;0.00;0;160;137;0.2766;0.4650;0.5891;0.8313;1.0410;1.2062;1.4584;1.8548;4765.33;5.44 -13/07/2023 12:46:02;0;0;29.88;0.00;2;1374;22.9;19;0.316667;84;1.4;9815.29;0.00;0.00;0.00;0.00;5.55;0.00;0.00;0;204;157;0.4672;0.7884;1.0055;1.4302;1.7081;1.9656;2.3535;2.9633;8368.63;8.85 -13/07/2023 12:47:02;0;0;30.06;0.00;2;1957;32.6167;42;0.7;133;2.21667;9799.23;0.00;0.00;0.00;0.00;5.63;0.00;0.00;0;172;140;0.4600;0.7739;0.9891;1.4150;1.7054;1.9862;2.4011;3.0425;8167.08;8.89 -13/07/2023 12:48:02;0;0;30.19;0.00;2;1707;28.45;30;0.5;106;1.76667;6615.85;0.00;0.00;0.00;0.00;4.40;0.00;0.00;0;181;136;0.3301;0.5482;0.6918;0.9812;1.1638;1.3726;1.6818;2.1610;5511.17;6.52 -13/07/2023 12:49:02;0;0;30.31;0.00;16;1343;22.3833;21;0.35;76;1.26667;11124.45;0.00;0.00;0.00;0.00;6.61;0.00;0.00;0;144;117;0.5280;0.8847;1.1231;1.6090;1.9391;2.2564;2.7215;3.4986;9276.98;10.13 -13/07/2023 12:50:02;0;0;30.31;0.00;2;688;11.4667;3;0.05;40;0.666667;4533.74;0.00;0.00;0.00;0.00;2.66;0.00;0.00;0;211;165;0.2326;0.3919;0.4926;0.6780;0.7915;0.9013;1.0834;1.3644;4067.87;4.25 -13/07/2023 12:51:02;0;0;30.12;0.00;2;272;4.53333;0;0;13;0.216667;7984.98;0.00;0.00;0.00;0.00;4.13;0.00;0.00;0;193;157;0.3927;0.6679;0.8486;1.1788;1.3741;1.5561;1.8541;2.3034;7229.66;6.99 -13/07/2023 12:52:02;0;0;30.06;0.00;16;1196;19.9333;18;0.3;79;1.31667;6391.23;0.00;0.00;0.00;0.00;3.35;0.00;0.00;0;199;149;0.3169;0.5377;0.6812;0.9469;1.1003;1.2497;1.4927;1.8615;5786.99;5.65 -13/07/2023 12:53:02;0;0;29.94;0.00;2;3780;63;104;1.73333;158;2.63333;4812.06;0.00;0.00;0.00;0.00;2.72;0.00;0.00;0;193;155;0.2524;0.4265;0.5368;0.7425;0.8253;0.9398;1.1252;1.4100;4534.00;4.45 -13/07/2023 12:54:02;0;0;29.94;0.00;2;1041;17.35;15;0.25;54;0.9;4293.90;0.00;0.00;0.00;0.00;2.47;0.00;0.00;0;196;149;0.2243;0.3777;0.4743;0.6550;0.7397;0.8456;1.0163;1.2773;3979.27;3.99 -13/07/2023 12:55:02;0;0;29.75;0.00;4;873;14.55;11;0.183333;52;0.866667;7382.69;0.00;0.00;0.00;0.00;3.95;0.00;0.00;0;185;155;0.3687;0.6278;0.7967;1.1068;1.2720;1.4362;1.7051;2.1221;6764.46;6.57 -13/07/2023 12:56:02;0;0;29.69;0.00;2;771;12.85;4;0.0666667;41;0.683333;7778.77;0.00;0.00;0.00;0.00;4.16;0.00;0.00;0;208;162;0.3814;0.6504;0.8281;1.1562;1.3436;1.5210;1.8098;2.2490;7003.49;6.92 -13/07/2023 12:57:02;0;0;29.69;0.00;2;2343;39.05;16;0.266667;203;3.38333;6030.27;0.00;0.00;0.00;0.00;3.33;0.00;0.00;0;203;159;0.3068;0.5210;0.6553;0.9032;1.0446;1.1815;1.4053;1.7491;5515.08;5.47 -13/07/2023 12:58:02;0;0;29.62;0.00;2;4214;70.2333;98;1.63333;275;4.58333;6417.79;0.00;0.00;0.00;0.00;3.50;0.00;0.00;0;192;157;0.3223;0.5475;0.6872;0.9422;1.1179;1.2610;1.4944;1.8560;5771.78;5.76 -13/07/2023 12:59:02;0;0;29.50;0.00;2;3197;53.2833;52;0.866667;206;3.43333;4634.43;0.00;0.00;0.00;0.00;3.01;0.00;0.00;0;177;128;0.2571;0.4309;0.5273;0.7204;0.8171;0.9140;1.0549;1.3005;4360.23;4.50 -13/07/2023 13:00:02;0;0;29.38;0.00;32;443;7.38333;0;0;22;0.366667;2244.13;0.00;0.00;0.00;0.00;1.57;0.00;0.00;0;203;144;0.1212;0.1998;0.2459;0.3423;0.4004;0.4628;0.5548;0.7346;1947.06;2.31 -13/07/2023 13:01:02;0;0;29.31;0.00;32;2663;44.3833;17;0.283333;250;4.16667;4049.17;0.00;0.00;0.00;0.00;2.48;0.00;0.00;0;216;159;0.2013;0.3359;0.4203;0.5910;0.7145;0.8298;0.9941;1.2777;3402.11;3.87 -13/07/2023 13:02:02;0;0;29.19;0.00;32;8413;140.217;178;2.96667;514;8.56667;6075.00;0.00;0.00;0.00;0.00;3.55;0.00;0.00;0;222;163;0.3009;0.5063;0.6368;0.8974;1.0594;1.2278;1.4686;1.8590;5252.00;5.67 -13/07/2023 13:03:02;0;0;29.12;0.00;32;11939;198.983;412;6.86667;658;10.9667;5710.51;0.00;0.00;0.00;0.00;4.28;0.00;0.00;0;215;169;0.3203;0.5297;0.6463;0.9028;1.0279;1.1625;1.3486;1.7077;5128.75;6.00 -13/07/2023 13:04:02;0;0;28.50;0.00;2;11455;190.917;355;5.91667;553;9.21667;6140.74;0.00;0.00;0.00;0.00;3.68;0.00;0.00;0;207;167;0.3093;0.5231;0.6593;0.9219;1.0851;1.2095;1.4054;1.7443;5451.74;5.71 -13/07/2023 13:05:02;0;0;28.69;0.00;32;4684;78.0667;106;1.76667;233;3.88333;1565.12;0.00;0.00;0.00;0.00;1.01;0.00;0.00;0;204;153;0.0800;0.1316;0.1644;0.2284;0.2697;0.3357;0.4209;0.5492;1304.95;1.56 -13/07/2023 13:06:02;0;0;28.62;0.00;8;6953;115.883;173;2.88333;356;5.93333;277.57;0.00;0.00;0.00;0.00;0.05;0.00;0.00;0;189;155;0.0091;0.0171;0.0223;0.0319;0.0488;0.0534;0.0520;0.0443;209.87;0.16 -13/07/2023 13:07:02;0;0;28.56;0.00;2;6712;111.867;170;2.83333;435;7.25;107.59;0.00;0.00;0.00;0.00;0.01;0.00;0.00;0;203;165;0.0029;0.0058;0.0075;0.0108;0.0189;0.0222;0.0197;0.0115;72.20;0.05 -13/07/2023 13:08:02;0;0;28.38;0.00;2;5485;91.4167;115;1.91667;351;5.85;352.50;0.00;0.00;0.00;0.00;0.06;0.00;0.00;0;203;163;0.0108;0.0210;0.0268;0.0385;0.0616;0.0697;0.0636;0.0443;258.50;0.19 -13/07/2023 13:09:02;0;0;27.88;0.00;16;4853;80.8833;138;2.3;308;5.13333;183.81;0.00;0.00;0.00;0.00;0.04;0.00;0.00;4;189;145;0.0049;0.0094;0.0121;0.0177;0.0331;0.0378;0.0362;0.0295;112.22;0.10 -13/07/2023 13:10:02;0;1;28.38;0.00;16;251;4.18333;1;0.0166667;13;0.216667;362.40;0.00;0.00;0.00;0.00;0.04;0.00;0.00;4;189;145;0.0095;0.0190;0.0227;0.0331;0.0645;0.0740;0.0636;0.0377;230.70;0.16 -13/07/2023 13:11:02;0;0;28.44;0.00;16;799;13.3167;14;0.233333;36;0.6;249.16;0.00;0.00;0.00;0.00;0.02;0.00;0.00;0;234;176;0.0064;0.0129;0.0154;0.0226;0.0439;0.0510;0.0431;0.0255;159.80;0.10 -13/07/2023 16:19:46;0;0;27.81;0.00;16;2802;46.7;71;1.18333;174;2.9;98.93;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;194;143;0.0027;0.0054;0.0065;0.0093;0.0177;0.0200;0.0177;0.0107;64.57;0.05 -13/07/2023 16:20:46;0;0;28.00;0.00;16;53;0.883333;0;0;3;0.05;48.09;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;194;145;0.0012;0.0025;0.0028;0.0041;0.0086;0.0102;0.0084;0.0044;28.60;0.02 -13/07/2023 16:21:46;0;0;28.19;0.00;16;1142;19.0333;20;0.333333;72;1.2;76.80;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;192;146;0.0018;0.0037;0.0041;0.0061;0.0137;0.0164;0.0130;0.0058;44.17;0.03 -13/07/2023 16:22:46;0;0;28.31;0.00;16;94;1.56667;0;0;0;0;3.30;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;144;0.0001;0.0002;0.0003;0.0004;0.0006;0.0007;0.0007;0.0007;2.09;0.00 -13/07/2023 16:23:46;0;0;28.38;0.00;16;63;1.05;0;0;0;0;3.32;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;145;0.0001;0.0002;0.0003;0.0004;0.0006;0.0007;0.0007;0.0007;2.10;0.00 -13/07/2023 16:24:46;0;0;28.50;0.00;16;86;1.43333;0;0;0;0;2.73;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;146;0.0001;0.0002;0.0002;0.0003;0.0005;0.0006;0.0005;0.0005;1.63;0.00 -13/07/2023 16:25:46;0;0;28.50;0.00;16;81;1.35;0;0;0;0;2.49;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;145;0.0000;0.0001;0.0002;0.0003;0.0005;0.0005;0.0005;0.0004;1.44;0.00 -13/07/2023 16:26:46;0;0;28.56;0.00;16;77;1.28333;0;0;0;0;3.03;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;146;0.0001;0.0002;0.0002;0.0004;0.0006;0.0006;0.0006;0.0006;1.86;0.00 -13/07/2023 16:27:46;0;0;28.56;0.00;16;2346;39.1;40;0.666667;123;2.05;70.18;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;192;144;0.0018;0.0040;0.0044;0.0069;0.0121;0.0142;0.0127;0.0065;47.19;0.03 -13/07/2023 16:28:46;0;0;28.62;0.00;16;1437;23.95;12;0.2;87;1.45;199.37;0.00;0.00;0.00;0.00;0.02;0.00;0.00;4;186;143;0.0049;0.0100;0.0112;0.0162;0.0360;0.0416;0.0335;0.0158;117.57;0.08 -13/07/2023 16:29:46;0;2;28.62;0.00;16;1058;17.6333;6;0.1;72;1.2;112.19;0.00;0.00;0.00;0.00;0.02;0.00;0.00;4;192;144;0.0037;0.0069;0.0085;0.0120;0.0197;0.0219;0.0204;0.0153;83.09;0.06 -13/07/2023 16:30:46;0;0;28.62;0.00;16;995;16.5833;6;0.1;69;1.15;93.57;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;192;142;0.0027;0.0053;0.0063;0.0090;0.0169;0.0191;0.0168;0.0107;60.58;0.05 -13/07/2023 16:31:46;0;0;28.62;0.00;16;971;16.1833;5;0.0833333;79;1.31667;89.65;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;195;146;0.0025;0.0049;0.0058;0.0084;0.0161;0.0182;0.0157;0.0095;57.52;0.04 -13/07/2023 16:32:46;0;0;28.62;0.00;16;0;0;0;0;0;0;3.56;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;195;146;0.0001;0.0002;0.0003;0.0005;0.0007;0.0007;0.0007;0.0008;2.39;0.00 -13/07/2023 16:33:46;0;0;28.62;0.00;16;0;0;0;0;0;0;3.47;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;194;145;0.0001;0.0002;0.0003;0.0005;0.0007;0.0007;0.0007;0.0008;2.28;0.00 -13/07/2023 16:34:46;0;0;28.56;0.00;16;1107;18.45;38;0.633333;63;1.05;11.04;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0;194;145;0.0003;0.0006;0.0007;0.0011;0.0020;0.0023;0.0020;0.0012;6.74;0.01 -14/07/2023 09:29:18;0;0;27.69;0.00;16;1985;33.0833;52;0.866667;110;1.83333;26.35;0.00;0.00;0.00;0.00;0.01;0.00;0.00;4;192;142;0.0009;0.0017;0.0023;0.0034;0.0046;0.0053;0.0060;0.0069;19.95;0.02 -14/07/2023 09:30:18;0;0;28.12;0.00;16;5761;96.0167;126;2.1;421;7.01667;22575.86;0.00;0.00;0.00;0.00;10.70;0.00;0.00;0;219;151;1.0496;1.8464;2.4557;3.4240;3.7583;4.2722;5.1638;6.4007;21429.08;18.64 -14/07/2023 09:31:18;0;0;29.75;0.00;2;2072;34.5333;43;0.716667;161;2.68333;95960.67;0.00;0.00;0.00;0.00;51.76;0.00;0.00;0;231;157;4.3676;7.7047;10.1936;14.1769;16.3567;18.6081;22.5119;27.8895;86288.73;81.82 -14/07/2023 09:32:18;0;0;30.69;0.00;2;22;0.366667;0;0;3;0.05;100346.02;0.00;0.00;0.00;0.00;56.25;0.00;0.00;0;231;157;4.5737;8.0842;10.6661;14.8452;17.1396;19.5672;23.6645;29.3826;89801.41;86.42 -14/07/2023 09:33:18;0;0;31.62;0.00;2;0;0;0;0;0;0;91611.23;0.00;0.00;0.00;0.00;50.69;0.00;0.00;0;232;158;4.1959;7.4296;9.7767;13.5740;15.6291;17.7814;21.4519;26.5607;82681.01;78.43 -14/07/2023 09:34:18;0;0;32.19;0.00;2;0;0;0;0;0;0;91586.45;0.00;0.00;0.00;0.00;50.91;0.00;0.00;0;233;158;4.1995;7.4400;9.7785;13.5723;15.6291;17.7885;21.4532;26.5681;82659.71;78.51 -14/07/2023 09:35:18;0;0;32.75;0.00;2;0;0;0;0;0;0;97287.66;0.00;0.00;0.00;0.00;54.48;0.00;0.00;0;233;158;4.4675;7.9174;10.4035;14.4412;16.6021;18.9051;22.8023;28.2511;87872.91;83.60 -14/07/2023 09:36:18;0;0;33.25;0.00;2;0;0;0;0;0;0;102408.84;0.00;0.00;0.00;0.00;57.77;0.00;0.00;0;235;160;4.7008;8.3282;10.9436;15.1924;17.4929;19.9278;24.0408;29.7916;92273.62;88.21 -14/07/2023 09:37:18;0;0;33.94;0.00;2;0;0;0;0;0;0;102687.76;0.00;0.00;0.00;0.00;57.82;0.00;0.00;0;236;162;4.7196;8.3636;10.9915;15.2431;17.5351;19.9560;24.0529;29.7792;92757.57;88.30 -14/07/2023 09:38:18;0;0;34.31;0.00;2;0;0;0;0;0;0;103532.26;0.00;0.00;0.00;0.00;58.93;0.00;0.00;0;236;162;4.7651;8.4383;11.0829;15.3669;17.6929;20.1489;24.2825;30.0682;93386.68;89.24 -14/07/2023 09:39:18;0;0;34.50;0.00;2;0;0;0;0;0;0;99438.04;0.00;0.00;0.00;0.00;56.42;0.00;0.00;0;237;163;4.5879;8.1251;10.6673;14.7738;16.9826;19.3244;23.2692;28.7863;90002.16;85.57 -14/07/2023 09:40:18;0;0;34.81;0.00;2;0;0;0;0;0;0;104029.04;0.00;0.00;0.00;0.00;59.98;0.00;0.00;0;238;163;4.7998;8.4921;11.1485;15.4554;17.7916;20.2760;24.4283;30.2551;93762.78;89.99 -14/07/2023 09:41:18;0;0;35.25;0.00;2;0;0;0;0;0;0;98361.84;0.00;0.00;0.00;0.00;56.25;0.00;0.00;0;240;163;4.5423;8.0405;10.5564;14.6217;16.8113;19.1299;23.0267;28.4874;88949.05;84.83 -14/07/2023 09:42:18;0;0;35.31;0.00;2;0;0;0;0;0;0;94689.54;0.00;0.00;0.00;0.00;54.26;0.00;0.00;0;240;163;4.3814;7.7505;10.1673;14.0777;16.1833;18.4181;22.1597;27.4145;85687.27;81.67 -14/07/2023 09:43:18;0;0;35.25;0.00;2;0;0;0;0;0;0;96623.49;0.00;0.00;0.00;0.00;55.83;0.00;0.00;0;240;163;4.4758;7.9105;10.3754;14.3716;16.5241;18.8149;22.6542;28.0362;87315.39;83.57 -14/07/2023 09:44:18;0;0;35.38;0.00;2;0;0;0;0;0;0;91466.76;0.00;0.00;0.00;0.00;52.35;0.00;0.00;0;240;163;4.2400;7.4889;9.8253;13.6019;15.6320;17.7835;21.3989;26.4636;82827.12;78.88 -14/07/2023 09:45:18;0;0;35.25;0.00;2;0;0;0;0;0;0;85269.87;0.00;0.00;0.00;0.00;48.15;0.00;0.00;0;240;163;3.9583;6.9884;9.1676;12.6775;14.5599;16.5406;19.8927;24.5637;77471.98;73.25 -14/07/2023 09:46:18;0;0;35.12;0.00;2;0;0;0;0;0;0;87143.20;0.00;0.00;0.00;0.00;49.39;0.00;0.00;0;240;163;4.0436;7.1381;9.3640;12.9586;14.8855;16.9254;20.3580;25.1445;79043.98;75.03 -14/07/2023 09:47:18;0;0;35.12;0.00;2;0;0;0;0;0;0;83501.29;0.00;0.00;0.00;0.00;47.17;0.00;0.00;0;240;163;3.8794;6.8488;8.9800;12.4210;14.2621;16.2102;19.4940;24.0614;75834.09;71.89 -14/07/2023 09:48:18;0;0;35.06;0.00;2;0;0;0;0;0;0;90272.80;0.00;0.00;0.00;0.00;51.51;0.00;0.00;0;240;163;4.1868;7.3919;9.6927;13.4232;15.4363;17.5724;21.1412;26.1198;81634.89;78.07 -14/07/2023 09:49:18;0;0;35.12;0.00;2;0;0;0;0;0;0;93507.83;0.00;0.00;0.00;0.00;53.22;0.00;0.00;0;240;163;4.3355;7.6601;10.0423;13.9122;15.9855;18.1945;21.8822;27.0333;84625.50;80.85 -14/07/2023 09:50:18;0;0;35.19;0.00;2;0;0;0;0;0;0;92230.36;0.00;0.00;0.00;0.00;52.59;0.00;0.00;0;240;162;4.2758;7.5597;9.9005;13.7137;15.7775;17.9593;21.6000;26.6908;83368.27;79.86 -14/07/2023 09:51:18;0;0;35.19;0.00;2;0;0;0;0;0;0;84839.84;0.00;0.00;0.00;0.00;47.79;0.00;0.00;0;240;163;3.9424;6.9707;9.1289;12.6255;14.4949;16.4699;19.7957;24.4299;77089.55;73.15 -14/07/2023 09:52:18;0;0;35.19;0.00;2;0;0;0;0;0;0;92356.78;0.00;0.00;0.00;0.00;52.62;0.00;0.00;0;240;163;4.2856;7.5743;9.9219;13.7420;15.7970;17.9801;21.6306;26.7320;83546.39;80.02 -14/07/2023 09:53:18;0;0;35.12;0.00;2;0;0;0;0;0;0;87873.64;0.00;0.00;0.00;0.00;49.36;0.00;0.00;0;240;163;4.0787;7.2119;9.4491;13.0729;15.0129;17.0600;20.5021;25.3034;79797.84;75.74 -14/07/2023 09:54:18;0;0;35.25;0.00;2;0;0;0;0;0;0;95867.48;0.00;0.00;0.00;0.00;54.50;0.00;0.00;0;240;163;4.4440;7.8559;10.3010;14.2629;16.3912;18.6528;22.4285;27.7134;86780.29;82.92 -14/07/2023 09:55:18;0;0;35.50;0.00;2;0;0;0;0;0;0;91160.73;0.00;0.00;0.00;0.00;51.52;0.00;0.00;0;240;163;4.2292;7.4781;9.8025;13.5551;15.5755;17.6958;21.2677;26.2429;82766.55;78.47 -14/07/2023 09:56:18;0;0;35.50;0.00;2;0;0;0;0;0;0;90833.15;0.00;0.00;0.00;0.00;51.59;0.00;0.00;0;240;163;4.2183;7.4531;9.7697;13.5052;15.5220;17.6318;21.1896;26.1478;82475.41;78.16 -14/07/2023 09:57:18;0;0;35.69;0.00;2;0;0;0;0;0;0;86670.54;0.00;0.00;0.00;0.00;49.04;0.00;0.00;0;240;163;4.0299;7.1238;9.3345;12.8903;14.8058;16.7986;20.1810;24.8868;78890.53;74.44 -14/07/2023 09:58:18;0;0;35.75;0.00;2;0;0;0;0;0;0;96868.15;0.00;0.00;0.00;0.00;56.01;0.00;0.00;0;240;163;4.5029;7.9470;10.4178;14.4064;16.5777;18.8561;22.6780;28.0193;87641.44;83.83 -14/07/2023 09:59:18;0;0;35.56;0.00;2;0;0;0;0;0;0;85299.48;0.00;0.00;0.00;0.00;48.24;0.00;0.00;0;240;163;3.9742;7.0180;9.1963;12.6870;14.5683;16.5285;19.8392;24.4574;77751.11;73.20 -14/07/2023 10:00:18;0;0;35.62;0.00;2;0;0;0;0;0;0;90793.82;0.00;0.00;0.00;0.00;51.69;0.00;0.00;0;240;163;4.2284;7.4620;9.7789;13.5018;15.5173;17.6148;21.1468;26.0848;82571.04;78.07 -14/07/2023 10:01:18;0;0;35.88;0.00;2;0;0;0;0;0;0;99936.85;0.00;0.00;0.00;0.00;57.93;0.00;0.00;0;240;163;4.6537;8.2121;10.7638;14.8778;17.1074;19.4545;23.3814;28.8719;90505.21;86.62 -14/07/2023 10:02:18;0;0;35.94;0.00;2;0;0;0;0;0;0;89498.40;0.00;0.00;0.00;0.00;51.08;0.00;0.00;0;241;163;4.1774;7.3766;9.6543;13.3282;15.3039;17.3675;20.8422;25.6978;81466.20;77.20 -14/07/2023 10:03:18;0;0;36.25;0.00;2;0;0;0;0;0;0;97149.31;0.00;0.00;0.00;0.00;55.85;0.00;0.00;0;241;163;4.5264;7.9940;10.4676;14.4636;16.6266;18.8876;22.6775;27.9695;88143.95;84.06 -14/07/2023 10:04:18;0;0;36.31;0.00;2;0;0;0;0;0;0;99991.36;0.00;0.00;0.00;0.00;57.54;0.00;0.00;0;242;163;4.6624;8.2382;10.7830;14.8976;17.1091;19.4399;23.3426;28.7879;90806.92;86.57 -14/07/2023 10:05:18;0;0;36.56;0.00;2;0;0;0;0;0;0;105908.49;0.00;0.00;0.00;0.00;61.23;0.00;0.00;0;243;163;4.9373;8.7145;11.4123;15.7752;18.1290;20.6135;24.7546;30.5458;96002.65;91.83 -14/07/2023 10:06:18;0;0;36.81;0.00;2;0;0;0;0;0;0;102135.09;0.00;0.00;0.00;0.00;58.66;0.00;0.00;0;243;165;4.7622;8.4113;11.0063;15.2036;17.4811;19.8505;23.8328;29.3766;92712.50;88.35 -14/07/2023 10:07:18;0;0;37.00;0.00;2;0;0;0;0;0;0;96244.47;0.00;0.00;0.00;0.00;55.00;0.00;0.00;0;244;165;4.4932;7.9436;10.3836;14.3346;16.4638;18.6778;22.4156;27.6154;87605.37;83.10 -14/07/2023 10:08:18;0;0;37.06;0.00;2;0;0;0;0;0;0;99116.64;0.00;0.00;0.00;0.00;56.96;0.00;0.00;0;244;164;4.6248;8.1705;10.6835;14.7506;16.9665;19.2521;23.1164;28.4849;90030.82;85.66 -14/07/2023 10:09:18;0;0;37.12;0.00;2;0;0;0;0;0;0;97152.30;0.00;0.00;0.00;0.00;55.54;0.00;0.00;0;244;164;4.5380;8.0190;10.4816;14.4679;16.6173;18.8398;22.6176;27.8542;88482.76;83.77 -14/07/2023 10:10:18;0;0;37.00;0.00;2;0;0;0;0;0;0;101443.14;0.00;0.00;0.00;0.00;58.16;0.00;0.00;0;245;164;4.7391;8.3644;10.9414;15.0996;17.3605;19.6843;23.6447;29.1205;92260.39;87.57 -14/07/2023 10:11:18;0;0;37.19;0.00;2;0;0;0;0;0;0;96244.56;0.00;0.00;0.00;0.00;54.79;0.00;0.00;0;244;165;4.4986;7.9490;10.3869;14.3299;16.4604;18.6487;22.3923;27.5644;87740.09;82.90 -14/07/2023 10:12:18;0;0;37.25;0.00;2;4;0.0666667;0;0;0;0;92695.02;0.00;0.00;0.00;0.00;52.59;0.00;0.00;0;244;165;4.3366;7.6570;10.0040;13.7940;15.8530;17.9559;21.5585;26.5265;84535.88;79.79 -14/07/2023 10:13:18;0;0;36.94;0.00;2;0;0;0;0;0;0;83155.79;0.00;0.00;0.00;0.00;46.41;0.00;0.00;0;243;164;3.8993;6.8796;8.9837;12.3780;14.2014;16.0618;19.2679;23.6806;76178.86;71.22 -14/07/2023 10:14:18;0;0;36.75;0.00;2;0;0;0;0;0;0;84815.18;0.00;0.00;0.00;0.00;47.40;0.00;0.00;0;243;163;3.9709;7.0046;9.1514;12.6148;14.4911;16.3947;19.6714;24.1796;77541.48;72.68 -14/07/2023 10:15:18;0;0;36.88;0.00;2;0;0;0;0;0;0;78794.55;0.00;0.00;0.00;0.00;43.66;0.00;0.00;0;242;163;3.6925;6.5133;8.5051;11.7149;13.4586;15.2095;18.2356;22.4036;72171.09;67.37 -14/07/2023 10:16:18;0;0;36.62;0.00;2;0;0;0;0;0;0;83052.46;0.00;0.00;0.00;0.00;46.30;0.00;0.00;0;242;163;3.8914;6.8599;8.9616;12.3552;14.1917;16.0539;19.2549;23.6736;75936.38;71.22 -14/07/2023 10:17:18;0;0;36.62;0.00;2;0;0;0;0;0;0;87323.19;0.00;0.00;0.00;0.00;48.66;0.00;0.00;0;242;163;4.0921;7.2111;9.4229;12.9960;14.9201;16.8821;20.2445;24.8901;79840.94;74.91 -14/07/2023 10:18:18;0;0;36.56;0.00;2;0;0;0;0;0;0;100081.86;0.00;0.00;0.00;0.00;56.99;0.00;0.00;0;242;163;4.6863;8.2421;10.7815;14.8950;17.1344;19.4316;23.3426;28.7558;90897.37;86.57 -14/07/2023 10:19:18;0;0;36.88;0.00;2;0;0;0;0;0;0;89343.23;0.00;0.00;0.00;0.00;49.68;0.00;0.00;0;243;163;4.1850;7.3704;9.6367;13.2839;15.2689;17.2694;20.7045;25.4438;81646.78;76.57 -14/07/2023 10:20:18;0;0;37.12;0.00;2;0;0;0;0;0;0;94771.69;0.00;0.00;0.00;0.00;53.29;0.00;0.00;0;243;163;4.4400;7.8143;10.2177;14.0966;16.2048;18.3557;22.0160;27.0947;86411.80;81.50 -14/07/2023 10:21:18;0;0;37.38;0.00;2;0;0;0;0;0;0;91610.44;0.00;0.00;0.00;0.00;51.35;0.00;0.00;0;243;164;4.2957;7.5604;9.8876;13.6243;15.6654;17.7299;21.2634;26.1466;83631.83;78.73 -14/07/2023 10:22:18;0;0;37.19;0.00;2;0;0;0;0;0;0;68430.89;0.00;0.00;0.00;0.00;36.82;0.00;0.00;0;243;164;3.2270;5.6821;7.4173;10.1786;11.6641;13.1338;15.6983;19.2254;63293.75;57.97 -14/07/2023 10:23:18;0;0;36.94;0.00;2;0;0;0;0;0;0;46012.71;0.00;0.00;0.00;0.00;23.53;0.00;0.00;0;242;163;2.2030;3.8772;5.0416;6.8811;7.7989;8.7311;10.3952;12.6768;43529.45;38.41 -14/07/2023 10:24:18;0;0;36.38;0.00;2;0;0;0;0;0;0;41130.98;0.00;0.00;0.00;0.00;20.96;0.00;0.00;0;242;163;1.9681;3.4559;4.4873;6.1239;6.9800;7.8173;9.3088;11.3665;38733.54;34.30 -14/07/2023 10:25:18;0;0;35.50;0.00;2;0;0;0;0;0;0;58863.67;0.00;0.00;0.00;0.00;31.28;0.00;0.00;0;240;163;2.7744;4.8660;6.3504;8.7172;10.0371;11.3041;13.5136;16.5544;54245.34;49.69 -14/07/2023 10:26:18;0;0;35.19;0.00;2;0;0;0;0;0;0;80567.55;0.00;0.00;0.00;0.00;44.64;0.00;0.00;0;240;163;3.7869;6.6368;8.6842;11.9629;13.7699;15.5756;18.6745;22.9569;73590.89;68.98 -14/07/2023 10:27:18;0;0;35.31;0.00;2;4;0.0666667;0;0;0;0;81414.74;0.00;0.00;0.00;0.00;45.07;0.00;0.00;0;240;162;3.8252;6.7091;8.7781;12.0854;13.9158;15.7327;18.8635;23.1751;74394.05;69.66 -14/07/2023 10:28:18;0;0;35.56;0.00;2;0;0;0;0;0;0;81876.81;0.00;0.00;0.00;0.00;45.38;0.00;0.00;0;241;163;3.8469;6.7488;8.8312;12.1597;13.9955;15.8220;18.9731;23.3105;74824.72;70.10 -14/07/2023 10:29:18;0;0;35.69;0.00;2;0;0;0;0;0;0;72307.93;0.00;0.00;0.00;0.00;39.57;0.00;0.00;0;241;163;3.4111;5.9852;7.8256;10.7647;12.3381;13.9304;16.6846;20.4812;66524.20;61.71 -14/07/2023 10:30:18;0;0;35.44;0.00;2;0;0;0;0;0;0;37033.44;0.00;0.00;0.00;0.00;18.76;0.00;0.00;0;241;163;1.7723;3.1063;4.0278;5.4952;6.2902;7.0452;8.3870;10.2450;34772.44;30.84 -14/07/2023 10:31:18;0;0;35.00;0.00;2;0;0;0;0;0;0;37807.91;0.00;0.00;0.00;0.00;19.23;0.00;0.00;0;240;161;1.8052;3.1609;4.1031;5.6056;6.4252;7.2031;8.5809;10.4888;35378.67;31.54 -14/07/2023 10:32:18;0;0;34.69;0.00;2;0;0;0;0;0;0;48386.69;0.00;0.00;0.00;0.00;25.13;0.00;0.00;0;240;161;2.2779;3.9912;5.2039;7.1327;8.2515;9.2714;11.0723;13.5496;44582.82;40.54 -14/07/2023 10:33:18;0;0;34.38;0.00;2;0;0;0;0;0;0;51738.56;0.00;0.00;0.00;0.00;27.28;0.00;0.00;0;240;162;2.4482;4.2897;5.5965;7.6772;8.8171;9.9173;11.8534;14.5166;47865.91;43.68 -14/07/2023 10:34:18;0;0;34.12;0.00;2;0;0;0;0;0;0;41703.93;0.00;0.00;0.00;0.00;21.45;0.00;0.00;0;240;161;1.9960;3.4952;4.5457;6.2182;7.0794;7.9432;9.4719;11.5828;39158.42;34.94 -14/07/2023 10:35:18;0;0;34.00;0.00;2;0;0;0;0;0;0;54466.70;0.00;0.00;0.00;0.00;28.95;0.00;0.00;0;238;161;2.5844;4.5267;5.9099;8.1078;9.2728;10.4351;12.4766;15.2883;50548.81;46.04 -14/07/2023 10:36:18;0;0;34.12;0.00;2;0;0;0;0;0;0;72375.17;0.00;0.00;0.00;0.00;40.26;0.00;0.00;0;240;162;3.4082;5.9648;7.8068;10.7398;12.3797;13.9873;16.7791;20.6276;66099.36;61.99 -14/07/2023 10:37:18;0;0;34.31;0.00;2;0;0;0;0;0;0;70124.70;0.00;0.00;0.00;0.00;38.76;0.00;0.00;0;240;162;3.3084;5.7898;7.5743;10.4102;11.9883;13.5319;16.2190;19.9195;64227.45;59.94 -14/07/2023 10:38:18;0;0;34.62;0.00;2;0;0;0;0;0;0;70491.21;0.00;0.00;0.00;0.00;39.00;0.00;0.00;0;240;162;3.3272;5.8198;7.6141;10.4631;12.0524;13.6067;16.3066;20.0282;64546.95;60.27 -14/07/2023 10:39:18;0;0;34.75;0.00;2;0;0;0;0;0;0;67210.95;0.00;0.00;0.00;0.00;36.94;0.00;0.00;0;240;162;3.1789;5.5574;7.2641;9.9749;11.4872;12.9647;15.5224;19.0542;61655.36;57.39 -14/07/2023 10:40:18;0;0;34.75;0.00;2;0;0;0;0;0;0;67088.69;0.00;0.00;0.00;0.00;36.89;0.00;0.00;0;240;162;3.1767;5.5482;7.2515;9.9564;11.4695;12.9439;15.4991;19.0290;61527.03;57.33 -14/07/2023 10:41:18;0;0;34.56;0.00;2;0;0;0;0;0;0;59436.48;0.00;0.00;0.00;0.00;32.08;0.00;0.00;0;240;162;2.8216;4.9289;6.4346;8.8236;10.1485;11.4337;13.6754;16.7681;54781.28;50.57 -14/07/2023 10:42:18;0;0;34.44;0.00;2;0;0;0;0;0;0;56931.42;0.00;0.00;0.00;0.00;30.61;0.00;0.00;0;240;162;2.7059;4.7242;6.1660;8.4523;9.7187;10.9496;13.0894;16.0485;52519.23;48.42 -14/07/2023 10:43:18;0;0;34.44;0.00;2;0;0;0;0;0;0;56866.61;0.00;0.00;0.00;0.00;30.50;0.00;0.00;0;240;162;2.7008;4.7150;6.1590;8.4420;9.7077;10.9334;13.0734;16.0267;52455.42;48.35 -14/07/2023 10:44:18;0;0;34.00;0.00;2;0;0;0;0;0;0;54720.63;0.00;0.00;0.00;0.00;29.12;0.00;0.00;0;240;162;2.5996;4.5365;5.9232;8.1196;9.3391;10.5120;12.5655;15.3984;50508.14;46.45 -14/07/2023 10:45:18;0;0;33.75;0.00;2;0;0;0;0;0;0;62443.79;0.00;0.00;0.00;0.00;33.81;0.00;0.00;0;240;162;2.9576;5.1597;6.7486;9.2649;10.6698;12.0301;14.4013;17.6709;57345.75;53.25 -14/07/2023 10:46:18;0;0;33.75;0.00;2;0;0;0;0;0;0;66216.68;0.00;0.00;0.00;0.00;36.06;0.00;0.00;0;240;162;3.1315;5.4636;7.1487;9.8146;11.3214;12.7677;15.2864;18.7598;60683.01;56.49 -14/07/2023 10:47:18;0;0;33.75;0.00;2;0;0;0;0;0;0;66424.36;0.00;0.00;0.00;0.00;36.28;0.00;0.00;0;240;162;3.1428;5.4859;7.1764;9.8468;11.3577;12.8084;15.3300;18.8125;60904.72;56.68 -14/07/2023 10:48:18;0;0;34.06;0.00;2;0;0;0;0;0;0;68763.31;0.00;0.00;0.00;0.00;37.73;0.00;0.00;0;240;160;3.2527;5.6771;7.4299;10.1923;11.7618;13.2630;15.8767;19.4782;63009.34;58.70 -14/07/2023 10:49:18;0;0;34.06;0.00;2;3;0.05;0;0;0;0;72507.00;0.00;0.00;0.00;0.00;40.18;0.00;0.00;0;240;162;3.4317;5.9840;7.8370;10.7531;12.4088;14.0015;16.7670;20.5803;66351.51;62.06 -14/07/2023 10:50:18;0;0;34.00;0.00;2;0;0;0;0;0;0;70134.05;0.00;0.00;0.00;0.00;38.74;0.00;0.00;0;240;161;3.3225;5.7928;7.5854;10.4029;12.0013;13.5365;16.2043;19.8804;64248.15;60.00 -14/07/2023 10:51:18;0;0;33.94;0.00;2;0;0;0;0;0;0;59199.17;0.00;0.00;0.00;0.00;32.14;0.00;0.00;0;240;162;2.8155;4.9089;6.4140;8.7883;10.1194;11.3976;13.6249;16.6985;54502.77;50.50 -14/07/2023 10:52:18;0;0;33.88;0.00;2;0;0;0;0;0;0;49577.88;0.00;0.00;0.00;0.00;26.47;0.00;0.00;0;240;162;2.3761;4.1426;5.3992;7.3917;8.4556;9.5113;11.3552;13.9041;46071.29;42.22 -14/07/2023 10:53:18;0;0;33.94;0.00;2;0;0;0;0;0;0;44768.93;0.00;0.00;0.00;0.00;23.59;0.00;0.00;0;240;162;2.1428;3.7335;4.8589;6.6527;7.6344;8.5836;10.2372;12.5344;41553.84;37.93 -14/07/2023 10:54:18;0;0;33.81;0.00;2;0;0;0;0;0;0;44160.43;0.00;0.00;0.00;0.00;23.27;0.00;0.00;0;240;162;2.1155;3.6837;4.7929;6.5633;7.5307;8.4702;10.0989;12.3689;40986.97;37.44 -14/07/2023 10:55:18;0;0;33.81;0.00;2;0;0;0;0;0;0;48550.32;0.00;0.00;0.00;0.00;25.90;0.00;0.00;0;240;161;2.3133;4.0249;5.2458;7.1871;8.3044;9.3451;11.1573;13.6731;44648.30;41.35 -14/07/2023 10:56:18;0;0;33.56;0.00;2;0;0;0;0;0;0;48677.37;0.00;0.00;0.00;0.00;26.03;0.00;0.00;0;238;160;2.3280;4.0495;5.2784;7.2309;8.3188;9.3642;11.1815;13.7019;44933.74;41.55 -14/07/2023 10:57:18;0;0;33.50;0.00;2;0;0;0;0;0;0;47292.37;0.00;0.00;0.00;0.00;25.12;0.00;0.00;0;238;160;2.2533;3.9199;5.1068;6.9974;8.0868;9.0991;10.8641;13.3077;43504.61;40.21 -14/07/2023 10:58:18;0;0;33.50;0.00;2;0;0;0;0;0;0;46002.96;0.00;0.00;0.00;0.00;24.41;0.00;0.00;0;238;160;2.1999;3.8275;4.9851;6.8293;7.8538;8.8379;10.5499;12.9243;42536.70;39.10 -14/07/2023 10:59:18;0;0;33.38;0.00;2;0;0;0;0;0;0;46039.36;0.00;0.00;0.00;0.00;24.41;0.00;0.00;0;238;160;2.2021;3.8289;4.9880;6.8328;7.8601;8.8462;10.5592;12.9385;42559.18;39.13 -14/07/2023 11:00:18;0;0;33.44;0.00;2;0;0;0;0;0;0;49421.16;0.00;0.00;0.00;0.00;26.41;0.00;0.00;0;238;161;2.3609;4.1033;5.3539;7.3345;8.4483;9.5118;11.3627;13.9246;45547.90;42.19 -14/07/2023 11:01:18;0;0;33.31;0.00;2;0;0;0;0;0;0;45687.54;0.00;0.00;0.00;0.00;24.18;0.00;0.00;0;238;160;2.1927;3.8112;4.9666;6.8020;7.7911;8.7654;10.4604;12.8121;42422.37;38.84 -14/07/2023 11:02:18;0;0;33.06;0.00;2;0;0;0;0;0;0;46401.42;0.00;0.00;0.00;0.00;24.52;0.00;0.00;0;238;160;2.2176;3.8537;5.0250;6.8835;7.9221;8.9129;10.6384;13.0280;42878.47;39.40 -14/07/2023 11:03:18;0;0;32.75;0.00;2;0;0;0;0;0;0;45852.92;0.00;0.00;0.00;0.00;24.11;0.00;0.00;0;238;160;2.1898;3.8050;4.9626;6.7984;7.8230;8.8020;10.5035;12.8615;42398.89;38.83 -14/07/2023 11:04:18;0;0;32.69;0.00;2;0;0;0;0;0;0;52055.42;0.00;0.00;0.00;0.00;27.79;0.00;0.00;0;237;160;2.4795;4.3061;5.6288;7.7140;8.8962;10.0208;11.9738;14.6673;47889.53;44.33 -14/07/2023 11:05:18;0;0;32.69;0.00;2;0;0;0;0;0;0;51180.24;0.00;0.00;0.00;0.00;27.13;0.00;0.00;0;237;160;2.4462;4.2541;5.5584;7.6108;8.7294;9.8268;11.7347;14.3635;47411.34;43.50 -14/07/2023 11:06:18;0;0;32.75;0.00;2;0;0;0;0;0;0;55814.27;0.00;0.00;0.00;0.00;29.84;0.00;0.00;0;237;160;2.6534;4.6119;6.0337;8.2675;9.5386;10.7443;12.8429;15.7319;51317.56;47.50 -14/07/2023 11:07:18;0;0;32.94;0.00;2;0;0;0;0;0;0;56300.73;0.00;0.00;0.00;0.00;29.97;0.00;0.00;0;238;160;2.6762;4.6534;6.0868;8.3380;9.6191;10.8312;12.9439;15.8451;51807.83;47.85 -14/07/2023 11:08:18;0;0;33.00;0.00;2;0;0;0;0;0;0;62409.54;0.00;0.00;0.00;0.00;33.28;0.00;0.00;0;238;160;2.9590;5.1454;6.7405;9.2366;10.6651;12.0072;14.3581;17.5729;57337.54;53.01 -14/07/2023 11:09:18;0;0;33.25;0.00;2;0;0;0;0;0;0;70833.10;0.00;0.00;0.00;0.00;38.28;0.00;0.00;0;238;160;3.3522;5.8252;7.6436;10.4759;12.1169;13.6582;16.3484;20.0245;64829.96;60.35 -14/07/2023 11:10:18;0;0;33.62;0.00;2;0;0;0;0;0;0;73803.75;0.00;0.00;0.00;0.00;39.94;0.00;0.00;0;240;162;3.4910;6.0679;7.9664;10.9109;12.6268;14.2329;17.0367;20.8643;67535.06;62.88 -14/07/2023 11:11:18;0;0;33.88;0.00;2;0;0;0;0;0;0;68585.08;0.00;0.00;0.00;0.00;36.65;0.00;0.00;0;240;162;3.2502;5.6536;7.4173;10.1450;11.7196;13.1924;15.7714;19.2913;63058.57;58.18 -14/07/2023 11:12:18;0;0;34.19;0.00;2;0;0;0;0;0;0;66661.22;0.00;0.00;0.00;0.00;35.72;0.00;0.00;0;240;162;3.1670;5.5043;7.2158;9.8666;11.3915;12.8238;15.3300;18.7573;61341.35;56.61 -14/07/2023 11:13:18;0;0;34.25;0.00;2;0;0;0;0;0;0;65019.86;0.00;0.00;0.00;0.00;34.66;0.00;0.00;0;240;162;3.0918;5.3728;7.0400;9.6216;11.1084;12.4951;14.9316;18.2609;59911.68;55.12 -14/07/2023 11:14:18;0;0;34.38;0.00;2;0;0;0;0;0;0;70547.86;0.00;0.00;0.00;0.00;37.83;0.00;0.00;0;240;162;3.3485;5.8155;7.6289;10.4321;12.0574;13.5751;16.2272;19.8512;64840.37;59.86 -14/07/2023 11:15:18;0;0;34.62;0.00;2;0;0;0;0;0;0;74039.30;0.00;0.00;0.00;0.00;39.73;0.00;0.00;0;240;162;3.5098;6.0975;8.0087;10.9469;12.6551;14.2442;17.0268;20.8260;68038.97;62.80 -14/07/2023 11:16:18;0;0;34.75;0.00;2;0;0;0;0;0;0;68495.36;0.00;0.00;0.00;0.00;36.39;0.00;0.00;0;240;162;3.2523;5.6524;7.4133;10.1253;11.7002;13.1596;15.7128;19.2028;63109.66;57.94 -14/07/2023 11:17:18;0;0;34.75;0.00;2;0;0;0;0;0;0;65110.36;0.00;0.00;0.00;0.00;34.43;0.00;0.00;0;240;163;3.0979;5.3805;7.0511;9.6293;11.1169;12.4988;14.9204;18.2312;60096.95;55.02 -14/07/2023 11:18:18;0;0;34.69;0.00;2;0;0;0;0;0;0;66845.80;0.00;0.00;0.00;0.00;35.40;0.00;0.00;0;240;162;3.1786;5.5163;7.2353;9.8803;11.4159;12.8362;15.3282;18.7326;61631.00;56.49 -14/07/2023 11:19:18;0;0;34.62;0.00;2;0;0;0;0;0;0;65494.45;0.00;0.00;0.00;0.00;34.60;0.00;0.00;0;240;163;3.1160;5.4082;7.0890;9.6826;11.1827;12.5719;15.0063;18.3395;60429.58;55.31 -14/07/2023 11:20:18;0;0;34.62;0.00;2;0;0;0;0;0;0;59794.61;0.00;0.00;0.00;0.00;31.42;0.00;0.00;0;240;163;2.8502;4.9473;6.4759;8.8459;10.2046;11.4707;13.6862;16.7232;55271.49;50.48 -14/07/2023 11:21:18;0;0;34.62;0.00;2;0;0;0;0;0;0;58286.82;0.00;0.00;0.00;0.00;30.53;0.00;0.00;0;240;163;2.7797;4.8262;6.3138;8.6250;9.9439;11.1794;13.3310;16.2922;53923.91;49.18 -14/07/2023 11:22:18;0;0;34.69;0.00;2;0;0;0;0;0;0;58210.46;0.00;0.00;0.00;0.00;30.45;0.00;0.00;0;240;163;2.7742;4.8173;6.3012;8.6083;9.9338;11.1686;13.3189;16.2757;53802.48;49.13 -14/07/2023 11:23:18;0;0;34.81;0.00;2;0;0;0;0;0;0;57717.18;0.00;0.00;0.00;0.00;30.14;0.00;0.00;0;240;163;2.7540;4.7827;6.2537;8.5425;9.8469;11.0685;13.1955;16.1242;53422.71;48.72 -14/07/2023 11:24:18;0;0;34.75;0.00;2;0;0;0;0;0;0;56610.05;0.00;0.00;0.00;0.00;29.54;0.00;0.00;0;240;163;2.7015;4.6931;6.1329;8.3801;9.6575;10.8573;12.9387;15.8147;52403.74;47.79 -14/07/2023 11:25:18;0;0;34.62;0.00;2;0;0;0;0;0;0;55994.64;0.00;0.00;0.00;0.00;29.23;0.00;0.00;0;240;162;2.6733;4.6423;6.0658;8.2881;9.5529;10.7431;12.7998;15.6471;51823.73;47.29 -14/07/2023 11:26:18;0;0;34.69;0.00;2;0;0;0;0;0;0;54362.25;0.00;0.00;0.00;0.00;28.35;0.00;0.00;0;240;162;2.5992;4.5138;5.8937;8.0513;9.2733;10.4260;12.4217;15.1815;50372.05;45.92 -14/07/2023 11:27:18;0;0;34.62;0.00;2;0;0;0;0;0;0;51878.62;0.00;0.00;0.00;0.00;26.97;0.00;0.00;0;240;162;2.4838;4.3149;5.6273;7.6860;8.8485;9.9435;11.8413;14.4718;48135.00;43.81 -14/07/2023 11:28:18;0;0;34.50;0.00;2;0;0;0;0;0;0;49615.09;0.00;0.00;0.00;0.00;25.71;0.00;0.00;0;240;162;2.3797;4.1334;5.3856;7.3556;8.4605;9.5047;11.3114;13.8238;46104.02;41.89 -14/07/2023 11:29:18;0;0;34.31;0.00;2;0;0;0;0;0;0;50561.89;0.00;0.00;0.00;0.00;26.22;0.00;0.00;0;240;162;2.4231;4.2076;5.4829;7.4926;8.6237;9.6896;11.5336;14.0955;46926.93;42.70 -14/07/2023 11:30:18;0;0;34.25;0.00;2;0;0;0;0;0;0;50374.72;0.00;0.00;0.00;0.00;26.12;0.00;0.00;0;240;162;2.4140;4.1914;5.4626;7.4651;8.5917;9.6564;11.4943;14.0502;46744.27;42.56 -14/07/2023 11:31:18;0;0;34.12;0.00;2;0;0;0;0;0;0;51015.22;0.00;0.00;0.00;0.00;26.47;0.00;0.00;0;240;162;2.4422;4.2384;5.5278;7.5562;8.7034;9.7831;11.6445;14.2359;47277.92;43.11 -14/07/2023 11:32:18;0;0;33.88;0.00;2;0;0;0;0;0;0;47589.82;0.00;0.00;0.00;0.00;24.65;0.00;0.00;0;240;162;2.2920;3.9772;5.1785;7.0769;8.1073;9.1101;10.8380;13.2495;44376.79;40.23 -14/07/2023 11:33:18;0;0;33.81;0.00;2;0;0;0;0;0;0;46391.90;0.00;0.00;0.00;0.00;23.93;0.00;0.00;0;240;160;2.2265;3.8645;5.0285;6.8760;7.9071;8.8863;10.5676;12.9193;43113.42;39.11 -14/07/2023 11:34:18;0;0;33.81;0.00;2;0;0;0;0;0;0;43703.38;0.00;0.00;0.00;0.00;22.54;0.00;0.00;0;240;161;2.1028;3.6504;4.7426;6.4845;7.4495;8.3706;9.9483;12.1608;40672.09;36.90 -14/07/2023 11:35:18;0;0;33.75;0.00;2;0;0;0;0;0;0;40451.77;0.00;0.00;0.00;0.00;20.80;0.00;0.00;0;238;161;1.9515;3.3875;4.3933;6.0049;6.8908;7.7400;9.1914;11.2353;37742.05;34.09 -14/07/2023 11:36:18;0;0;33.62;0.00;2;0;0;0;0;0;0;39170.36;0.00;0.00;0.00;0.00;20.15;0.00;0.00;0;238;162;1.8923;3.2836;4.2557;5.8177;6.6740;7.4950;8.8977;10.8762;36558.59;33.04 -14/07/2023 11:37:18;0;0;33.44;0.00;2;0;0;0;0;0;0;38745.10;0.00;0.00;0.00;0.00;19.90;0.00;0.00;0;238;160;1.8721;3.2478;4.2092;5.7552;6.6019;7.4132;8.7985;10.7533;36162.44;32.69 -14/07/2023 11:38:18;0;0;33.44;0.00;2;0;0;0;0;0;0;35745.84;0.00;0.00;0.00;0.00;18.38;0.00;0.00;0;238;161;1.7343;3.0084;3.8913;5.3188;6.0924;6.8380;8.1101;9.9106;33433.15;30.24 -14/07/2023 11:39:18;0;0;33.38;0.00;2;0;0;0;0;0;0;33078.82;0.00;0.00;0.00;0.00;17.01;0.00;0.00;0;238;160;1.6128;2.7966;3.6083;4.9298;5.6392;6.3263;7.4967;9.1590;31012.72;28.05 -14/07/2023 11:40:18;0;0;33.25;0.00;2;0;0;0;0;0;0;32863.18;0.00;0.00;0.00;0.00;16.89;0.00;0.00;0;238;160;1.6027;2.7776;3.5834;4.8968;5.6029;6.2860;7.4475;9.1000;30800.05;27.87 -14/07/2023 11:41:18;0;0;33.00;0.00;2;0;0;0;0;0;0;34740.88;0.00;0.00;0.00;0.00;17.81;0.00;0.00;0;237;160;1.6871;2.9239;3.7814;5.1690;5.9218;6.6463;7.8786;9.6277;32493.29;29.40 -14/07/2023 11:42:18;0;0;32.94;0.00;2;0;0;0;0;0;0;35625.54;0.00;0.00;0.00;0.00;18.27;0.00;0.00;0;237;160;1.7274;2.9943;3.8745;5.2984;6.0724;6.8173;8.0855;9.8822;33286.95;30.14 -14/07/2023 11:43:18;0;0;32.88;0.00;2;0;0;0;0;0;0;35829.11;0.00;0.00;0.00;0.00;18.37;0.00;0.00;0;237;160;1.7367;3.0105;3.8955;5.3278;6.1070;6.8570;8.1330;9.9406;33467.71;30.31 -14/07/2023 11:44:18;0;0;32.88;0.00;2;0;0;0;0;0;0;34720.68;0.00;0.00;0.00;0.00;17.80;0.00;0.00;0;237;159;1.6858;2.9228;3.7789;5.1662;5.9184;6.6440;7.8758;9.6251;32468.99;29.39 -14/07/2023 11:45:18;0;0;32.81;0.00;2;0;0;0;0;0;0;34415.59;0.00;0.00;0.00;0.00;17.65;0.00;0.00;0;237;160;1.6721;2.8980;3.7463;5.1217;5.8665;6.5858;7.8063;9.5405;32188.80;29.14 -14/07/2023 11:46:18;0;0;32.75;0.00;2;0;0;0;0;0;0;35961.70;0.00;0.00;0.00;0.00;18.40;0.00;0.00;0;237;160;1.7419;3.0186;3.9071;5.3454;6.1293;6.8823;8.1630;9.9779;33573.52;30.40 -14/07/2023 11:47:18;0;0;32.62;0.00;2;0;0;0;0;0;0;34678.20;0.00;0.00;0.00;0.00;17.76;0.00;0.00;0;237;160;1.6828;2.9166;3.7724;5.1587;5.9110;6.6367;7.8676;9.6152;32412.51;29.35 -14/07/2023 11:48:18;0;0;32.44;0.00;2;0;0;0;0;0;0;33419.38;0.00;0.00;0.00;0.00;17.13;0.00;0.00;0;237;159;1.6253;2.8168;3.6385;4.9756;5.6978;6.3955;7.5791;9.2626;31263.37;28.33 -14/07/2023 11:49:18;0;0;32.38;0.00;2;0;0;0;0;0;0;31468.15;0.00;0.00;0.00;0.00;16.17;0.00;0.00;0;237;158;1.5359;2.6608;3.4312;4.6909;5.3680;6.0215;7.1322;8.7157;29476.33;26.74 -14/07/2023 11:50:18;0;0;32.06;0.00;2;0;0;0;0;0;0;30317.11;0.00;0.00;0.00;0.00;15.58;0.00;0.00;0;236;160;1.4828;2.5673;3.3085;4.5227;5.1727;5.8006;6.8696;8.3921;28419.79;25.80 -14/07/2023 11:51:18;0;0;31.88;0.00;2;0;0;0;0;0;0;29518.33;0.00;0.00;0.00;0.00;15.17;0.00;0.00;0;236;158;1.4452;2.5023;3.2223;4.4062;5.0373;5.6473;6.6867;8.1679;27681.18;25.14 -14/07/2023 11:52:18;0;0;31.75;0.00;2;0;0;0;0;0;0;28493.53;0.00;0.00;0.00;0.00;14.67;0.00;0.00;0;236;158;1.3978;2.4194;3.1132;4.2566;4.8638;5.4524;6.4523;7.8818;26736.74;24.31 -14/07/2023 11:53:18;0;0;31.62;0.00;2;0;0;0;0;0;0;27361.72;0.00;0.00;0.00;0.00;14.10;0.00;0.00;0;236;158;1.3455;2.3281;2.9927;4.0908;4.6723;5.2359;6.1936;7.5648;25696.02;23.39 -14/07/2023 11:54:18;0;0;31.50;0.00;2;0;0;0;0;0;0;26447.17;0.00;0.00;0.00;0.00;13.65;0.00;0.00;0;236;158;1.3034;2.2544;2.8953;3.9573;4.5177;5.0611;5.9843;7.3087;24854.04;22.64 -14/07/2023 11:55:18;0;0;31.31;0.00;2;0;0;0;0;0;0;25753.12;0.00;0.00;0.00;0.00;13.30;0.00;0.00;0;236;158;1.2716;2.1980;2.8210;3.8557;4.4000;4.9283;5.8255;7.1140;24215.46;22.08 -14/07/2023 11:56:18;0;0;31.31;0.00;2;0;0;0;0;0;0;25243.23;0.00;0.00;0.00;0.00;13.05;0.00;0.00;0;236;158;1.2473;2.1557;2.7665;3.7801;4.3144;4.8301;5.7090;6.9699;23739.88;21.65 -14/07/2023 11:57:18;0;0;31.12;0.00;2;0;0;0;0;0;0;24303.09;0.00;0.00;0.00;0.00;12.59;0.00;0.00;0;236;158;1.2045;2.0809;2.6672;3.6430;4.1552;4.6499;5.4928;6.7056;22884.15;20.89 -14/07/2023 11:58:18;0;0;30.75;0.00;2;3;0.05;0;0;0;0;24076.27;0.00;0.00;0.00;0.00;12.45;0.00;0.00;0;235;157;1.1935;2.0615;2.6421;3.6090;4.1162;4.6057;5.4401;6.6414;22674.62;20.69 -14/07/2023 11:59:18;0;0;30.62;0.00;2;0;0;0;0;0;0;24743.86;0.00;0.00;0.00;0.00;12.73;0.00;0.00;0;235;157;1.2233;2.1130;2.7118;3.7046;4.2284;4.7330;5.5920;6.8267;23281.67;21.21 -14/07/2023 12:00:18;0;0;30.69;0.00;2;0;0;0;0;0;0;27422.01;0.00;0.00;0.00;0.00;13.98;0.00;0.00;0;235;157;1.3439;2.3238;2.9924;4.0921;4.6807;5.2454;6.2033;7.5770;25715.25;23.36 -14/07/2023 12:01:18;0;0;30.75;0.00;2;0;0;0;0;0;0;28906.36;0.00;0.00;0.00;0.00;14.68;0.00;0.00;0;235;157;1.4119;2.4423;3.1497;4.3082;4.9312;5.5282;6.5423;7.9907;27079.81;24.56 -14/07/2023 12:02:18;0;0;30.81;0.00;2;0;0;0;0;0;0;28839.91;0.00;0.00;0.00;0.00;14.64;0.00;0.00;0;235;157;1.4092;2.4390;3.1442;4.2996;4.9194;5.5139;6.5255;7.9693;27038.04;24.50 -14/07/2023 12:03:18;0;0;31.00;0.00;2;0;0;0;0;0;0;27958.39;0.00;0.00;0.00;0.00;14.22;0.00;0.00;0;235;157;1.3689;2.3698;3.0519;4.1720;4.7699;5.3445;6.3224;7.7200;26242.91;23.78 -14/07/2023 12:04:18;0;0;31.06;0.00;2;0;0;0;0;0;0;26225.23;0.00;0.00;0.00;0.00;13.42;0.00;0.00;0;236;158;1.2907;2.2340;2.8702;3.9210;4.4770;5.0129;5.9258;7.2334;24671.11;22.38 -14/07/2023 12:05:18;0;0;30.94;0.00;2;0;0;0;0;0;0;24819.08;0.00;0.00;0.00;0.00;12.76;0.00;0.00;0;235;157;1.2267;2.1226;2.7228;3.7169;4.2393;4.7426;5.6033;6.8372;23395.34;21.24 -14/07/2023 12:06:18;0;0;30.81;0.00;2;0;0;0;0;0;0;24196.79;0.00;0.00;0.00;0.00;12.46;0.00;0.00;0;235;157;1.1985;2.0726;2.6569;3.6260;4.1343;4.6239;5.4617;6.6643;22822.63;20.74 -14/07/2023 12:07:18;0;0;30.69;0.00;2;0;0;0;0;0;0;23294.46;0.00;0.00;0.00;0.00;12.02;0.00;0.00;0;235;157;1.1581;2.0014;2.5623;3.4963;3.9800;4.4490;5.2519;6.4055;22019.64;19.99 -14/07/2023 12:08:18;0;0;30.56;0.00;2;0;0;0;0;0;0;22438.33;0.00;0.00;0.00;0.00;11.59;0.00;0.00;0;235;157;1.1181;1.9310;2.4692;3.3684;3.8362;4.2862;5.0574;6.1675;21213.41;19.28 -14/07/2023 12:09:18;0;0;30.50;0.00;2;0;0;0;0;0;0;22550.16;0.00;0.00;0.00;0.00;11.59;0.00;0.00;0;235;157;1.1224;1.9383;2.4795;3.3831;3.8538;4.3066;5.0803;6.1954;21316.22;19.35 -14/07/2023 12:10:18;0;0;30.31;0.00;2;0;0;0;0;0;0;23518.91;0.00;0.00;0.00;0.00;11.99;0.00;0.00;0;235;157;1.1652;2.0126;2.5788;3.5202;4.0180;4.4919;5.3016;6.4677;22180.74;20.11 -14/07/2023 12:11:18;0;0;30.25;0.00;2;0;0;0;0;0;0;25202.77;0.00;0.00;0.00;0.00;12.74;0.00;0.00;0;235;157;1.2421;2.1467;2.7578;3.7667;4.3013;4.8120;5.6840;6.9339;23737.31;21.47 -14/07/2023 12:12:18;0;0;30.25;0.00;2;0;0;0;0;0;0;25595.07;0.00;0.00;0.00;0.00;12.94;0.00;0.00;0;235;157;1.2604;2.1790;2.7995;3.8241;4.3677;4.8874;5.7733;7.0442;24098.69;21.79 -14/07/2023 12:13:18;0;0;30.19;0.00;2;0;0;0;0;0;0;25686.29;0.00;0.00;0.00;0.00;12.99;0.00;0.00;0;235;157;1.2647;2.1869;2.8096;3.8381;4.3834;4.9047;5.7942;7.0694;24184.95;21.87 -14/07/2023 12:14:18;0;0;30.19;0.00;2;0;0;0;0;0;0;26287.54;0.00;0.00;0.00;0.00;13.26;0.00;0.00;0;235;157;1.2918;2.2346;2.8732;3.9257;4.4844;5.0193;5.9317;7.2377;24737.87;22.36 -14/07/2023 12:15:18;0;0;30.19;0.00;2;0;0;0;0;0;0;27103.65;0.00;0.00;0.00;0.00;13.64;0.00;0.00;0;235;157;1.3291;2.2992;2.9592;4.0444;4.6221;5.1756;6.1183;7.4674;25483.34;23.02 -14/07/2023 12:16:18;0;0;30.19;0.00;2;0;0;0;0;0;0;26343.68;0.00;0.00;0.00;0.00;13.33;0.00;0.00;0;235;157;1.2954;2.2407;2.8805;3.9350;4.4947;5.0318;5.9457;7.2565;24790.93;22.42 -14/07/2023 12:17:18;0;0;30.12;0.00;2;0;0;0;0;0;0;26214.61;0.00;0.00;0.00;0.00;13.28;0.00;0.00;0;235;157;1.2902;2.2309;2.8669;3.9171;4.4730;5.0071;5.9161;7.2206;24674.47;22.33 -14/07/2023 12:18:18;0;0;30.06;0.00;2;0;0;0;0;0;0;26651.21;0.00;0.00;0.00;0.00;13.47;0.00;0.00;0;235;157;1.3103;2.2661;2.9128;3.9803;4.5466;5.0898;6.0145;7.3411;25078.15;22.67 -14/07/2023 12:19:18;0;0;30.06;0.00;2;0;0;0;0;0;0;26665.13;0.00;0.00;0.00;0.00;13.47;0.00;0.00;0;235;157;1.3113;2.2679;2.9152;3.9825;4.5487;5.0921;6.0162;7.3429;25099.78;22.68 -14/07/2023 12:20:18;0;0;29.81;0.00;2;0;0;0;0;0;0;27275.33;0.00;0.00;0.00;0.00;13.73;0.00;0.00;0;235;157;1.3396;2.3167;2.9793;4.0714;4.6508;5.2076;6.1533;7.5113;25667.80;23.16 -14/07/2023 12:21:18;0;0;29.69;0.00;2;0;0;0;0;0;0;28400.20;0.00;0.00;0.00;0.00;14.22;0.00;0.00;0;235;157;1.3907;2.4056;3.0972;4.2330;4.8401;5.4208;6.4077;7.8225;26701.77;24.04 -14/07/2023 12:22:18;0;0;29.69;0.00;2;0;0;0;0;0;0;31061.37;0.00;0.00;0.00;0.00;15.38;0.00;0.00;0;235;157;1.5108;2.6164;3.3774;4.6178;5.2874;5.9257;7.0103;8.5596;29154.04;26.14 -14/07/2023 12:23:18;0;0;29.81;0.00;2;0;0;0;0;0;0;34983.12;0.00;0.00;0.00;0.00;17.11;0.00;0.00;0;234;157;1.6873;2.9259;3.7888;5.1851;5.9467;6.6724;7.9010;9.6506;32750.06;29.25 -14/07/2023 12:24:18;0;0;30.00;0.00;2;0;0;0;0;0;0;37543.57;0.00;0.00;0.00;0.00;18.27;0.00;0.00;0;235;157;1.8043;3.1305;4.0596;5.5581;6.3773;7.1578;8.4804;10.3605;35119.80;31.29 -14/07/2023 12:25:18;0;0;30.19;0.00;2;0;0;0;0;0;0;37889.75;0.00;0.00;0.00;0.00;18.43;0.00;0.00;0;235;157;1.8207;3.1607;4.0983;5.6086;6.4353;7.2214;8.5542;10.4470;35464.47;31.55 -14/07/2023 12:26:18;0;0;30.38;0.00;2;0;0;0;0;0;0;39020.14;0.00;0.00;0.00;0.00;18.98;0.00;0.00;0;235;157;1.8739;3.2530;4.2196;5.7741;6.6260;7.4373;8.8127;10.7640;36515.59;32.47 -14/07/2023 12:27:18;0;0;30.50;0.00;2;0;0;0;0;0;0;40627.21;0.00;0.00;0.00;0.00;19.66;0.00;0.00;0;235;157;1.9464;3.3805;4.3891;6.0074;6.8951;7.7409;9.1741;11.2045;38008.25;33.73 -14/07/2023 12:28:18;0;0;30.62;0.00;2;0;0;0;0;0;0;39875.21;0.00;0.00;0.00;0.00;19.34;0.00;0.00;0;235;157;1.9124;3.3213;4.3091;5.8966;6.7696;7.6000;9.0058;10.9988;37303.42;33.14 -14/07/2023 12:29:18;0;0;30.88;0.00;2;0;0;0;0;0;0;37221.04;0.00;0.00;0.00;0.00;18.16;0.00;0.00;0;235;158;1.7931;3.1145;4.0335;5.5156;6.3221;7.0905;8.3962;10.2490;34907.71;31.02 -14/07/2023 12:30:18;0;0;31.00;0.00;2;0;0;0;0;0;0;36593.95;0.00;0.00;0.00;0.00;17.92;0.00;0.00;0;236;158;1.7658;3.0657;3.9675;5.4262;6.2168;6.9743;8.2590;10.0835;34322.67;30.55 -14/07/2023 12:31:18;0;0;31.06;0.00;2;0;0;0;0;0;0;35885.81;0.00;0.00;0.00;0.00;17.61;0.00;0.00;0;236;159;1.7338;3.0093;3.8925;5.3228;6.0981;6.8403;8.0991;9.8877;33665.44;29.99 -14/07/2023 12:32:18;0;0;31.19;0.00;2;0;0;0;0;0;0;35916.43;0.00;0.00;0.00;0.00;17.61;0.00;0.00;0;236;158;1.7352;3.0116;3.8951;5.3267;6.1034;6.8468;8.1075;9.8986;33688.21;30.02 -14/07/2023 12:33:18;0;0;31.25;0.00;2;0;0;0;0;0;0;36595.88;0.00;0.00;0.00;0.00;17.88;0.00;0.00;0;236;158;1.7661;3.0659;3.9668;5.4253;6.2170;6.9741;8.2575;10.0806;34325.54;30.54 -14/07/2023 12:34:18;0;0;31.38;0.00;2;0;0;0;0;0;0;36083.16;0.00;0.00;0.00;0.00;17.68;0.00;0.00;0;236;158;1.7432;3.0255;3.9123;5.3499;6.1325;6.8777;8.1436;9.9404;33840.05;30.15 -14/07/2023 12:35:18;0;0;31.38;0.00;2;0;0;0;0;0;0;33665.60;0.00;0.00;0.00;0.00;16.66;0.00;0.00;0;236;158;1.6361;2.8378;3.6617;5.0038;5.7261;6.4192;7.5951;9.2704;31639.71;28.26 -14/07/2023 12:36:18;0;0;31.25;0.00;2;0;0;0;0;0;0;31109.55;0.00;0.00;0.00;0.00;15.55;0.00;0.00;0;236;159;1.5220;2.6372;3.3946;4.6346;5.2967;5.9327;7.0131;8.5574;29302.45;26.24 -14/07/2023 12:37:18;0;0;31.19;0.00;2;0;0;0;0;0;0;30354.99;0.00;0.00;0.00;0.00;15.24;0.00;0.00;0;236;158;1.4878;2.5768;3.3137;4.5252;5.1708;5.7917;6.8459;8.3536;28587.90;25.66 -14/07/2023 12:38:18;0;0;31.19;0.00;2;0;0;0;0;0;0;31167.34;0.00;0.00;0.00;0.00;15.56;0.00;0.00;0;236;158;1.5240;2.6400;3.3984;4.6421;5.3071;5.9456;7.0282;8.5771;29333.67;26.30 -14/07/2023 12:39:18;0;0;31.19;0.00;2;0;0;0;0;0;0;31046.82;0.00;0.00;0.00;0.00;15.52;0.00;0.00;0;236;158;1.5189;2.6306;3.3863;4.6249;5.2872;5.9234;7.0013;8.5444;29221.41;26.21 -14/07/2023 12:40:18;0;0;31.19;0.00;2;0;0;0;0;0;0;29969.06;0.00;0.00;0.00;0.00;15.07;0.00;0.00;0;236;158;1.4712;2.5471;3.2750;4.4726;5.1054;5.7169;6.7544;8.2402;28251.71;25.37 -14/07/2023 12:41:18;0;0;31.19;0.00;2;0;0;0;0;0;0;29484.55;0.00;0.00;0.00;0.00;14.85;0.00;0.00;0;236;158;1.4484;2.5081;3.2232;4.4008;5.0249;5.6250;6.6437;8.1041;27795.70;24.98 -14/07/2023 12:42:18;0;0;31.19;0.00;2;0;0;0;0;0;0;28586.30;0.00;0.00;0.00;0.00;14.47;0.00;0.00;0;236;158;1.4079;2.4367;3.1283;4.2704;4.8747;5.4559;6.4411;7.8565;26958.60;24.28 -14/07/2023 12:43:18;0;0;31.12;0.00;2;0;0;0;0;0;0;29083.40;0.00;0.00;0.00;0.00;14.69;0.00;0.00;0;236;158;1.4309;2.4760;3.1799;4.3424;4.9587;5.5517;6.5557;7.9983;27407.72;24.68 -14/07/2023 12:44:18;0;0;31.12;0.00;2;0;0;0;0;0;0;28636.21;0.00;0.00;0.00;0.00;14.50;0.00;0.00;0;235;158;1.4115;2.4415;3.1337;4.2796;4.8832;5.4661;6.4534;7.8734;27006.32;24.34 -14/07/2023 12:45:18;0;0;31.19;0.00;2;0;0;0;0;0;0;27812.84;0.00;0.00;0.00;0.00;14.16;0.00;0.00;0;236;158;1.3743;2.3765;3.0475;4.1602;4.7452;5.3111;6.2674;7.6471;26244.22;23.69 -14/07/2023 12:46:18;0;0;31.19;0.00;2;0;0;0;0;0;0;28728.95;0.00;0.00;0.00;0.00;14.54;0.00;0.00;0;235;158;1.4160;2.4490;3.1438;4.2930;4.8990;5.4842;6.4737;7.8989;27092.31;24.41 -14/07/2023 12:47:18;0;0;31.12;0.00;2;0;0;0;0;0;0;31079.00;0.00;0.00;0.00;0.00;15.56;0.00;0.00;0;235;157;1.5217;2.6347;3.3898;4.6312;5.2944;5.9315;7.0079;8.5537;29243.89;26.27 -14/07/2023 12:48:18;0;0;31.19;0.00;2;0;0;0;0;0;0;36081.12;0.00;0.00;0.00;0.00;17.70;0.00;0.00;0;235;158;1.7466;3.0289;3.9135;5.3542;6.1346;6.8831;8.1438;9.9464;33832.01;30.23 -14/07/2023 12:49:18;0;0;31.38;0.00;2;0;0;0;0;0;0;34452.65;0.00;0.00;0.00;0.00;17.03;0.00;0.00;0;236;158;1.6746;2.9039;3.7468;5.1213;5.8606;6.5715;7.7703;9.4855;32371.28;28.94 -14/07/2023 12:50:18;0;0;31.44;0.00;2;0;0;0;0;0;0;31654.19;0.00;0.00;0.00;0.00;15.86;0.00;0.00;0;236;158;1.5497;2.6835;3.4535;4.7163;5.3918;6.0406;7.1374;8.7115;29793.25;26.74 -14/07/2023 12:51:18;0;0;31.44;0.00;2;0;0;0;0;0;0;31825.03;0.00;0.00;0.00;0.00;15.92;0.00;0.00;0;236;158;1.5571;2.6964;3.4708;4.7412;5.4199;6.0728;7.1763;8.7597;29950.01;26.87 -14/07/2023 12:52:18;0;0;31.25;0.00;2;0;0;0;0;0;0;31636.23;0.00;0.00;0.00;0.00;15.82;0.00;0.00;0;236;158;1.5477;2.6800;3.4500;4.7126;5.3880;6.0371;7.1348;8.7089;29767.46;26.72 -14/07/2023 12:53:18;0;0;31.19;0.00;2;0;0;0;0;0;0;30310.99;0.00;0.00;0.00;0.00;15.25;0.00;0.00;0;235;158;1.4871;2.5743;3.3096;4.5203;5.1658;5.7861;6.8368;8.3441;28534.76;25.67 -14/07/2023 12:54:18;0;0;31.12;0.00;2;0;0;0;0;0;0;29377.83;0.00;0.00;0.00;0.00;14.85;0.00;0.00;0;236;158;1.4443;2.4996;3.2116;4.3862;5.0082;5.6094;6.6278;8.0878;27673.54;24.94 -14/07/2023 12:55:18;0;0;30.94;0.00;2;0;0;0;0;0;0;28389.43;0.00;0.00;0.00;0.00;14.41;0.00;0.00;0;235;158;1.3989;2.4200;3.1068;4.2422;4.8418;5.4222;6.4033;7.8149;26756.58;24.15 -14/07/2023 12:56:18;0;0;30.75;0.00;2;0;0;0;0;0;0;26416.96;0.00;0.00;0.00;0.00;13.57;0.00;0.00;0;235;157;1.3097;2.2634;2.8999;3.9571;4.5105;5.0480;5.9573;7.2694;24938.82;22.59 -14/07/2023 12:57:18;0;0;30.44;0.00;2;0;0;0;0;0;0;25169.35;0.00;0.00;0.00;0.00;13.03;0.00;0.00;0;235;157;1.2520;2.1623;2.7674;3.7753;4.3020;4.8118;5.6775;6.9257;23768.09;21.61 -14/07/2023 12:58:18;0;0;30.31;0.00;2;0;0;0;0;0;0;24304.98;0.00;0.00;0.00;0.00;12.65;0.00;0.00;0;234;157;1.2119;2.0924;2.6760;3.6501;4.1571;4.6489;5.4835;6.6906;22959.26;20.94 -14/07/2023 12:59:18;0;0;30.19;0.00;2;0;0;0;0;0;0;23520.58;0.00;0.00;0.00;0.00;12.29;0.00;0.00;0;235;157;1.1763;2.0299;2.5936;3.5378;4.0243;4.4991;5.3050;6.4726;22242.97;20.32 -14/07/2023 13:00:18;0;0;30.12;0.00;2;0;0;0;0;0;0;22905.05;0.00;0.00;0.00;0.00;12.01;0.00;0.00;0;234;157;1.1467;1.9778;2.5250;3.4450;3.9216;4.3839;5.1670;6.3040;21642.96;19.81 -14/07/2023 13:01:18;0;0;30.00;0.00;2;0;0;0;0;0;0;22482.98;0.00;0.00;0.00;0.00;11.82;0.00;0.00;0;234;157;1.1273;1.9439;2.4801;3.3832;3.8510;4.3046;5.0719;6.1882;21246.79;19.48 -14/07/2023 13:02:18;0;0;29.94;0.00;2;0;0;0;0;0;0;22395.67;0.00;0.00;0.00;0.00;11.76;0.00;0.00;0;234;157;1.1233;1.9360;2.4706;3.3701;3.8362;4.2876;5.0517;6.1636;21164.47;19.41 -14/07/2023 13:03:18;0;0;29.94;0.00;2;0;0;0;0;0;0;22078.55;0.00;0.00;0.00;0.00;11.61;0.00;0.00;0;234;157;1.1087;1.9107;2.4370;3.3237;3.7828;4.2275;4.9786;6.0740;20872.04;19.15 -14/07/2023 13:04:18;0;0;29.88;0.00;2;0;0;0;0;0;0;21847.64;0.00;0.00;0.00;0.00;11.51;0.00;0.00;0;234;157;1.0983;1.8924;2.4128;3.2899;3.7443;4.1831;4.9251;6.0079;20660.74;18.97 -14/07/2023 13:05:18;0;0;29.88;0.00;2;0;0;0;0;0;0;22033.77;0.00;0.00;0.00;0.00;11.57;0.00;0.00;0;234;157;1.1063;1.9068;2.4323;3.3167;3.7750;4.2181;4.9660;6.0582;20834.91;19.11 -14/07/2023 13:06:18;0;0;29.81;0.00;2;0;0;0;0;0;0;21769.50;0.00;0.00;0.00;0.00;11.44;0.00;0.00;0;234;157;1.0948;1.8863;2.4047;3.2784;3.7304;4.1662;4.9036;5.9812;20600.82;18.89 -14/07/2023 13:07:18;0;0;29.69;0.00;2;0;0;0;0;0;0;21177.20;0.00;0.00;0.00;0.00;11.18;0.00;0.00;0;234;157;1.0682;1.8392;2.3428;3.1932;3.6306;4.0528;4.7678;5.8147;20061.68;18.41 -14/07/2023 13:08:18;0;0;29.44;0.00;2;0;0;0;0;0;0;20738.98;0.00;0.00;0.00;0.00;10.98;0.00;0.00;0;234;157;1.0486;1.8044;2.2971;3.1298;3.5568;3.9690;4.6679;5.6918;19662.14;18.06 -14/07/2023 13:09:18;0;0;29.31;0.00;2;0;0;0;0;0;0;20255.17;0.00;0.00;0.00;0.00;10.74;0.00;0.00;0;233;157;1.0256;1.7640;2.2435;3.0558;3.4756;3.8756;4.5570;5.5550;19203.94;17.65 -14/07/2023 13:10:18;0;0;29.25;0.00;2;0;0;0;0;0;0;19935.17;0.00;0.00;0.00;0.00;10.58;0.00;0.00;0;233;157;1.0114;1.7397;2.2118;3.0115;3.4206;3.8128;4.4815;5.4621;18931.91;17.39 -14/07/2023 13:11:18;0;0;29.19;0.00;2;0;0;0;0;0;0;19788.52;0.00;0.00;0.00;0.00;10.50;0.00;0.00;0;233;157;1.0048;1.7282;2.1961;2.9899;3.3958;3.7844;4.4468;5.4191;18799.87;17.26 -14/07/2023 13:12:18;0;0;29.19;0.00;2;0;0;0;0;0;0;19852.16;0.00;0.00;0.00;0.00;10.51;0.00;0.00;0;233;157;1.0076;1.7333;2.2029;2.9990;3.4060;3.7952;4.4587;5.4332;18866.34;17.30 -14/07/2023 13:13:18;0;0;29.19;0.00;2;0;0;0;0;0;0;19545.87;0.00;0.00;0.00;0.00;10.37;0.00;0.00;0;233;157;0.9942;1.7096;2.1709;2.9547;3.3543;3.7369;4.3887;5.3468;18589.31;17.06 -14/07/2023 13:14:18;0;0;29.12;0.00;2;0;0;0;0;0;0;19602.03;0.00;0.00;0.00;0.00;10.38;0.00;0.00;0;233;157;0.9970;1.7144;2.1768;2.9629;3.3638;3.7466;4.3998;5.3605;18645.51;17.10 -14/07/2023 13:15:18;0;0;29.19;0.00;2;0;0;0;0;0;0;20041.19;0.00;0.00;0.00;0.00;10.56;0.00;0.00;0;233;157;1.0173;1.7496;2.2230;3.0265;3.4376;3.8296;4.4977;5.4800;19053.66;17.44 -14/07/2023 13:16:18;0;0;29.12;0.00;2;0;0;0;0;0;0;21476.35;0.00;0.00;0.00;0.00;11.17;0.00;0.00;0;233;157;1.0829;1.8645;2.3743;3.2356;3.6793;4.1035;4.8219;5.8775;20376.46;18.60 -14/07/2023 13:17:18;0;0;29.12;0.00;2;0;0;0;0;0;0;21872.60;0.00;0.00;0.00;0.00;11.36;0.00;0.00;0;233;157;1.1017;1.8973;2.4175;3.2935;3.7459;4.1784;4.9106;5.9860;20753.08;18.92 -14/07/2023 13:18:18;0;0;29.19;0.00;2;0;0;0;0;0;0;22122.09;0.00;0.00;0.00;0.00;11.49;0.00;0.00;0;233;157;1.1142;1.9192;2.4452;3.3304;3.7880;4.2250;4.9651;6.0525;20997.55;19.12 -14/07/2023 13:19:18;0;0;29.25;0.00;2;0;0;0;0;0;0;25765.63;0.00;0.00;0.00;0.00;13.02;0.00;0.00;0;233;157;1.2797;2.2096;2.8284;3.8600;4.3997;4.9164;5.7890;7.0611;24364.46;22.01 -14/07/2023 13:20:18;0;0;29.44;0.00;2;0;0;0;0;0;0;30606.60;0.00;0.00;0.00;0.00;14.96;0.00;0.00;0;233;157;1.4972;2.5923;3.3352;4.5573;5.2103;5.8287;6.8750;8.3847;28851.37;25.76 -14/07/2023 13:21:18;0;0;29.50;0.00;2;0;0;0;0;0;0;31007.34;0.00;0.00;0.00;0.00;15.17;0.00;0.00;0;234;157;1.5177;2.6271;3.3798;4.6159;5.2767;5.9041;6.9650;8.4966;29247.28;26.07 -14/07/2023 13:22:18;0;0;29.56;0.00;2;0;0;0;0;0;0;39327.90;0.00;0.00;0.00;0.00;18.72;0.00;0.00;0;233;157;1.8840;3.2682;4.2299;5.7919;6.6856;7.5007;8.8727;10.8379;36652.99;32.64 -14/07/2023 13:23:18;0;0;29.94;0.00;2;0;0;0;0;0;0;49481.83;0.00;0.00;0.00;0.00;23.31;0.00;0.00;0;234;157;2.3730;4.1233;5.3592;7.3455;8.3730;9.4118;11.1539;13.6369;46543.96;41.06 -14/07/2023 13:24:18;0;0;30.50;0.00;2;0;0;0;0;0;0;53056.54;0.00;0.00;0.00;0.00;24.77;0.00;0.00;0;235;157;2.5198;4.3863;5.7027;7.8119;8.9934;10.1083;11.9773;14.6342;49500.16;43.78 -14/07/2023 13:25:18;0;0;31.00;0.00;2;0;0;0;0;0;0;46565.82;0.00;0.00;0.00;0.00;21.87;0.00;0.00;0;235;158;2.2175;3.8606;5.0072;6.8506;7.9019;8.8654;10.4960;12.8104;43470.16;38.41 -14/07/2023 13:26:18;0;0;31.25;0.00;2;0;0;0;0;0;0;35137.75;0.00;0.00;0.00;0.00;16.82;0.00;0.00;0;236;160;1.6990;2.9547;3.8104;5.1946;5.9686;6.6770;7.8846;9.6067;33082.77;29.13 -14/07/2023 13:27:18;0;0;31.12;0.00;2;0;0;0;0;1;0.0166667;27758.20;0.00;0.00;0.00;0.00;13.66;0.00;0.00;0;236;158;1.3696;2.3767;3.0487;4.1462;4.7172;5.2666;6.2087;7.5588;26440.84;23.28 -14/07/2023 13:28:18;0;0;30.81;0.00;2;0;0;0;0;0;0;24170.96;0.00;0.00;0.00;0.00;12.11;0.00;0.00;0;235;158;1.2042;2.0860;2.6684;3.6245;4.1136;4.5870;5.4051;6.5793;23097.62;20.43 -14/07/2023 13:29:18;0;0;30.44;0.00;2;0;0;0;0;0;0;23252.34;0.00;0.00;0.00;0.00;11.66;0.00;0.00;0;235;157;1.1591;2.0057;2.5649;3.4854;3.9596;4.4145;5.2004;6.3296;22194.24;19.67 -14/07/2023 13:30:18;0;0;30.19;0.00;2;0;0;0;0;0;0;21998.73;0.00;0.00;0.00;0.00;11.13;0.00;0.00;0;235;157;1.1014;1.9037;2.4305;3.3024;3.7505;4.1810;4.9218;5.9921;20999.76;18.71 -14/07/2023 13:31:18;0;0;30.12;0.00;2;0;0;0;0;0;0;21378.83;0.00;0.00;0.00;0.00;10.88;0.00;0.00;0;234;157;1.0734;1.8535;2.3646;3.2127;3.6478;4.0659;4.7844;5.8252;20407.21;18.24 -14/07/2023 13:32:18;0;0;29.88;0.00;2;0;0;0;0;0;0;20816.06;0.00;0.00;0.00;0.00;10.68;0.00;0.00;0;234;157;1.0485;1.8087;2.3051;3.1320;3.5546;3.9611;4.6599;5.6743;19873.95;17.82 -14/07/2023 13:33:18;0;0;29.69;0.00;2;0;0;0;0;0;0;20469.39;0.00;0.00;0.00;0.00;10.54;0.00;0.00;0;234;157;1.0331;1.7810;2.2679;3.0815;3.4976;3.8956;4.5818;5.5788;19543.66;17.56 -14/07/2023 13:34:18;0;0;29.50;0.00;2;0;0;0;0;0;0;20218.05;0.00;0.00;0.00;0.00;10.46;0.00;0.00;0;233;157;1.0222;1.7614;2.2416;3.0462;3.4566;3.8498;4.5269;5.5123;19301.93;17.39 -14/07/2023 13:35:18;0;0;29.25;0.00;2;0;0;0;0;0;0;20016.31;0.00;0.00;0.00;0.00;10.41;0.00;0.00;0;233;157;1.0138;1.7460;2.2208;3.0179;3.4244;3.8135;4.4828;5.4593;19104.99;17.26 -14/07/2023 13:36:18;0;0;29.19;0.00;2;0;0;0;0;0;0;19976.40;0.00;0.00;0.00;0.00;10.44;0.00;0.00;0;233;157;1.0133;1.7444;2.2175;3.0137;3.4198;3.8083;4.4747;5.4504;19060.17;17.27 -14/07/2023 13:37:18;0;0;29.19;0.00;2;0;0;0;0;0;0;20312.58;0.00;0.00;0.00;0.00;10.64;0.00;0.00;0;233;157;1.0300;1.7725;2.2527;3.0628;3.4795;3.8759;4.5521;5.5465;19348.84;17.58 -14/07/2023 13:38:18;0;0;29.19;0.00;2;0;0;0;0;0;0;21487.92;0.00;0.00;0.00;0.00;11.24;0.00;0.00;0;233;157;1.0872;1.8717;2.3807;3.2394;3.6802;4.1036;4.8184;5.8752;20441.46;18.60 -14/07/2023 13:39:18;0;0;29.31;0.00;2;0;0;0;0;0;0;23076.40;0.00;0.00;0.00;0.00;11.96;0.00;0.00;0;233;157;1.1624;2.0036;2.5527;3.4745;3.9474;4.4029;5.1723;6.3064;21950.54;19.88 -14/07/2023 13:40:18;0;0;29.38;0.00;2;0;0;0;0;0;0;24954.08;0.00;0.00;0.00;0.00;12.81;0.00;0.00;0;233;157;1.2502;2.1565;2.7525;3.7487;4.2655;4.7613;5.5963;6.8236;23687.16;21.42 -14/07/2023 13:41:18;0;0;29.50;0.00;2;0;0;0;0;0;0;26370.48;0.00;0.00;0.00;0.00;13.52;0.00;0.00;0;233;157;1.3182;2.2744;2.9045;3.9582;4.5061;5.0322;5.9138;7.2126;25006.73;22.59 -14/07/2023 13:42:18;0;0;29.69;0.00;2;0;0;0;0;0;0;26139.30;0.00;0.00;0.00;0.00;13.26;0.00;0.00;0;234;157;1.3034;2.2519;2.8789;3.9195;4.4608;4.9790;5.8579;7.1408;24830.30;22.28 -14/07/2023 13:43:18;0;0;29.75;0.00;2;0;0;0;0;0;0;25146.76;0.00;0.00;0.00;0.00;12.81;0.00;0.00;0;234;158;1.2560;2.1702;2.7729;3.7736;4.2920;4.7895;5.6382;6.8715;23907.36;21.46 -14/07/2023 13:44:18;0;0;29.69;0.00;2;0;0;0;0;0;0;23433.28;0.00;0.00;0.00;0.00;11.91;0.00;0.00;0;234;157;1.1733;2.0271;2.5898;3.5202;3.9967;4.4560;5.2483;6.3922;22351.42;19.97 -14/07/2023 13:45:18;0;0;29.62;0.00;2;0;0;0;0;0;0;22292.78;0.00;0.00;0.00;0.00;11.41;0.00;0.00;0;234;157;1.1193;1.9332;2.4656;3.3510;3.8060;4.2427;4.9941;6.0830;21257.72;19.06 -14/07/2023 13:46:18;0;0;29.50;0.00;2;0;0;0;0;0;0;21605.62;0.00;0.00;0.00;0.00;11.12;0.00;0.00;0;233;157;1.0889;1.8783;2.3930;3.2516;3.6916;4.1142;4.8394;5.8959;20612.51;18.54 -14/07/2023 13:47:18;0;0;29.31;0.00;2;0;0;0;0;0;0;21572.74;0.00;0.00;0.00;0.00;11.12;0.00;0.00;0;233;157;1.0888;1.8769;2.3900;3.2482;3.6876;4.1089;4.8305;5.8847;20580.27;18.54 -14/07/2023 13:48:18;0;0;29.12;0.00;2;14;0.233333;0;0;2;0.0333333;22475.30;0.00;0.00;0.00;0.00;11.58;0.00;0.00;0;233;157;1.1343;1.9552;2.4894;3.3839;3.8421;4.2807;5.0287;6.1259;21440.48;19.31 -14/07/2023 13:49:18;0;0;28.94;0.00;2;0;0;0;0;0;0;23665.81;0.00;0.00;0.00;0.00;12.05;0.00;0.00;0;233;157;1.1905;2.0534;2.6182;3.5578;4.0416;4.5018;5.2882;6.4414;22585.27;20.23 -14/07/2023 13:50:18;0;0;29.00;0.00;2;0;0;0;0;0;0;24366.50;0.00;0.00;0.00;0.00;12.36;0.00;0.00;0;233;157;1.2229;2.1109;2.6943;3.6610;4.1594;4.6341;5.4457;6.6336;23247.77;20.80 -14/07/2023 13:51:18;0;0;29.00;0.00;2;0;0;0;0;0;0;24073.21;0.00;0.00;0.00;0.00;12.24;0.00;0.00;0;233;157;1.2077;2.0846;2.6615;3.6165;4.1092;4.5789;5.3838;6.5589;22960.00;20.55 -14/07/2023 13:52:18;0;0;28.94;0.00;2;0;0;0;0;0;0;23514.67;0.00;0.00;0.00;0.00;11.97;0.00;0.00;0;233;157;1.1808;2.0386;2.6019;3.5352;4.0119;4.4694;5.2568;6.4025;22461.40;20.05 -14/07/2023 13:53:18;0;0;29.00;0.00;2;0;0;0;0;0;0;22985.21;0.00;0.00;0.00;0.00;11.69;0.00;0.00;0;233;157;1.1539;1.9924;2.5420;3.4536;3.9217;4.3696;5.1407;6.2617;21945.74;19.60 -14/07/2023 13:54:18;0;0;29.06;0.00;2;0;0;0;0;0;0;22863.46;0.00;0.00;0.00;0.00;11.68;0.00;0.00;0;233;157;1.1498;1.9843;2.5297;3.4373;3.9027;4.3485;5.1138;6.2293;21828.07;19.53 -14/07/2023 13:55:18;0;0;29.12;0.00;2;0;0;0;0;0;0;23756.26;0.00;0.00;0.00;0.00;12.28;0.00;0.00;0;233;157;1.1975;2.0646;2.6286;3.5733;4.0623;4.5273;5.3156;6.4788;22632.74;20.40 -14/07/2023 13:56:18;0;0;29.25;0.00;2;0;0;0;0;0;0;26054.31;0.00;0.00;0.00;0.00;13.85;0.00;0.00;0;233;157;1.3231;2.2773;2.8894;3.9335;4.4677;4.9830;5.8300;7.1128;24785.30;22.63 -14/07/2023 13:57:18;0;0;29.38;0.00;2;0;0;0;0;0;0;26803.36;0.00;0.00;0.00;0.00;14.16;0.00;0.00;0;233;157;1.3620;2.3452;2.9758;4.0467;4.5928;5.1182;5.9843;7.2958;25563.40;23.21 -14/07/2023 13:58:18;0;0;29.56;0.00;2;0;0;0;0;0;0;28353.74;0.00;0.00;0.00;0.00;15.32;0.00;0.00;0;233;157;1.4471;2.4885;3.1506;4.2882;4.8701;5.4301;6.3375;7.7315;26976.83;24.76 -14/07/2023 13:59:18;0;0;29.81;0.00;2;0;0;0;0;0;0;28908.82;0.00;0.00;0.00;0.00;15.53;0.00;0.00;0;233;157;1.4799;2.5466;3.2212;4.3761;4.9614;5.5243;6.4387;7.8450;27633.61;25.17 -14/07/2023 14:00:18;0;0;29.88;0.00;2;0;0;0;0;0;0;25336.35;0.00;0.00;0.00;0.00;12.67;0.00;0.00;0;234;157;1.2802;2.2155;2.8192;3.8142;4.3146;4.7902;5.6140;6.8188;24457.55;21.44 -14/07/2023 14:01:18;0;0;29.81;0.00;2;0;0;0;0;0;0;25028.65;0.00;0.00;0.00;0.00;12.75;0.00;0.00;0;234;157;1.2661;2.1875;2.7812;3.7697;4.2707;4.7488;5.5648;6.7686;24048.28;21.34 -14/07/2023 14:02:18;0;0;29.88;0.00;2;0;0;0;0;0;0;23677.82;0.00;0.00;0.00;0.00;11.89;0.00;0.00;0;233;157;1.1961;2.0686;2.6319;3.5629;4.0337;4.4807;5.2561;6.3880;22816.77;20.06 -14/07/2023 14:03:18;0;0;29.81;0.00;2;0;0;0;0;0;0;22197.01;0.00;0.00;0.00;0.00;11.15;0.00;0.00;0;233;157;1.1211;1.9383;2.4666;3.3395;3.7809;4.2024;4.9335;5.9969;21378.39;18.82 -14/07/2023 14:04:18;0;0;29.81;0.00;2;0;0;0;0;0;0;21210.18;0.00;0.00;0.00;0.00;10.78;0.00;0.00;0;233;157;1.0749;1.8556;2.3587;3.1953;3.6177;4.0222;4.7203;5.7413;20402.69;18.08 -14/07/2023 14:05:18;0;0;29.75;0.00;2;0;0;0;0;0;0;20528.72;0.00;0.00;0.00;0.00;10.46;0.00;0.00;0;233;157;1.0418;1.7965;2.2825;3.0914;3.5033;3.8936;4.5701;5.5588;19737.29;17.51 -14/07/2023 14:06:18;0;0;29.69;0.00;2;0;0;0;0;0;0;20400.93;0.00;0.00;0.00;0.00;10.52;0.00;0.00;0;233;157;1.0388;1.7895;2.2710;3.0776;3.4853;3.8745;4.5442;5.5297;19605.80;17.49 -14/07/2023 14:07:18;0;0;29.56;0.00;2;0;0;0;0;0;0;20460.63;0.00;0.00;0.00;0.00;10.53;0.00;0.00;0;233;157;1.0425;1.7956;2.2784;3.0870;3.4956;3.8847;4.5548;5.5420;19673.12;17.54 -14/07/2023 14:08:18;0;0;29.50;0.00;2;0;0;0;0;0;0;21149.46;0.00;0.00;0.00;0.00;10.99;0.00;0.00;0;233;157;1.0776;1.8555;2.3542;3.1928;3.6177;4.0246;4.7160;5.7423;20280.62;18.22 -14/07/2023 14:09:18;0;0;29.50;0.00;2;0;0;0;0;0;0;22282.05;0.00;0.00;0.00;0.00;11.68;0.00;0.00;0;233;157;1.1360;1.9555;2.4795;3.3652;3.8155;4.2461;4.9708;6.0555;21329.72;19.26 -14/07/2023 14:10:18;0;0;29.50;0.00;2;0;0;0;0;0;0;22040.87;0.00;0.00;0.00;0.00;11.19;0.00;0.00;0;233;157;1.1161;1.9258;2.4497;3.3194;3.7612;4.1817;4.9063;5.9689;21174.60;18.81 -14/07/2023 14:11:18;0;0;29.44;0.00;2;0;0;0;0;0;0;21791.26;0.00;0.00;0.00;0.00;11.05;0.00;0.00;0;233;157;1.1002;1.8987;2.4181;3.2788;3.7176;4.1360;4.8594;5.9138;20897.97;18.58 -14/07/2023 14:12:18;0;0;29.44;0.00;2;0;0;0;0;0;0;21440.53;0.00;0.00;0.00;0.00;10.96;0.00;0.00;0;233;157;1.0844;1.8706;2.3810;3.2289;3.6607;4.0728;4.7846;5.8240;20550.54;18.34 -14/07/2023 14:13:18;0;0;29.50;0.00;2;0;0;0;0;0;0;21304.75;0.00;0.00;0.00;0.00;10.94;0.00;0.00;0;233;158;1.0783;1.8604;2.3665;3.2103;3.6387;4.0488;4.7562;5.7904;20416.10;18.26 -14/07/2023 14:14:18;0;0;29.44;0.00;2;0;0;0;0;0;0;21301.30;0.00;0.00;0.00;0.00;10.93;0.00;0.00;0;233;157;1.0781;1.8604;2.3661;3.2102;3.6380;4.0480;4.7560;5.7901;20414.37;18.25 -14/07/2023 14:15:18;0;0;29.44;0.00;2;0;0;0;0;0;0;21240.50;0.00;0.00;0.00;0.00;10.89;0.00;0.00;0;233;157;1.0745;1.8542;2.3588;3.2005;3.6274;4.0358;4.7430;5.7750;20352.73;18.20 -14/07/2023 14:16:18;0;0;29.50;0.00;2;0;0;0;0;0;0;21014.01;0.00;0.00;0.00;0.00;10.80;0.00;0.00;0;233;157;1.0638;1.8356;2.3347;3.1679;3.5898;3.9942;4.6940;5.7155;20133.82;18.03 -14/07/2023 14:17:18;0;0;29.50;0.00;2;0;0;0;0;0;0;20674.47;0.00;0.00;0.00;0.00;10.66;0.00;0.00;0;233;157;1.0493;1.8099;2.2996;3.1201;3.5323;3.9274;4.6154;5.6181;19835.87;17.75 -14/07/2023 14:18:18;0;0;29.50;0.00;2;0;0;0;0;0;0;20581.23;0.00;0.00;0.00;0.00;10.62;0.00;0.00;0;233;157;1.0454;1.8024;2.2890;3.1047;3.5180;3.9105;4.5936;5.5914;19738.98;17.68 -14/07/2023 14:19:18;0;0;29.50;0.00;2;0;0;0;0;0;0;21099.87;0.00;0.00;0.00;0.00;11.02;0.00;0.00;0;233;157;1.0752;1.8516;2.3475;3.1857;3.6131;4.0177;4.7105;5.7379;20200.03;18.23 -14/07/2023 14:20:18;0;0;29.56;0.00;2;0;0;0;0;0;0;22335.74;0.00;0.00;0.00;0.00;11.83;0.00;0.00;0;233;157;1.1447;1.9692;2.4912;3.3804;3.8296;4.2584;4.9791;6.0660;21405.49;19.41 -14/07/2023 14:21:18;0;0;29.50;0.00;2;0;0;0;0;0;0;22735.53;0.00;0.00;0.00;0.00;11.87;0.00;0.00;0;233;157;1.1656;2.0079;2.5410;3.4417;3.8910;4.3194;5.0478;6.1418;21903.76;19.63 -14/07/2023 14:22:18;0;0;29.56;0.00;2;0;0;0;0;0;0;23592.07;0.00;0.00;0.00;0.00;12.72;0.00;0.00;0;233;157;1.2228;2.1012;2.6464;3.5832;4.0537;4.4972;5.2332;6.3695;22712.07;20.63 -14/07/2023 14:23:18;0;0;29.69;0.00;2;0;0;0;0;0;0;23354.40;0.00;0.00;0.00;0.00;12.74;0.00;0.00;0;233;157;1.2241;2.1022;2.6363;3.5609;4.0173;4.4461;5.1547;6.2643;22628.53;20.50 -14/07/2023 14:24:18;0;0;29.75;0.00;2;0;0;0;0;0;0;22676.90;0.00;0.00;0.00;0.00;12.65;0.00;0.00;0;233;157;1.2064;2.0679;2.5791;3.4769;3.9084;4.3175;4.9828;6.0504;22109.92;20.09 -14/07/2023 14:25:18;0;0;29.75;0.00;2;0;0;0;0;0;0;20786.97;0.00;0.00;0.00;0.00;11.44;0.00;0.00;0;233;157;1.1148;1.9121;2.3778;3.1926;3.5776;3.9372;4.5316;5.4871;20472.76;18.31 -14/07/2023 14:26:18;0;0;29.75;0.00;2;0;0;0;0;0;0;17363.69;0.00;0.00;0.00;0.00;8.75;0.00;0.00;0;233;157;0.9258;1.5987;1.9941;2.6583;2.9593;3.2346;3.7347;4.4937;17442.59;14.77 -14/07/2023 14:27:18;0;0;29.62;0.00;2;0;0;0;0;0;0;16203.47;0.00;0.00;0.00;0.00;8.05;0.00;0.00;0;233;157;0.8623;1.4885;1.8572;2.4775;2.7588;3.0182;3.4883;4.2002;16267.04;13.74 -14/07/2023 14:28:18;0;0;29.44;0.00;2;0;0;0;0;0;0;15067.18;0.00;0.00;0.00;0.00;7.00;0.00;0.00;0;233;157;0.7922;1.3722;1.7210;2.2903;2.5491;2.7844;3.2332;3.8852;15206.27;12.47 -14/07/2023 14:29:18;0;0;29.19;0.00;2;0;0;0;0;0;0;14733.31;0.00;0.00;0.00;0.00;6.80;0.00;0.00;0;233;157;0.7700;1.3326;1.6754;2.2333;2.4928;2.7278;3.1750;3.8217;14789.84;12.19 -14/07/2023 14:30:18;0;0;29.06;0.00;2;0;0;0;0;0;0;14699.47;0.00;0.00;0.00;0.00;6.85;0.00;0.00;0;233;157;0.7665;1.3247;1.6676;2.2261;2.4903;2.7293;3.1812;3.8350;14682.19;12.22 -14/07/2023 14:31:18;0;0;28.94;0.00;2;0;0;0;0;0;0;14836.30;0.00;0.00;0.00;0.00;7.03;0.00;0.00;0;232;157;0.7733;1.3350;1.6813;2.2470;2.5178;2.7625;3.2217;3.8886;14757.24;12.41 -14/07/2023 14:32:18;0;0;28.94;0.00;2;0;0;0;0;0;0;15288.45;0.00;0.00;0.00;0.00;7.39;0.00;0.00;0;233;157;0.7965;1.3741;1.7303;2.3169;2.5993;2.8558;3.3304;4.0248;15139.41;12.87 -14/07/2023 14:33:18;0;0;28.88;0.00;2;0;0;0;0;0;0;15894.63;0.00;0.00;0.00;0.00;7.87;0.00;0.00;0;233;157;0.8300;1.4297;1.7993;2.4117;2.7087;2.9780;3.4687;4.1963;15688.10;13.48 -14/07/2023 14:34:18;0;0;28.88;0.00;2;0;0;0;0;0;0;17114.04;0.00;0.00;0.00;0.00;8.73;0.00;0.00;0;232;157;0.8970;1.5424;1.9376;2.6016;2.9253;3.2197;3.7424;4.5333;16821.64;14.67 -14/07/2023 14:35:18;0;0;28.69;0.00;2;0;0;0;0;0;0;19055.36;0.00;0.00;0.00;0.00;10.14;0.00;0.00;0;233;157;1.0066;1.7253;2.1604;2.9063;3.2716;3.6064;4.1753;5.0669;18638.61;16.59 -14/07/2023 14:36:18;0;0;28.75;0.00;2;0;0;0;0;0;0;20310.21;0.00;0.00;0.00;0.00;11.08;0.00;0.00;0;232;157;1.0816;1.8524;2.3113;3.1092;3.4960;3.8519;4.4435;5.3931;19883.34;17.86 -14/07/2023 14:37:18;0;0;28.94;0.00;2;0;0;0;0;0;0;19889.96;0.00;0.00;0.00;0.00;10.83;0.00;0.00;0;233;157;1.0667;1.8285;2.2752;3.0520;3.4217;3.7585;4.3248;5.2366;19623.14;17.44 -14/07/2023 14:38:18;0;0;29.00;0.00;2;0;0;0;0;0;0;18892.82;0.00;0.00;0.00;0.00;10.35;0.00;0.00;0;233;157;1.0232;1.7541;2.1747;2.9094;3.2519;3.5634;4.0870;4.9405;18768.59;16.62 -14/07/2023 14:39:18;0;0;29.06;0.00;2;0;0;0;0;0;0;17844.42;0.00;0.00;0.00;0.00;9.76;0.00;0.00;0;233;157;0.9747;1.6718;2.0647;2.7562;3.0710;3.3563;3.8384;4.6329;17856.77;15.70 -14/07/2023 14:40:18;0;0;29.19;0.00;2;0;0;0;0;0;0;17075.00;0.00;0.00;0.00;0.00;9.39;0.00;0.00;0;233;157;0.9409;1.6116;1.9833;2.6440;2.9414;3.2108;3.6613;4.4163;17152.57;15.09 -14/07/2023 14:41:18;0;0;29.25;0.00;2;0;0;0;0;0;0;16064.61;0.00;0.00;0.00;0.00;8.81;0.00;0.00;0;233;157;0.8935;1.5285;1.8750;2.4944;2.7671;3.0140;3.4253;4.1268;16245.33;14.20 -14/07/2023 14:42:18;0;0;29.25;0.00;2;0;0;0;0;0;0;15082.27;0.00;0.00;0.00;0.00;8.29;0.00;0.00;0;233;157;0.8472;1.4472;1.7692;2.3484;2.5992;2.8246;3.2001;3.8505;15344.17;13.36 -14/07/2023 14:43:18;0;0;29.19;0.00;2;0;0;0;0;0;0;14297.07;0.00;0.00;0.00;0.00;7.84;0.00;0.00;0;233;157;0.8080;1.3790;1.6824;2.2294;2.4640;2.6731;3.0225;3.6341;14607.45;12.67 -14/07/2023 14:44:18;0;0;29.19;0.00;2;6;0.1;0;0;0;0;13990.59;0.00;0.00;0.00;0.00;7.72;0.00;0.00;0;233;157;0.7936;1.3519;1.6473;2.1831;2.4135;2.6191;2.9585;3.5595;14288.86;12.44 -14/07/2023 14:45:18;0;0;29.12;0.00;2;0;0;0;0;0;0;13825.05;0.00;0.00;0.00;0.00;7.59;0.00;0.00;0;233;157;0.7838;1.3350;1.6271;2.1557;2.3841;2.5870;2.9222;3.5166;14122.29;12.27 -14/07/2023 14:46:18;0;0;29.12;0.00;2;0;0;0;0;0;0;13650.31;0.00;0.00;0.00;0.00;7.40;0.00;0.00;0;233;157;0.7733;1.3175;1.6071;2.1271;2.3505;2.5485;2.8792;3.4622;13979.73;12.06 -14/07/2023 14:47:18;0;0;28.88;0.00;2;4;0.0666667;0;0;0;0;13896.40;0.00;0.00;0.00;0.00;7.61;0.00;0.00;0;233;157;0.7879;1.3414;1.6360;2.1657;2.3954;2.5988;2.9345;3.5313;14206.82;12.31 -14/07/2023 14:48:18;0;0;28.69;0.00;2;0;0;0;0;0;0;14033.38;0.00;0.00;0.00;0.00;7.74;0.00;0.00;0;232;157;0.7974;1.3568;1.6537;2.1891;2.4206;2.6259;2.9627;3.5656;14348.83;12.46 -14/07/2023 14:49:18;0;0;28.50;0.00;2;7;0.116667;0;0;0;0;13865.43;0.00;0.00;0.00;0.00;7.58;0.00;0.00;0;232;156;0.7884;1.3431;1.6368;2.1636;2.3890;2.5872;2.9179;3.5068;14232.58;12.26 -14/07/2023 14:50:18;0;0;28.25;0.00;2;4;0.0666667;0;0;0;0;13566.77;0.00;0.00;0.00;0.00;7.27;0.00;0.00;0;232;157;0.7702;1.3151;1.6034;2.1156;2.3329;2.5216;2.8448;3.4133;13988.57;11.91 -14/07/2023 14:51:18;0;0;28.19;0.00;2;0;0;0;0;0;0;13450.54;0.00;0.00;0.00;0.00;7.03;0.00;0.00;0;232;157;0.7598;1.2999;1.5876;2.0928;2.3076;2.4914;2.8140;3.3720;13898.71;11.70 -14/07/2023 14:52:18;0;0;28.12;0.00;2;0;0;0;0;0;0;13606.88;0.00;0.00;0.00;0.00;7.13;0.00;0.00;0;232;157;0.7672;1.3122;1.6035;2.1158;2.3353;2.5238;2.8533;3.4218;14024.33;11.85 -14/07/2023 14:53:18;0;0;28.12;0.00;2;0;0;0;0;0;0;14102.71;0.00;0.00;0.00;0.00;7.64;0.00;0.00;0;232;155;0.7975;1.3611;1.6610;2.1978;2.4287;2.6317;2.9744;3.5756;14444.21;12.46 -14/07/2023 14:54:18;0;0;28.19;0.00;2;0;0;0;0;0;0;14488.01;0.00;0.00;0.00;0.00;7.95;0.00;0.00;0;232;157;0.8192;1.3970;1.7038;2.2578;2.4993;2.7119;3.0640;3.6873;14778.88;12.87 -14/07/2023 14:55:18;0;0;28.25;0.00;2;0;0;0;0;0;0;14622.47;0.00;0.00;0.00;0.00;8.01;0.00;0.00;0;232;157;0.8268;1.4099;1.7193;2.2792;2.5224;2.7373;3.0924;3.7214;14915.06;12.99 -14/07/2023 14:56:18;0;0;28.31;0.00;2;0;0;0;0;0;0;14648.87;0.00;0.00;0.00;0.00;7.98;0.00;0.00;0;232;157;0.8268;1.4102;1.7207;2.2809;2.5252;2.7408;3.0973;3.7271;14940.82;12.98 -14/07/2023 14:57:18;0;0;28.38;0.00;2;0;0;0;0;0;0;14340.18;0.00;0.00;0.00;0.00;7.52;0.00;0.00;0;232;157;0.8042;1.3751;1.6830;2.2259;2.4624;2.6661;3.0175;3.6229;14700.50;12.50 -14/07/2023 14:58:18;0;0;28.50;0.00;2;0;0;0;0;0;0;14813.07;0.00;0.00;0.00;0.00;7.90;0.00;0.00;0;232;157;0.8286;1.4154;1.7331;2.2980;2.5476;2.7670;3.1352;3.7724;15085.38;13.00 -14/07/2023 14:59:18;0;0;28.44;0.00;2;10;0.166667;0;0;1;0.0166667;15311.05;0.00;0.00;0.00;0.00;8.24;0.00;0.00;0;232;157;0.8543;1.4581;1.7869;2.3735;2.6354;2.8683;3.2530;3.9209;15520.79;13.48 -14/07/2023 15:00:18;0;0;28.31;0.00;2;23;0.383333;0;0;3;0.05;15325.80;0.00;0.00;0.00;0.00;8.11;0.00;0.00;0;232;157;0.8508;1.4540;1.7855;2.3711;2.6331;2.8646;3.2532;3.9187;15546.88;13.39 -14/07/2023 15:01:18;0;0;28.06;0.00;2;0;0;0;0;0;0;15607.02;0.00;0.00;0.00;0.00;8.31;0.00;0.00;0;231;157;0.8639;1.4756;1.8143;2.4125;2.6828;2.9233;3.3238;4.0088;15771.14;13.67 -14/07/2023 15:02:18;0;0;28.06;0.00;2;0;0;0;0;0;0;15707.63;0.00;0.00;0.00;0.00;8.29;0.00;0.00;0;231;157;0.8652;1.4795;1.8225;2.4244;2.6971;2.9401;3.3487;4.0390;15857.48;13.70 -14/07/2023 15:03:18;0;0;28.06;0.00;2;11;0.183333;0;0;2;0.0333333;16274.22;0.00;0.00;0.00;0.00;8.72;0.00;0.00;0;232;157;0.8942;1.5279;1.8834;2.5107;2.7982;3.0574;3.4862;4.2119;16337.89;14.27 -14/07/2023 15:04:18;0;0;28.12;0.00;2;0;0;0;0;0;0;17017.03;0.00;0.00;0.00;0.00;9.32;0.00;0.00;0;232;157;0.9347;1.5951;1.9661;2.6260;2.9330;3.2116;3.6640;4.4349;16979.42;15.05 -14/07/2023 15:05:18;0;0;28.25;0.00;2;0;0;0;0;0;0;17322.22;0.00;0.00;0.00;0.00;9.47;0.00;0.00;0;232;157;0.9487;1.6202;1.9989;2.6711;2.9845;3.2698;3.7336;4.5202;17262.97;15.30 -14/07/2023 15:06:18;0;0;28.44;0.00;2;0;0;0;0;0;0;17598.54;0.00;0.00;0.00;0.00;9.68;0.00;0.00;0;232;157;0.9631;1.6444;2.0291;2.7139;3.0338;3.3267;3.8003;4.6046;17502.13;15.58 -14/07/2023 15:07:18;0;0;28.44;0.00;2;0;0;0;0;0;0;17127.52;0.00;0.00;0.00;0.00;9.27;0.00;0.00;0;232;157;0.9367;1.6019;1.9773;2.6405;2.9470;3.2262;3.6862;4.4600;17110.85;15.06 -14/07/2023 15:08:18;0;0;28.50;0.00;2;0;0;0;0;0;0;16662.65;0.00;0.00;0.00;0.00;9.11;0.00;0.00;0;232;157;0.9160;1.5651;1.9284;2.5742;2.8700;3.1404;3.5851;4.3370;16668.10;14.72 -14/07/2023 15:09:18;0;0;28.75;0.00;2;0;0;0;0;0;0;15596.60;0.00;0.00;0.00;0.00;8.35;0.00;0.00;0;232;157;0.8593;1.4708;1.8112;2.4107;2.6802;2.9245;3.3357;4.0262;15724.19;13.67 -14/07/2023 15:10:18;0;0;28.88;0.00;2;0;0;0;0;0;0;14038.35;0.00;0.00;0.00;0.00;7.18;0.00;0.00;0;232;157;0.7749;1.3311;1.6396;2.1691;2.4009;2.6041;2.9697;3.5678;14358.03;12.08 -14/07/2023 15:11:18;0;0;28.88;0.00;2;0;0;0;0;0;0;12789.98;0.00;0.00;0.00;0.00;6.31;0.00;0.00;0;232;157;0.7098;1.2212;1.5027;1.9788;2.1788;2.3522;2.6788;3.2060;13252.74;10.86 -14/07/2023 15:12:18;0;0;28.81;0.00;2;0;0;0;0;0;0;14211.33;0.00;0.00;0.00;0.00;8.12;0.00;0.00;0;232;157;0.8027;1.3646;1.6641;2.2157;2.4613;2.6866;3.0449;3.6839;14313.04;12.84 -14/07/2023 15:13:18;0;0;28.81;0.00;2;0;0;0;0;0;0;13715.79;0.00;0.00;0.00;0.00;7.63;0.00;0.00;0;232;157;0.7738;1.3179;1.6083;2.1357;2.3691;2.5794;2.9227;3.5284;13899.78;12.26 -14/07/2023 15:14:18;0;0;28.81;0.00;2;0;0;0;0;0;0;12944.16;0.00;0.00;0.00;0.00;6.89;0.00;0.00;0;232;157;0.7268;1.2419;1.5196;2.0122;2.2239;2.4143;2.7407;3.2992;13236.60;11.37 -14/07/2023 15:15:18;0;0;28.81;0.00;2;0;0;0;0;0;0;11593.22;0.00;0.00;0.00;0.00;5.55;0.00;0.00;0;232;157;0.6418;1.1041;1.3590;1.7873;1.9712;2.1259;2.4243;2.9002;12029.80;9.75 -14/07/2023 15:16:18;0;0;28.69;0.00;2;0;0;0;0;0;0;11877.32;0.00;0.00;0.00;0.00;5.75;0.00;0.00;0;232;157;0.6554;1.1262;1.3885;1.8303;2.0211;2.1852;2.4964;2.9919;12260.69;10.04 -14/07/2023 15:17:18;0;0;28.62;0.00;2;0;0;0;0;0;0;13289.56;0.00;0.00;0.00;0.00;6.95;0.00;0.00;0;232;157;0.7342;1.2556;1.5461;2.0526;2.2796;2.4829;2.8342;3.4189;13467.01;11.58 -14/07/2023 15:18:18;0;0;28.69;0.00;2;0;0;0;0;0;0;13650.76;0.00;0.00;0.00;0.00;7.12;0.00;0.00;0;232;157;0.7520;1.2870;1.5867;2.1062;2.3413;2.5484;2.9099;3.5089;13824.51;11.86 -14/07/2023 15:19:18;0;0;28.69;0.00;2;0;0;0;0;0;0;14642.58;0.00;0.00;0.00;0.00;8.11;0.00;0.00;0;232;157;0.8127;1.3853;1.7027;2.2685;2.5259;2.7608;3.1469;3.8077;14693.29;13.02 -14/07/2023 15:20:18;0;0;28.81;0.00;2;0;0;0;0;0;0;14805.41;0.00;0.00;0.00;0.00;8.14;0.00;0.00;0;232;157;0.8211;1.4015;1.7233;2.2936;2.5520;2.7860;3.1745;3.8371;14892.12;13.12 -14/07/2023 15:21:18;0;0;28.81;0.00;2;0;0;0;0;0;0;15052.03;0.00;0.00;0.00;0.00;8.41;0.00;0.00;0;232;157;0.8370;1.4271;1.7524;2.3345;2.5991;2.8404;3.2339;3.9123;15102.87;13.43 -14/07/2023 15:22:18;0;0;28.69;0.00;2;0;0;0;0;0;0;15100.89;0.00;0.00;0.00;0.00;8.51;0.00;0.00;0;232;157;0.8425;1.4354;1.7601;2.3450;2.6095;2.8523;3.2462;3.9283;15155.18;13.52 -14/07/2023 15:23:18;0;0;28.81;0.00;2;0;0;0;0;0;0;13622.52;0.00;0.00;0.00;0.00;7.20;0.00;0.00;0;232;157;0.7557;1.2942;1.5912;2.1080;2.3387;2.5413;2.8966;3.4877;13854.41;11.89 -14/07/2023 15:24:18;0;0;28.81;0.00;2;0;0;0;0;0;0;12580.75;0.00;0.00;0.00;0.00;6.58;0.00;0.00;0;232;157;0.7031;1.2043;1.4779;1.9523;2.1562;2.3366;2.6589;3.1950;12909.95;10.94 -14/07/2023 15:25:18;0;0;28.81;0.00;2;0;0;0;0;0;0;13022.13;0.00;0.00;0.00;0.00;7.20;0.00;0.00;0;232;157;0.7344;1.2530;1.5309;2.0301;2.2452;2.4416;2.7708;3.3421;13256.14;11.59 -14/07/2023 15:26:18;0;0;28.88;0.00;2;0;0;0;0;0;0;13703.63;0.00;0.00;0.00;0.00;7.87;0.00;0.00;0;232;157;0.7763;1.3197;1.6088;2.1398;2.3736;2.5901;2.9345;3.5505;13830.93;12.40 -14/07/2023 15:27:18;0;0;28.81;0.00;2;0;0;0;0;0;0;13760.89;0.00;0.00;0.00;0.00;7.89;0.00;0.00;0;232;157;0.7802;1.3264;1.6166;2.1488;2.3830;2.5989;2.9421;3.5583;13907.19;12.44 -14/07/2023 15:28:18;0;0;28.81;0.00;2;0;0;0;0;0;0;13713.89;0.00;0.00;0.00;0.00;7.83;0.00;0.00;0;232;157;0.7778;1.3220;1.6113;2.1408;2.3738;2.5880;2.9293;3.5420;13874.02;12.38 -14/07/2023 15:29:18;0;0;28.75;0.00;2;0;0;0;0;0;0;13541.75;0.00;0.00;0.00;0.00;7.70;0.00;0.00;0;232;157;0.7687;1.3066;1.5924;2.1145;2.3429;2.5530;2.8891;3.4921;13722.58;12.20 -14/07/2023 15:30:18;0;0;28.75;0.00;2;0;0;0;0;0;0;13126.39;0.00;0.00;0.00;0.00;7.33;0.00;0.00;0;232;157;0.7455;1.2690;1.5468;2.0496;2.2664;2.4643;2.7881;3.3635;13378.11;11.75 -14/07/2023 15:31:18;0;0;28.69;0.00;2;0;0;0;0;0;0;12675.04;0.00;0.00;0.00;0.00;6.98;0.00;0.00;0;232;157;0.7208;1.2284;1.4969;1.9791;2.1851;2.3714;2.6818;3.2305;12983.28;11.28 -14/07/2023 15:32:18;0;0;28.56;0.00;2;0;0;0;0;0;0;12083.18;0.00;0.00;0.00;0.00;6.52;0.00;0.00;0;232;157;0.6876;1.1733;1.4293;1.8859;2.0790;2.2505;2.5444;3.0593;12446.18;10.67 -14/07/2023 15:33:18;0;0;28.44;0.00;2;0;0;0;0;0;0;11663.50;0.00;0.00;0.00;0.00;6.28;0.00;0.00;0;232;157;0.6665;1.1375;1.3844;1.8246;2.0053;2.1679;2.4505;2.9438;12069.28;10.30 -14/07/2023 15:34:18;0;0;28.44;0.00;2;0;0;0;0;0;0;11857.71;0.00;0.00;0.00;0.00;6.51;0.00;0.00;0;232;157;0.6770;1.1533;1.4025;1.8519;2.0452;2.2159;2.5032;3.0134;12173.86;10.55 -14/07/2023 15:35:18;0;0;28.44;0.00;2;0;0;0;0;0;0;12410.90;0.00;0.00;0.00;0.00;7.11;0.00;0.00;0;231;157;0.7118;1.2089;1.4677;1.9450;2.1500;2.3388;2.6399;3.1892;12640.43;11.26 -14/07/2023 15:36:18;0;0;28.44;0.00;2;7;0.116667;0;0;0;0;12734.08;0.00;0.00;0.00;0.00;7.39;0.00;0.00;0;232;157;0.7304;1.2390;1.5041;1.9959;2.2096;2.4072;2.7169;3.2866;12916.96;11.62 -14/07/2023 15:37:18;0;0;28.38;0.00;2;0;0;0;0;0;0;12900.10;0.00;0.00;0.00;0.00;7.36;0.00;0.00;0;232;157;0.7360;1.2504;1.5210;2.0177;2.2344;2.4328;2.7487;3.3228;13094.96;11.68 -14/07/2023 15:38:18;0;0;28.38;0.00;2;0;0;0;0;0;0;13139.29;0.00;0.00;0.00;0.00;7.43;0.00;0.00;0;232;157;0.7468;1.2695;1.5465;2.0516;2.2738;2.4757;2.7996;3.3842;13329.36;11.84 -14/07/2023 15:39:18;0;0;28.50;0.00;2;0;0;0;0;0;0;12942.02;0.00;0.00;0.00;0.00;7.20;0.00;0.00;0;232;157;0.7351;1.2515;1.5262;2.0206;2.2352;2.4287;2.7456;3.3127;13196.71;11.58 -14/07/2023 15:40:18;0;0;28.62;0.00;2;0;0;0;0;0;0;13465.53;0.00;0.00;0.00;0.00;7.83;0.00;0.00;0;232;157;0.7691;1.3051;1.5878;2.1080;2.3363;2.5465;2.8770;3.4814;13626.68;12.26 -14/07/2023 15:41:18;0;0;28.75;0.00;2;0;0;0;0;0;0;13242.30;0.00;0.00;0.00;0.00;7.63;0.00;0.00;0;232;157;0.7569;1.2860;1.5642;2.0741;2.2948;2.4983;2.8216;3.4110;13451.79;12.02 -14/07/2023 15:42:18;0;0;28.81;0.00;2;0;0;0;0;0;0;13290.46;0.00;0.00;0.00;0.00;7.73;0.00;0.00;0;232;157;0.7606;1.2914;1.5699;2.0827;2.3057;2.5119;2.8365;3.4312;13477.04;12.11 -14/07/2023 15:43:18;0;0;28.75;0.00;2;0;0;0;0;0;0;13214.75;0.00;0.00;0.00;0.00;7.63;0.00;0.00;0;232;157;0.7556;1.2836;1.5609;2.0700;2.2903;2.4943;2.8177;3.4076;13419.57;12.00 -14/07/2023 15:44:18;0;0;28.75;0.00;2;0;0;0;0;0;0;13451.13;0.00;0.00;0.00;0.00;7.85;0.00;0.00;0;232;157;0.7685;1.3043;1.5865;2.1073;2.3337;2.5458;2.8777;3.4850;13608.23;12.27 -14/07/2023 15:45:18;0;0;28.69;0.00;2;0;0;0;0;0;0;11984.46;0.00;0.00;0.00;0.00;6.29;0.00;0.00;0;231;157;0.6789;1.1615;1.4187;1.8671;2.0553;2.2201;2.5143;3.0184;12407.96;10.45 -14/07/2023 15:46:18;0;0;28.75;0.00;2;0;0;0;0;0;0;12660.54;0.00;0.00;0.00;0.00;6.89;0.00;0.00;0;232;157;0.7177;1.2250;1.4958;1.9764;2.1793;2.3632;2.6763;3.2232;12994.01;11.21 -14/07/2023 15:47:18;0;0;28.81;0.00;2;0;0;0;0;0;0;12943.73;0.00;0.00;0.00;0.00;7.11;0.00;0.00;0;232;157;0.7331;1.2503;1.5275;2.0222;2.2298;2.4221;2.7449;3.3101;13241.66;11.52 -14/07/2023 15:48:18;0;0;28.94;0.00;2;0;0;0;0;0;0;13053.35;0.00;0.00;0.00;0.00;7.25;0.00;0.00;0;232;157;0.7377;1.2571;1.5354;2.0341;2.2532;2.4510;2.7784;3.3545;13274.00;11.66 -14/07/2023 15:49:18;0;0;29.06;0.00;2;0;0;0;0;0;0;11385.09;0.00;0.00;0.00;0.00;5.59;0.00;0.00;0;232;157;0.6395;1.0991;1.3486;1.7666;1.9381;2.0840;2.3691;2.8320;11919.49;9.65 -14/07/2023 15:50:18;0;0;29.12;0.00;2;0;0;0;0;0;0;11322.90;0.00;0.00;0.00;0.00;5.60;0.00;0.00;0;232;157;0.6356;1.0920;1.3397;1.7572;1.9291;2.0762;2.3612;2.8247;11825.73;9.63 -14/07/2023 15:51:18;0;0;29.12;0.00;2;0;0;0;0;0;0;12521.66;0.00;0.00;0.00;0.00;6.82;0.00;0.00;0;232;157;0.7077;1.2079;1.4764;1.9524;2.1558;2.3399;2.6537;3.1981;12814.65;11.10 -14/07/2023 15:52:18;0;0;28.94;0.00;2;0;0;0;0;0;0;11306.20;0.00;0.00;0.00;0.00;5.76;0.00;0.00;0;232;157;0.6384;1.0941;1.3387;1.7578;1.9335;2.0835;2.3634;2.8314;11760.29;9.75 -14/07/2023 15:53:18;0;0;28.75;0.00;2;0;0;0;0;0;0;9847.09;0.00;0.00;0.00;0.00;4.53;0.00;0.00;0;232;157;0.5568;0.9591;1.1761;1.5284;1.6655;1.7762;2.0185;2.3976;10512.26;8.15 -14/07/2023 15:54:18;0;0;28.56;0.00;2;0;0;0;0;0;0;10233.57;0.00;0.00;0.00;0.00;4.91;0.00;0.00;0;231;157;0.5779;0.9931;1.2170;1.5901;1.7386;1.8635;2.1175;2.5263;10799.30;8.62 -14/07/2023 15:55:18;0;0;28.25;0.00;2;0;0;0;0;0;0;9802.88;0.00;0.00;0.00;0.00;4.52;0.00;0.00;0;231;157;0.5526;0.9508;1.1668;1.5199;1.6592;1.7731;2.0169;2.3998;10414.65;8.14 -14/07/2023 15:56:18;0;0;28.19;0.00;2;0;0;0;0;0;0;10706.86;0.00;0.00;0.00;0.00;5.35;0.00;0.00;0;231;155;0.6041;1.0351;1.2681;1.6666;1.8266;1.9673;2.2352;2.6783;11173.73;9.18 -14/07/2023 15:57:18;0;0;28.12;0.00;2;0;0;0;0;0;0;12199.01;0.00;0.00;0.00;0.00;6.65;0.00;0.00;0;231;157;0.6867;1.1700;1.4319;1.8994;2.1029;2.2866;2.5966;3.1366;12402.16;10.85 -14/07/2023 15:58:18;0;0;28.12;0.00;2;0;0;0;0;0;0;11045.27;0.00;0.00;0.00;0.00;5.37;0.00;0.00;0;231;157;0.6155;1.0570;1.3008;1.7090;1.8800;2.0254;2.3088;2.7652;11491.84;9.35 -14/07/2023 15:59:18;0;0;28.19;0.00;2;0;0;0;0;0;0;12026.74;0.00;0.00;0.00;0.00;6.11;0.00;0.00;0;231;157;0.6674;1.1438;1.4081;1.8599;2.0571;2.2284;2.5409;3.0568;12334.72;10.36 -14/07/2023 16:00:18;0;0;28.25;0.00;2;0;0;0;0;0;0;12887.24;0.00;0.00;0.00;0.00;6.85;0.00;0.00;0;231;157;0.7171;1.2258;1.5076;1.9994;2.2141;2.4084;2.7436;3.3120;13100.03;11.32 -14/07/2023 16:01:18;0;0;28.31;0.00;2;0;0;0;0;0;0;12432.61;0.00;0.00;0.00;0.00;6.37;0.00;0.00;0;231;157;0.6894;1.1822;1.4561;1.9255;2.1271;2.3066;2.6306;3.1664;12737.51;10.75 -14/07/2023 16:02:18;0;0;28.44;0.00;2;0;0;0;0;0;0;11488.01;0.00;0.00;0.00;0.00;5.50;0.00;0.00;0;231;157;0.6345;1.0933;1.3501;1.7739;1.9504;2.1028;2.4047;2.8801;11950.12;9.65 -14/07/2023 16:03:18;0;0;28.50;0.00;2;0;0;0;0;0;0;11385.69;0.00;0.00;0.00;0.00;5.49;0.00;0.00;0;232;156;0.6295;1.0842;1.3382;1.7580;1.9348;2.0854;2.3842;2.8557;11833.44;9.58 -14/07/2023 16:04:18;0;0;28.50;0.00;2;0;0;0;0;0;0;11167.96;0.00;0.00;0.00;0.00;5.35;0.00;0.00;0;231;157;0.6177;1.0641;1.3137;1.7244;1.8959;2.0427;2.3369;2.7978;11630.77;9.37 -14/07/2023 16:05:18;0;0;28.50;0.00;2;0;0;0;0;0;0;11234.68;0.00;0.00;0.00;0.00;5.49;0.00;0.00;0;231;157;0.6231;1.0722;1.3227;1.7386;1.9099;2.0608;2.3576;2.8267;11678.35;9.50 -14/07/2023 16:06:18;0;0;28.44;0.00;2;0;0;0;0;0;0;11812.23;0.00;0.00;0.00;0.00;6.07;0.00;0.00;0;231;157;0.6568;1.1258;1.3863;1.8309;2.0200;2.1889;2.4999;3.0090;12131.52;10.21 -14/07/2023 16:07:18;0;0;28.31;0.00;2;0;0;0;0;0;0;12085.39;0.00;0.00;0.00;0.00;6.30;0.00;0.00;0;231;157;0.6717;1.1507;1.4160;1.8726;2.0708;2.2473;2.5655;3.0925;12355.46;10.51 -14/07/2023 16:08:18;0;0;28.25;0.00;2;0;0;0;0;0;0;12866.65;0.00;0.00;0.00;0.00;7.01;0.00;0.00;0;231;157;0.7179;1.2257;1.5061;1.9994;2.2153;2.4124;2.7493;3.3244;13038.95;11.40 -14/07/2023 16:09:18;0;0;28.25;0.00;2;0;0;0;0;0;0;13464.24;0.00;0.00;0.00;0.00;7.56;0.00;0.00;0;231;157;0.7542;1.2855;1.5768;2.0974;2.3260;2.5371;2.8871;3.4975;13580.48;12.08 -14/07/2023 16:10:18;0;0;28.31;0.00;2;0;0;0;0;0;0;13630.42;0.00;0.00;0.00;0.00;7.66;0.00;0.00;0;231;157;0.7653;1.3049;1.5996;2.1262;2.3547;2.5661;2.9170;3.5320;13781.49;12.24 -14/07/2023 16:11:18;0;0;28.38;0.00;2;0;0;0;0;0;0;13323.69;0.00;0.00;0.00;0.00;7.44;0.00;0.00;0;231;157;0.7508;1.2809;1.5689;2.0809;2.2999;2.5011;2.8402;3.4339;13542.30;11.93 -14/07/2023 16:12:18;0;0;28.38;0.00;2;0;0;0;0;0;0;12806.01;0.00;0.00;0.00;0.00;7.18;0.00;0.00;0;231;157;0.7265;1.2397;1.5148;2.0053;2.2110;2.4000;2.7197;3.2837;13084.01;11.48 -14/07/2023 16:13:18;0;0;28.38;0.00;2;0;0;0;0;0;0;11413.27;0.00;0.00;0.00;0.00;6.06;0.00;0.00;0;231;157;0.6492;1.1121;1.3579;1.7854;1.9592;2.1100;2.3892;2.8667;11862.57;10.00 -14/07/2023 16:14:18;0;0;28.38;0.00;2;0;0;0;0;0;0;11629.58;0.00;0.00;0.00;0.00;6.48;0.00;0.00;0;231;157;0.6670;1.1387;1.3858;1.8278;2.0065;2.1679;2.4488;2.9480;12011.69;10.41 -14/07/2023 16:15:18;0;0;28.38;0.00;2;0;0;0;0;0;0;11253.53;0.00;0.00;0.00;0.00;6.23;0.00;0.00;0;231;157;0.6484;1.1070;1.3459;1.7731;1.9392;2.0914;2.3599;2.8372;11692.50;10.05 -14/07/2023 16:16:18;0;0;28.44;0.00;2;0;0;0;0;0;0;11374.45;0.00;0.00;0.00;0.00;6.45;0.00;0.00;0;231;157;0.6569;1.1191;1.3588;1.7919;1.9668;2.1256;2.3952;2.8858;11745.83;10.27 -14/07/2023 16:17:18;0;0;28.44;0.00;2;0;0;0;0;0;0;11496.51;0.00;0.00;0.00;0.00;6.60;0.00;0.00;0;231;157;0.6651;1.1322;1.3735;1.8135;1.9902;2.1532;2.4253;2.9251;11850.13;10.43 -14/07/2023 16:18:18;0;0;28.44;0.00;2;0;0;0;0;0;0;11505.56;0.00;0.00;0.00;0.00;6.55;0.00;0.00;0;231;157;0.6644;1.1313;1.3741;1.8140;1.9896;2.1518;2.4246;2.9230;11871.88;10.40 -14/07/2023 16:19:18;0;0;28.44;0.00;2;0;0;0;0;0;0;11367.06;0.00;0.00;0.00;0.00;6.33;0.00;0.00;0;231;157;0.6534;1.1142;1.3555;1.7863;1.9620;2.1187;2.3890;2.8762;11749.26;10.17 -14/07/2023 16:20:18;0;0;28.38;0.00;2;5;0.0833333;0;0;0;0;11799.49;0.00;0.00;0.00;0.00;6.80;0.00;0.00;0;231;157;0.6807;1.1586;1.4078;1.8601;2.0431;2.2132;2.4947;3.0118;12130.19;10.72 -14/07/2023 16:21:18;0;0;28.25;0.00;2;0;0;0;0;0;0;11683.46;0.00;0.00;0.00;0.00;6.73;0.00;0.00;0;231;157;0.6749;1.1488;1.3949;1.8417;2.0239;2.1902;2.4672;2.9772;12020.06;10.61 -14/07/2023 16:22:18;0;0;28.25;0.00;2;0;0;0;0;0;0;10759.94;0.00;0.00;0.00;0.00;5.98;0.00;0.00;0;231;157;0.6253;1.0670;1.2950;1.7005;1.8540;1.9947;2.2455;2.6965;11258.55;9.62 -14/07/2023 16:23:18;0;0;28.25;0.00;2;0;0;0;0;0;0;10173.46;0.00;0.00;0.00;0.00;5.47;0.00;0.00;0;231;157;0.5903;1.0083;1.2243;1.6023;1.7487;1.8748;2.1104;2.5275;10700.62;8.97 -14/07/2023 16:24:18;0;0;28.19;0.00;2;0;0;0;0;0;0;10145.61;0.00;0.00;0.00;0.00;5.61;0.00;0.00;0;231;157;0.5931;1.0117;1.2254;1.6066;1.7476;1.8762;2.1090;2.5295;10670.42;9.07 -14/07/2023 16:25:18;0;0;28.25;0.00;2;0;0;0;0;0;0;9854.34;0.00;0.00;0.00;0.00;5.28;0.00;0.00;0;231;155;0.5737;0.9805;1.1889;1.5556;1.6928;1.8131;2.0387;2.4408;10403.98;8.70 -14/07/2023 16:26:18;0;0;28.31;0.00;2;0;0;0;0;0;0;10460.00;0.00;0.00;0.00;0.00;5.87;0.00;0.00;0;231;157;0.6086;1.0365;1.2554;1.6490;1.8084;1.9465;2.1869;2.6297;10880.41;9.41 -14/07/2023 16:27:18;0;0;28.38;0.00;2;0;0;0;0;0;0;11215.81;0.00;0.00;0.00;0.00;6.59;0.00;0.00;0;231;157;0.6554;1.1143;1.3470;1.7778;1.9472;2.1056;2.3641;2.8547;11581.26;10.30 -14/07/2023 16:28:18;0;0;28.44;0.00;2;0;0;0;0;0;0;11246.11;0.00;0.00;0.00;0.00;6.54;0.00;0.00;0;231;157;0.6567;1.1171;1.3516;1.7824;1.9497;2.1068;2.3666;2.8552;11641.82;10.29 -14/07/2023 16:29:18;0;0;28.38;0.00;2;0;0;0;0;0;0;10504.40;0.00;0.00;0.00;0.00;5.71;0.00;0.00;0;231;157;0.6098;1.0415;1.2632;1.6558;1.8091;1.9415;2.1827;2.6183;11012.31;9.33 -14/07/2023 16:30:18;0;0;28.38;0.00;2;0;0;0;0;0;0;10456.89;0.00;0.00;0.00;0.00;5.78;0.00;0.00;0;231;157;0.6106;1.0418;1.2621;1.6551;1.8022;1.9360;2.1761;2.6126;10980.00;9.36 -14/07/2023 16:31:18;0;0;28.31;0.00;2;0;0;0;0;0;0;10187.28;0.00;0.00;0.00;0.00;5.59;0.00;0.00;0;231;157;0.5949;1.0152;1.2294;1.6099;1.7552;1.8829;2.1162;2.5388;10710.03;9.09 -14/07/2023 16:32:18;0;0;28.25;0.00;2;0;0;0;0;0;0;9861.54;0.00;0.00;0.00;0.00;5.40;0.00;0.00;0;231;157;0.5789;0.9880;1.1952;1.5637;1.6969;1.8180;2.0422;2.4475;10430.39;8.79 -14/07/2023 16:33:18;0;0;28.12;0.00;2;0;0;0;0;0;0;8907.80;0.00;0.00;0.00;0.00;4.55;0.00;0.00;0;231;157;0.5222;0.8945;1.0825;1.4057;1.5235;1.6200;1.8189;2.1664;9556.86;7.72 -14/07/2023 16:34:18;0;0;28.12;0.00;2;0;0;0;0;0;0;8692.14;0.00;0.00;0.00;0.00;4.49;0.00;0.00;0;231;157;0.5118;0.8759;1.0581;1.3735;1.4887;1.5817;1.7734;2.1120;9331.06;7.57 -14/07/2023 16:35:18;0;0;28.19;0.00;2;0;0;0;0;0;0;9496.97;0.00;0.00;0.00;0.00;5.37;0.00;0.00;0;231;157;0.5626;0.9575;1.1527;1.5087;1.6433;1.7606;1.9691;2.3637;10002.14;8.60 -14/07/2023 16:36:18;0;0;28.19;0.00;2;0;0;0;0;0;0;9417.75;0.00;0.00;0.00;0.00;5.38;0.00;0.00;0;231;157;0.5618;0.9557;1.1483;1.5015;1.6307;1.7451;1.9476;2.3369;9957.98;8.57 -14/07/2023 16:37:18;0;0;28.19;0.00;2;0;0;0;0;0;0;9496.19;0.00;0.00;0.00;0.00;5.47;0.00;0.00;0;231;157;0.5678;0.9651;1.1588;1.5158;1.6458;1.7611;1.9640;2.3572;10038.17;8.67 -14/07/2023 16:38:18;0;0;28.25;0.00;2;0;0;0;0;0;0;9353.79;0.00;0.00;0.00;0.00;5.39;0.00;0.00;0;231;155;0.5618;0.9549;1.1454;1.4961;1.6204;1.7322;1.9298;2.3140;9929.69;8.55 -14/07/2023 16:39:18;0;0;28.25;0.00;2;0;0;0;0;0;0;8835.44;0.00;0.00;0.00;0.00;4.90;0.00;0.00;0;231;157;0.5310;0.9042;1.0847;1.4104;1.5253;1.6220;1.8047;2.1558;9470.50;7.94 -14/07/2023 16:40:18;0;0;28.12;0.00;2;0;0;0;0;0;0;8442.64;0.00;0.00;0.00;0.00;4.58;0.00;0.00;0;231;157;0.5094;0.8685;1.0413;1.3499;1.4535;1.5405;1.7122;2.0398;9133.17;7.53 -14/07/2023 16:41:18;0;0;28.06;0.00;2;0;0;0;0;0;0;8772.83;0.00;0.00;0.00;0.00;5.00;0.00;0.00;0;231;155;0.5305;0.9013;1.0787;1.4039;1.5194;1.6176;1.7963;2.1493;9377.34;7.98 -14/07/2023 16:42:18;0;0;28.06;0.00;2;0;0;0;0;0;0;8589.37;0.00;0.00;0.00;0.00;4.80;0.00;0.00;0;231;155;0.5193;0.8833;1.0577;1.3743;1.4840;1.5771;1.7507;2.0916;9229.19;7.76 -14/07/2023 16:43:18;0;0;28.12;0.00;2;0;0;0;0;0;0;8534.25;0.00;0.00;0.00;0.00;4.68;0.00;0.00;0;231;155;0.5138;0.8751;1.0490;1.3619;1.4723;1.5629;1.7359;2.0719;9177.97;7.64 -14/07/2023 16:44:18;0;0;28.12;0.00;2;0;0;0;0;0;0;9409.21;0.00;0.00;0.00;0.00;5.51;0.00;0.00;0;231;157;0.5669;0.9614;1.1520;1.5056;1.6341;1.7484;1.9438;2.3357;9955.37;8.66 -14/07/2023 16:45:18;0;0;28.19;0.00;2;0;0;0;0;0;0;8356.03;0.00;0.00;0.00;0.00;4.33;0.00;0.00;0;231;157;0.5005;0.8558;1.0288;1.3286;1.4326;1.5131;1.6824;1.9975;9085.83;7.30 -14/07/2023 16:46:18;0;0;28.19;0.00;2;0;0;0;0;0;0;8681.76;0.00;0.00;0.00;0.00;4.60;0.00;0.00;0;231;157;0.5194;0.8872;1.0672;1.3821;1.4908;1.5791;1.7575;2.0929;9391.63;7.65 -14/07/2023 16:47:18;0;0;28.25;0.00;2;0;0;0;0;0;0;8960.74;0.00;0.00;0.00;0.00;4.83;0.00;0.00;0;231;157;0.5356;0.9142;1.1002;1.4267;1.5415;1.6351;1.8208;2.1710;9651.63;7.94 -14/07/2023 16:48:18;0;0;28.25;0.00;2;15;0.25;0;0;1;0.0166667;9604.21;0.00;0.00;0.00;0.00;5.57;0.00;0.00;0;231;155;0.5772;0.9809;1.1773;1.5357;1.6646;1.7783;1.9802;2.3764;10198.66;8.77 -14/07/2023 16:49:18;0;0;28.12;0.00;2;34;0.566667;0;0;2;0.0333333;9198.75;0.00;0.00;0.00;0.00;5.21;0.00;0.00;0;231;156;0.5539;0.9429;1.1313;1.4705;1.5906;1.6923;1.8825;2.2519;9847.39;8.32 -14/07/2023 16:50:18;0;0;28.06;0.00;2;0;0;0;0;0;0;9208.88;0.00;0.00;0.00;0.00;5.37;0.00;0.00;0;231;155;0.5582;0.9485;1.1354;1.4776;1.5971;1.7017;1.8905;2.2655;9837.67;8.44 -14/07/2023 16:51:18;0;0;28.00;0.00;2;0;0;0;0;0;0;8931.06;0.00;0.00;0.00;0.00;5.20;0.00;0.00;0;231;155;0.5439;0.9243;1.1047;1.4355;1.5488;1.6468;1.8265;2.1863;9583.51;8.18 -14/07/2023 16:52:18;0;0;28.00;0.00;2;0;0;0;0;0;0;8672.60;0.00;0.00;0.00;0.00;5.02;0.00;0.00;0;231;155;0.5302;0.9011;1.0756;1.3958;1.5034;1.5955;1.7667;2.1124;9344.79;7.94 -14/07/2023 16:53:18;0;0;27.94;0.00;2;0;0;0;0;0;0;8384.60;0.00;0.00;0.00;0.00;4.80;0.00;0.00;0;231;156;0.5146;0.8751;1.0430;1.3508;1.4522;1.5377;1.6994;2.0287;9083.44;7.65 -14/07/2023 16:54:18;0;0;27.94;0.00;2;0;0;0;0;0;0;8100.69;0.00;0.00;0.00;0.00;4.65;0.00;0.00;0;231;156;0.5009;0.8514;1.0124;1.3088;1.4033;1.4828;1.6343;1.9482;8824.15;7.41 -14/07/2023 16:55:18;0;0;27.94;0.00;2;0;0;0;0;0;0;7858.81;0.00;0.00;0.00;0.00;4.53;0.00;0.00;0;231;155;0.4896;0.8317;0.9867;1.2733;1.3620;1.4359;1.5781;1.8785;8605.08;7.20 -14/07/2023 16:56:18;0;0;27.94;0.00;2;0;0;0;0;0;0;7656.87;0.00;0.00;0.00;0.00;4.42;0.00;0.00;0;231;156;0.4801;0.8152;0.9654;1.2435;1.3275;1.3969;1.5315;1.8214;8422.07;7.03 -14/07/2023 16:57:18;0;0;27.94;0.00;2;0;0;0;0;0;0;7408.66;0.00;0.00;0.00;0.00;4.25;0.00;0.00;0;231;157;0.4668;0.7928;0.9373;1.2047;1.2835;1.3471;1.4743;1.7503;8195.97;6.78 -14/07/2023 16:58:18;0;0;27.94;0.00;2;0;0;0;0;0;0;7210.37;0.00;0.00;0.00;0.00;4.09;0.00;0.00;0;231;157;0.4560;0.7746;0.9148;1.1737;1.2482;1.3063;1.4270;1.6911;8017.57;6.58 -14/07/2023 16:59:18;0;0;27.94;0.00;2;0;0;0;0;0;0;7239.82;0.00;0.00;0.00;0.00;4.19;0.00;0.00;0;231;155;0.4597;0.7799;0.9197;1.1809;1.2560;1.3157;1.4355;1.7030;8036.76;6.66 -14/07/2023 17:00:18;0;0;27.94;0.00;2;0;0;0;0;0;0;7189.74;0.00;0.00;0.00;0.00;4.16;0.00;0.00;0;231;157;0.4574;0.7759;0.9145;1.1736;1.2475;1.3057;1.4234;1.6880;7992.75;6.62 -14/07/2023 17:01:18;0;0;27.94;0.00;2;0;0;0;0;0;0;7033.83;0.00;0.00;0.00;0.00;4.02;0.00;0.00;0;231;155;0.4484;0.7613;0.8968;1.1486;1.2187;1.2727;1.3860;1.6402;7859.26;6.44 -14/07/2023 17:02:18;0;0;27.94;0.00;2;0;0;0;0;0;0;7123.38;0.00;0.00;0.00;0.00;4.12;0.00;0.00;0;231;155;0.4541;0.7703;0.9073;1.1636;1.2360;1.2928;1.4087;1.6700;7931.96;6.56 -14/07/2023 17:03:18;0;0;27.88;0.00;2;39;0.65;0;0;1;0.0166667;6975.25;0.00;0.00;0.00;0.00;3.94;0.00;0.00;0;231;156;0.4442;0.7545;0.8896;1.1382;1.2069;1.2595;1.3724;1.6233;7809.27;6.36 -14/07/2023 17:04:18;0;0;27.81;0.00;2;4;0.0666667;0;0;0;0;6918.55;0.00;0.00;0.00;0.00;3.89;0.00;0.00;0;231;155;0.4404;0.7484;0.8823;1.1285;1.1969;1.2487;1.3614;1.6100;7747.88;6.30 -14/07/2023 17:05:18;0;0;27.75;0.00;2;9;0.15;0;0;0;0;6897.57;0.00;0.00;0.00;0.00;3.89;0.00;0.00;0;231;155;0.4390;0.7459;0.8794;1.1252;1.1936;1.2459;1.3587;1.6079;7717.69;6.29 -14/07/2023 17:06:18;0;0;27.69;0.00;2;0;0;0;0;0;0;6401.16;0.00;0.00;0.00;0.00;3.33;0.00;0.00;0;231;155;0.4063;0.6939;0.8196;1.0412;1.0978;1.1358;1.2382;1.4534;7294.18;5.65 -14/07/2023 17:07:18;0;0;27.62;0.00;2;0;0;0;0;0;0;6206.72;0.00;0.00;0.00;0.00;3.11;0.00;0.00;0;231;155;0.3934;0.6734;0.7962;1.0088;1.0599;1.0927;1.1919;1.3946;7128.77;5.39 -14/07/2023 17:08:18;0;0;27.62;0.00;2;0;0;0;0;0;0;6380.07;0.00;0.00;0.00;0.00;3.31;0.00;0.00;0;231;156;0.4043;0.6905;0.8163;1.0377;1.0934;1.1320;1.2360;1.4522;7266.44;5.62 -14/07/2023 17:09:18;0;0;27.56;0.00;2;0;0;0;0;1;0.0166667;6587.34;0.00;0.00;0.00;0.00;3.61;0.00;0.00;0;230;156;0.4186;0.7123;0.8407;1.0724;1.1363;1.1828;1.2912;1.5251;7412.90;5.94 -14/07/2023 17:10:18;0;0;27.50;0.00;2;0;0;0;0;0;0;6824.71;0.00;0.00;0.00;0.00;3.92;0.00;0.00;0;230;155;0.4348;0.7377;0.8693;1.1141;1.1833;1.2377;1.3518;1.6047;7604.00;6.28 -14/07/2023 17:11:18;0;0;27.50;0.00;2;0;0;0;0;0;0;6825.45;0.00;0.00;0.00;0.00;3.93;0.00;0.00;0;230;156;0.4353;0.7386;0.8701;1.1147;1.1837;1.2376;1.3514;1.6036;7609.20;6.28 -14/07/2023 17:12:18;0;0;27.50;0.00;2;8;0.133333;0;0;0;0;6677.92;0.00;0.00;0.00;0.00;3.76;0.00;0.00;0;230;155;0.4263;0.7244;0.8536;1.0908;1.1552;1.2042;1.3139;1.5555;7495.61;6.09 -14/07/2023 17:13:18;0;0;27.50;0.00;2;0;0;0;0;0;0;6445.99;0.00;0.00;0.00;0.00;3.57;0.00;0.00;0;230;155;0.4131;0.7028;0.8275;1.0537;1.1128;1.1559;1.2593;1.4863;7292.72;5.84 -14/07/2023 17:14:18;0;0;27.50;0.00;2;0;0;0;0;0;0;6738.27;0.00;0.00;0.00;0.00;4.01;0.00;0.00;0;231;155;0.4352;0.7366;0.8646;1.1069;1.1730;1.2260;1.3340;1.5849;7526.35;6.30 -14/07/2023 17:15:18;0;0;27.50;0.00;2;0;0;0;0;0;0;6589.68;0.00;0.00;0.00;0.00;3.86;0.00;0.00;0;230;155;0.4266;0.7230;0.8484;1.0830;1.1449;1.1926;1.2959;1.5352;7412.09;6.12 -14/07/2023 17:16:18;0;0;27.50;0.00;2;0;0;0;0;0;0;6432.68;0.00;0.00;0.00;0.00;3.79;0.00;0.00;0;230;155;0.4201;0.7117;0.8332;1.0610;1.1182;1.1621;1.2591;1.4892;7279.48;5.99 -14/07/2023 17:17:18;0;0;27.50;0.00;2;0;0;0;0;0;0;6044.52;0.00;0.00;0.00;0.00;3.42;0.00;0.00;0;230;155;0.3966;0.6738;0.7880;0.9978;1.0458;1.0785;1.1651;1.3695;6945.18;5.53 -14/07/2023 17:18:18;0;0;27.50;0.00;2;7;0.116667;0;0;0;0;5970.13;0.00;0.00;0.00;0.00;3.47;0.00;0.00;0;230;155;0.3951;0.6700;0.7815;0.9893;1.0361;1.0686;1.1515;1.3544;6862.51;5.53 -14/07/2023 17:19:18;0;0;27.50;0.00;2;0;0;0;0;0;0;5915.19;0.00;0.00;0.00;0.00;3.47;0.00;0.00;0;230;155;0.3932;0.6662;0.7760;0.9821;1.0277;1.0598;1.1406;1.3417;6805.74;5.51 -14/07/2023 17:20:18;0;0;27.44;0.00;2;0;0;0;0;0;0;5693.21;0.00;0.00;0.00;0.00;3.23;0.00;0.00;0;230;155;0.3779;0.6413;0.7475;0.9429;0.9857;1.0127;1.0897;1.2776;6593.25;5.23 -14/07/2023 17:21:18;0;0;27.44;0.00;2;0;0;0;0;0;0;5360.28;0.00;0.00;0.00;0.00;2.81;0.00;0.00;0;230;155;0.3540;0.6035;0.7050;0.8839;0.9203;0.9377;1.0095;1.1744;6298.61;4.76 -14/07/2023 17:22:18;0;0;27.44;0.00;2;0;0;0;0;0;0;5397.12;0.00;0.00;0.00;0.00;2.95;0.00;0.00;0;230;155;0.3588;0.6100;0.7112;0.8942;0.9301;0.9509;1.0230;1.1943;6316.99;4.88 -14/07/2023 17:23:18;0;0;27.50;0.00;2;0;0;0;0;0;0;5538.77;0.00;0.00;0.00;0.00;3.17;0.00;0.00;0;230;155;0.3700;0.6272;0.7298;0.9206;0.9596;0.9853;1.0592;1.2421;6432.26;5.11 -14/07/2023 17:24:18;0;0;27.50;0.00;2;0;0;0;0;0;0;4856.29;0.00;0.00;0.00;0.00;2.20;0.00;0.00;0;230;155;0.3182;0.5460;0.6402;0.7943;0.8223;0.8266;0.8906;1.0227;5837.65;4.07 -14/07/2023 17:25:18;0;0;27.44;0.00;2;0;0;0;0;0;0;4438.49;0.00;0.00;0.00;0.00;1.71;0.00;0.00;0;230;155;0.2893;0.5000;0.5883;0.7220;0.7401;0.7343;0.7925;0.8982;5472.82;3.50 -14/07/2023 17:26:18;0;0;27.44;0.00;2;0;0;0;0;0;0;4459.23;0.00;0.00;0.00;0.00;1.74;0.00;0.00;0;230;156;0.2905;0.5017;0.5904;0.7257;0.7444;0.7402;0.7996;0.9082;5481.29;3.54 -14/07/2023 17:27:18;0;0;27.38;0.00;2;0;0;0;0;0;0;4756.27;0.00;0.00;0.00;0.00;2.10;0.00;0.00;0;230;155;0.3111;0.5343;0.6272;0.7777;0.8031;0.8064;0.8704;0.9989;5736.76;3.95 -14/07/2023 17:28:18;0;0;27.38;0.00;2;0;0;0;0;0;0;5097.14;0.00;0.00;0.00;0.00;2.51;0.00;0.00;0;230;155;0.3353;0.5727;0.6705;0.8373;0.8703;0.8818;0.9505;1.1012;6040.00;4.42 -14/07/2023 17:29:18;0;0;27.25;0.00;2;0;0;0;0;0;0;5252.65;0.00;0.00;0.00;0.00;2.69;0.00;0.00;0;230;155;0.3465;0.5912;0.6911;0.8655;0.8997;0.9146;0.9850;1.1448;6195.83;4.62 -14/07/2023 17:30:18;0;0;27.25;0.00;2;0;0;0;0;0;0;5724.06;0.00;0.00;0.00;0.00;3.39;0.00;0.00;0;230;155;0.3830;0.6484;0.7537;0.9529;0.9954;1.0254;1.1019;1.2966;6605.83;5.36 -14/07/2023 17:31:18;0;0;27.25;0.00;2;0;0;0;0;0;0;5622.04;0.00;0.00;0.00;0.00;3.19;0.00;0.00;0;230;155;0.3748;0.6364;0.7412;0.9342;0.9724;0.9974;1.0726;1.2568;6545.38;5.16 -14/07/2023 17:32:18;0;0;27.25;0.00;2;0;0;0;0;0;0;5732.78;0.00;0.00;0.00;0.00;3.32;0.00;0.00;0;230;155;0.3821;0.6481;0.7549;0.9527;0.9939;1.0221;1.0993;1.2910;6640.64;5.31 -14/07/2023 17:33:18;0;0;27.25;0.00;2;4;0.0666667;0;0;0;0;5696.86;0.00;0.00;0.00;0.00;3.25;0.00;0.00;0;230;155;0.3794;0.6441;0.7508;0.9461;0.9860;1.0124;1.0889;1.2765;6620.20;5.24 -14/07/2023 17:34:18;0;0;27.25;0.00;2;0;0;0;0;0;0;5648.00;0.00;0.00;0.00;0.00;3.19;0.00;0.00;0;230;155;0.3758;0.6387;0.7447;0.9376;0.9762;1.0012;1.0771;1.2616;6579.26;5.17 -14/07/2023 17:35:18;0;0;27.25;0.00;2;11;0.183333;0;0;0;0;5603.26;0.00;0.00;0.00;0.00;3.15;0.00;0.00;0;230;155;0.3729;0.6341;0.7396;0.9309;0.9675;0.9915;1.0675;1.2495;6541.34;5.12 -14/07/2023 17:36:18;0;0;27.25;0.00;2;0;0;0;0;0;0;5604.79;0.00;0.00;0.00;0.00;3.14;0.00;0.00;0;230;155;0.3717;0.6322;0.7381;0.9292;0.9677;0.9924;1.0701;1.2530;6526.37;5.11 -14/07/2023 17:37:18;0;0;27.25;0.00;2;0;0;0;0;0;0;5572.02;0.00;0.00;0.00;0.00;3.07;0.00;0.00;0;230;155;0.3677;0.6259;0.7320;0.9208;0.9607;0.9849;1.0640;1.2449;6484.10;5.04 -14/07/2023 17:38:18;0;0;27.25;0.00;2;5;0.0833333;0;0;0;0;5469.05;0.00;0.00;0.00;0.00;2.94;0.00;0.00;0;230;155;0.3597;0.6131;0.7182;0.9027;0.9402;0.9623;1.0420;1.2172;6384.65;4.90 -14/07/2023 17:39:18;0;0;27.25;0.00;2;0;0;0;0;0;0;5633.51;0.00;0.00;0.00;0.00;3.17;0.00;0.00;0;230;155;0.3708;0.6309;0.7382;0.9323;0.9730;1.0019;1.0855;1.2748;6511.66;5.15 -14/07/2023 17:40:18;0;0;27.25;0.00;2;0;0;0;0;0;0;5622.27;0.00;0.00;0.00;0.00;3.14;0.00;0.00;0;230;155;0.3686;0.6272;0.7347;0.9272;0.9714;0.9998;1.0839;1.2724;6481.28;5.12 -14/07/2023 17:41:18;0;0;27.25;0.00;2;0;0;0;0;0;0;5783.30;0.00;0.00;0.00;0.00;3.34;0.00;0.00;0;230;155;0.3802;0.6463;0.7564;0.9577;1.0018;1.0346;1.1220;1.3209;6640.35;5.35 -14/07/2023 17:42:18;0;0;27.25;0.00;2;0;0;0;0;0;0;5832.17;0.00;0.00;0.00;0.00;3.35;0.00;0.00;0;230;155;0.3824;0.6502;0.7618;0.9648;1.0096;1.0428;1.1315;1.3320;6692.40;5.38 -14/07/2023 17:43:18;0;0;27.31;0.00;2;0;0;0;0;0;0;5830.75;0.00;0.00;0.00;0.00;3.31;0.00;0.00;0;230;155;0.3815;0.6492;0.7612;0.9636;1.0081;1.0405;1.1297;1.3288;6698.25;5.35 -14/07/2023 17:44:18;0;0;27.38;0.00;2;0;0;0;0;0;0;5817.89;0.00;0.00;0.00;0.00;3.30;0.00;0.00;0;230;155;0.3810;0.6484;0.7600;0.9615;1.0056;1.0377;1.1271;1.3251;6690.10;5.33 -14/07/2023 17:45:18;0;0;27.38;0.00;2;0;0;0;0;0;0;5756.47;0.00;0.00;0.00;0.00;3.23;0.00;0.00;0;230;155;0.3773;0.6425;0.7531;0.9514;0.9939;1.0244;1.1123;1.3066;6639.85;5.26 -14/07/2023 17:46:18;0;0;27.38;0.00;2;0;0;0;0;0;0;5702.00;0.00;0.00;0.00;0.00;3.18;0.00;0.00;0;230;155;0.3738;0.6369;0.7465;0.9421;0.9834;1.0124;1.0994;1.2898;6593.14;5.19 -14/07/2023 17:47:18;0;0;27.38;0.00;2;0;0;0;0;0;0;5644.11;0.00;0.00;0.00;0.00;3.10;0.00;0.00;0;230;155;0.3702;0.6311;0.7401;0.9330;0.9716;0.9989;1.0850;1.2715;6551.69;5.11 -14/07/2023 17:48:18;0;0;27.38;0.00;2;0;0;0;0;0;0;5470.96;0.00;0.00;0.00;0.00;2.90;0.00;0.00;0;230;155;0.3579;0.6111;0.7174;0.9013;0.9387;0.9611;1.0445;1.2197;6385.95;4.87 -14/07/2023 17:49:18;0;0;27.31;0.00;2;0;0;0;0;0;0;5441.63;0.00;0.00;0.00;0.00;2.94;0.00;0.00;0;230;155;0.3574;0.6094;0.7145;0.8982;0.9356;0.9589;1.0414;1.2177;6342.16;4.89 -14/07/2023 17:50:18;0;0;27.31;0.00;2;0;0;0;0;0;0;5377.35;0.00;0.00;0.00;0.00;2.92;0.00;0.00;0;230;155;0.3542;0.6038;0.7073;0.8886;0.9249;0.9472;1.0274;1.2006;6278.09;4.84 -14/07/2023 17:51:18;0;0;27.38;0.00;2;0;0;0;0;0;0;5373.67;0.00;0.00;0.00;0.00;2.97;0.00;0.00;0;230;155;0.3553;0.6051;0.7080;0.8899;0.9259;0.9488;1.0279;1.2022;6269.43;4.87 -14/07/2023 17:52:18;0;0;27.38;0.00;2;0;0;0;0;0;0;5269.43;0.00;0.00;0.00;0.00;2.85;0.00;0.00;0;230;155;0.3488;0.5948;0.6957;0.8725;0.9061;0.9259;1.0020;1.1690;6181.82;4.74 -14/07/2023 17:53:18;0;0;27.38;0.00;2;0;0;0;0;0;0;5185.97;0.00;0.00;0.00;0.00;2.78;0.00;0.00;0;230;155;0.3439;0.5868;0.6860;0.8590;0.8907;0.9088;0.9826;1.1448;6107.17;4.65 -14/07/2023 17:54:18;0;0;27.31;0.00;2;0;0;0;0;0;0;5134.75;0.00;0.00;0.00;0.00;2.74;0.00;0.00;0;230;155;0.3408;0.5817;0.6799;0.8508;0.8814;0.8985;0.9711;1.1304;6058.02;4.59 -14/07/2023 17:55:18;0;0;27.31;0.00;2;0;0;0;0;0;0;5136.64;0.00;0.00;0.00;0.00;2.76;0.00;0.00;0;230;155;0.3414;0.5825;0.6805;0.8518;0.8825;0.8999;0.9724;1.1324;6056.91;4.61 -14/07/2023 17:56:18;0;0;27.31;0.00;2;0;0;0;0;0;0;5152.71;0.00;0.00;0.00;0.00;2.79;0.00;0.00;0;230;156;0.3428;0.5846;0.6828;0.8549;0.8860;0.9039;0.9764;1.1376;6070.43;4.64 -14/07/2023 17:57:18;0;0;27.31;0.00;2;0;0;0;0;0;0;5105.28;0.00;0.00;0.00;0.00;2.73;0.00;0.00;0;230;155;0.3397;0.5798;0.6774;0.8470;0.8766;0.8929;0.9639;1.1215;6034.19;4.58 -14/07/2023 17:58:18;0;0;27.31;0.00;2;0;0;0;0;0;0;5099.14;0.00;0.00;0.00;0.00;2.74;0.00;0.00;0;230;155;0.3400;0.5803;0.6773;0.8467;0.8760;0.8921;0.9626;1.1198;6030.74;4.58 -14/07/2023 17:59:18;0;0;27.31;0.00;2;0;0;0;0;0;0;5059.26;0.00;0.00;0.00;0.00;2.70;0.00;0.00;0;230;155;0.3376;0.5765;0.6729;0.8402;0.8683;0.8830;0.9523;1.1065;6000.66;4.53 -14/07/2023 18:00:18;0;0;27.38;0.00;2;0;0;0;0;0;0;5034.60;0.00;0.00;0.00;0.00;2.68;0.00;0.00;0;230;155;0.3362;0.5743;0.6703;0.8363;0.8637;0.8778;0.9465;1.0990;5980.80;4.50 -14/07/2023 18:01:18;0;0;27.31;0.00;2;0;0;0;0;0;0;5044.16;0.00;0.00;0.00;0.00;2.67;0.00;0.00;0;230;155;0.3367;0.5753;0.6719;0.8384;0.8646;0.8787;0.9482;1.1011;5998.28;4.50 -14/07/2023 18:02:18;0;0;27.38;0.00;2;0;0;0;0;0;0;5095.52;0.00;0.00;0.00;0.00;2.72;0.00;0.00;0;230;155;0.3394;0.5798;0.6774;0.8458;0.8743;0.8899;0.9609;1.1169;6038.11;4.56 -14/07/2023 18:03:18;0;0;27.31;0.00;2;0;0;0;0;0;0;5041.06;0.00;0.00;0.00;0.00;2.66;0.00;0.00;0;230;156;0.3360;0.5742;0.6711;0.8367;0.8638;0.8775;0.9475;1.0999;5993.80;4.49 -14/07/2023 18:04:18;0;0;27.25;0.00;2;0;0;0;0;0;0;5006.21;0.00;0.00;0.00;0.00;2.63;0.00;0.00;0;230;155;0.3337;0.5703;0.6666;0.8308;0.8576;0.8704;0.9396;1.0897;5957.80;4.45 -14/07/2023 18:05:18;0;0;27.25;0.00;2;0;0;0;0;0;0;4959.02;0.00;0.00;0.00;0.00;2.61;0.00;0.00;0;230;155;0.3316;0.5663;0.6617;0.8239;0.8500;0.8618;0.9299;1.0780;5910.20;4.42 -14/07/2023 18:06:18;0;0;27.25;0.00;2;0;0;0;0;0;0;4841.79;0.00;0.00;0.00;0.00;2.50;0.00;0.00;0;230;155;0.3240;0.5542;0.6475;0.8043;0.8279;0.8367;0.9017;1.0424;5805.74;4.27 -14/07/2023 18:07:18;0;0;27.25;0.00;2;0;0;0;0;0;0;4799.35;0.00;0.00;0.00;0.00;2.49;0.00;0.00;0;230;155;0.3222;0.5509;0.6431;0.7985;0.8211;0.8296;0.8933;1.0325;5762.05;4.25 -14/07/2023 18:08:18;0;0;27.25;0.00;2;0;0;0;0;0;0;4782.09;0.00;0.00;0.00;0.00;2.51;0.00;0.00;0;230;156;0.3218;0.5501;0.6417;0.7967;0.8190;0.8276;0.8907;1.0298;5741.98;4.25 -14/07/2023 18:09:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4720.00;0.00;0.00;0.00;0.00;2.44;0.00;0.00;0;230;155;0.3177;0.5436;0.6342;0.7863;0.8071;0.8135;0.8749;1.0098;5689.60;4.17 -14/07/2023 18:10:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4695.89;0.00;0.00;0.00;0.00;2.44;0.00;0.00;0;230;155;0.3166;0.5416;0.6315;0.7830;0.8036;0.8100;0.8707;1.0054;5659.81;4.16 -14/07/2023 18:11:18;0;0;27.25;0.00;2;0;0;0;0;0;0;4494.60;0.00;0.00;0.00;0.00;2.18;0.00;0.00;0;230;155;0.3024;0.5192;0.6064;0.7478;0.7636;0.7635;0.8195;0.9395;5492.47;3.87 -14/07/2023 18:12:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4500.72;0.00;0.00;0.00;0.00;2.19;0.00;0.00;0;230;155;0.3026;0.5195;0.6066;0.7486;0.7655;0.7659;0.8220;0.9436;5487.95;3.89 -14/07/2023 18:13:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4029.07;0.00;0.00;0.00;0.00;1.54;0.00;0.00;0;230;155;0.2682;0.4658;0.5465;0.6640;0.6704;0.6563;0.7031;0.7906;5094.07;3.18 -14/07/2023 18:14:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4490.01;0.00;0.00;0.00;0.00;2.28;0.00;0.00;0;229;155;0.3032;0.5192;0.6055;0.7486;0.7664;0.7696;0.8266;0.9528;5448.08;3.94 -14/07/2023 18:15:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4636.89;0.00;0.00;0.00;0.00;2.49;0.00;0.00;0;230;155;0.3139;0.5360;0.6244;0.7754;0.7963;0.8037;0.8639;1.0014;5569.91;4.17 -14/07/2023 18:16:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4568.71;0.00;0.00;0.00;0.00;2.39;0.00;0.00;0;230;155;0.3088;0.5283;0.6157;0.7630;0.7824;0.7872;0.8453;0.9771;5516.19;4.06 -14/07/2023 18:17:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4514.85;0.00;0.00;0.00;0.00;2.34;0.00;0.00;0;230;155;0.3058;0.5234;0.6100;0.7546;0.7723;0.7757;0.8323;0.9605;5472.93;4.00 -14/07/2023 18:18:18;0;0;27.25;0.00;2;0;0;0;0;0;0;4398.52;0.00;0.00;0.00;0.00;2.21;0.00;0.00;0;230;155;0.2982;0.5114;0.5961;0.7349;0.7500;0.7501;0.8037;0.9242;5373.92;3.85 -14/07/2023 18:19:18;0;0;27.25;0.00;2;0;0;0;0;0;0;4421.04;0.00;0.00;0.00;0.00;2.29;0.00;0.00;0;230;155;0.3008;0.5148;0.5995;0.7401;0.7561;0.7576;0.8114;0.9353;5383.19;3.91 -14/07/2023 18:20:18;0;0;27.25;0.00;2;0;0;0;0;0;0;4440.08;0.00;0.00;0.00;0.00;2.32;0.00;0.00;0;230;155;0.3023;0.5174;0.6023;0.7439;0.7599;0.7618;0.8157;0.9407;5402.42;3.94 -14/07/2023 18:21:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4391.49;0.00;0.00;0.00;0.00;2.24;0.00;0.00;0;230;155;0.2987;0.5120;0.5963;0.7352;0.7500;0.7500;0.8025;0.9234;5365.57;3.87 -14/07/2023 18:22:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4400.04;0.00;0.00;0.00;0.00;2.26;0.00;0.00;0;230;155;0.2997;0.5134;0.5978;0.7373;0.7521;0.7523;0.8050;0.9266;5372.71;3.89 -14/07/2023 18:23:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4418.91;0.00;0.00;0.00;0.00;2.30;0.00;0.00;0;230;155;0.3011;0.5159;0.6004;0.7409;0.7561;0.7567;0.8095;0.9325;5389.34;3.92 -14/07/2023 18:24:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4420.49;0.00;0.00;0.00;0.00;2.29;0.00;0.00;0;230;155;0.3013;0.5162;0.6009;0.7414;0.7563;0.7568;0.8095;0.9322;5393.82;3.92 -14/07/2023 18:25:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4400.96;0.00;0.00;0.00;0.00;2.26;0.00;0.00;0;230;155;0.2998;0.5140;0.5985;0.7380;0.7521;0.7519;0.8042;0.9254;5379.96;3.89 -14/07/2023 18:26:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4348.72;0.00;0.00;0.00;0.00;2.19;0.00;0.00;0;230;155;0.2957;0.5077;0.5917;0.7283;0.7415;0.7395;0.7912;0.9085;5335.03;3.81 -14/07/2023 18:27:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4330.07;0.00;0.00;0.00;0.00;2.18;0.00;0.00;0;230;156;0.2945;0.5056;0.5893;0.7254;0.7383;0.7364;0.7880;0.9049;5312.86;3.79 -14/07/2023 18:28:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4286.36;0.00;0.00;0.00;0.00;2.13;0.00;0.00;0;230;155;0.2914;0.5008;0.5837;0.7179;0.7301;0.7273;0.7782;0.8929;5270.51;3.74 -14/07/2023 18:29:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4299.96;0.00;0.00;0.00;0.00;2.18;0.00;0.00;0;230;155;0.2928;0.5028;0.5858;0.7212;0.7338;0.7318;0.7830;0.8998;5276.05;3.78 -14/07/2023 18:30:18;0;0;27.19;0.00;2;0;0;0;0;0;0;4294.77;0.00;0.00;0.00;0.00;2.20;0.00;0.00;0;230;155;0.2931;0.5030;0.5858;0.7211;0.7336;0.7316;0.7822;0.8990;5269.65;3.79 -14/07/2023 18:31:18;0;0;27.25;0.00;2;0;0;0;0;0;0;4249.56;0.00;0.00;0.00;0.00;2.17;0.00;0.00;0;230;155;0.2909;0.4994;0.5813;0.7147;0.7258;0.7224;0.7711;0.8849;5231.29;3.75 -14/07/2023 18:32:18;0;0;27.25;0.00;2;0;0;0;0;0;0;4181.29;0.00;0.00;0.00;0.00;2.14;0.00;0.00;0;230;155;0.2879;0.4942;0.5745;0.7050;0.7142;0.7089;0.7546;0.8641;5173.61;3.69 -14/07/2023 18:33:18;0;0;27.25;0.00;2;0;0;0;0;0;0;4096.22;0.00;0.00;0.00;0.00;2.10;0.00;0.00;0;230;155;0.2842;0.4877;0.5660;0.6930;0.6998;0.6923;0.7342;0.8387;5099.70;3.62 -14/07/2023 18:34:18;0;0;27.25;0.00;2;0;0;0;0;0;0;3998.20;0.00;0.00;0.00;0.00;2.05;0.00;0.00;0;230;155;0.2797;0.4800;0.5559;0.6788;0.6830;0.6728;0.7106;0.8091;5014.91;3.54 -14/07/2023 18:35:18;0;0;27.25;0.00;2;0;0;0;0;0;0;3905.19;0.00;0.00;0.00;0.00;2.01;0.00;0.00;0;230;155;0.2754;0.4725;0.5462;0.6652;0.6670;0.6546;0.6888;0.7819;4932.76;3.46 -14/07/2023 18:36:18;0;0;27.25;0.00;2;0;0;0;0;0;0;3838.21;0.00;0.00;0.00;0.00;1.98;0.00;0.00;0;230;155;0.2724;0.4672;0.5394;0.6556;0.6557;0.6420;0.6735;0.7629;4872.24;3.40 -14/07/2023 18:37:18;0;0;27.25;0.00;2;0;0;0;0;0;0;3776.44;0.00;0.00;0.00;0.00;1.91;0.00;0.00;0;230;155;0.2683;0.4609;0.5318;0.6450;0.6440;0.6286;0.6584;0.7436;4817.57;3.33 -14/07/2023 18:38:18;0;0;27.25;0.00;2;0;0;0;0;0;0;3747.38;0.00;0.00;0.00;0.00;1.91;0.00;0.00;0;230;155;0.2672;0.4588;0.5289;0.6412;0.6394;0.6237;0.6526;0.7368;4788.40;3.31 -14/07/2023 18:39:18;0;0;27.25;0.00;2;0;0;0;0;0;0;3712.94;0.00;0.00;0.00;0.00;1.87;0.00;0.00;0;230;155;0.2646;0.4549;0.5245;0.6351;0.6327;0.6160;0.6440;0.7260;4757.97;3.26 -14/07/2023 18:40:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3690.59;0.00;0.00;0.00;0.00;1.86;0.00;0.00;0;230;155;0.2635;0.4529;0.5221;0.6319;0.6291;0.6122;0.6396;0.7209;4733.77;3.25 -14/07/2023 18:41:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3685.88;0.00;0.00;0.00;0.00;1.88;0.00;0.00;0;230;155;0.2637;0.4531;0.5220;0.6320;0.6290;0.6123;0.6393;0.7209;4726.23;3.26 -14/07/2023 18:42:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3668.99;0.00;0.00;0.00;0.00;1.87;0.00;0.00;0;230;155;0.2626;0.4514;0.5200;0.6293;0.6260;0.6090;0.6356;0.7163;4709.94;3.24 -14/07/2023 18:43:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3654.20;0.00;0.00;0.00;0.00;1.86;0.00;0.00;0;230;155;0.2617;0.4499;0.5183;0.6270;0.6234;0.6061;0.6324;0.7126;4695.08;3.23 -14/07/2023 18:44:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3636.55;0.00;0.00;0.00;0.00;1.85;0.00;0.00;0;230;156;0.2605;0.4481;0.5162;0.6242;0.6202;0.6026;0.6286;0.7080;4677.39;3.21 -14/07/2023 18:45:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3619.99;0.00;0.00;0.00;0.00;1.84;0.00;0.00;0;229;155;0.2594;0.4462;0.5141;0.6215;0.6172;0.5994;0.6250;0.7036;4660.54;3.19 -14/07/2023 18:46:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3602.62;0.00;0.00;0.00;0.00;1.82;0.00;0.00;0;230;155;0.2580;0.4442;0.5118;0.6185;0.6139;0.5958;0.6210;0.6986;4642.92;3.17 -14/07/2023 18:47:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3590.42;0.00;0.00;0.00;0.00;1.81;0.00;0.00;0;229;155;0.2572;0.4429;0.5104;0.6165;0.6118;0.5936;0.6186;0.6957;4629.30;3.16 -14/07/2023 18:48:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3581.93;0.00;0.00;0.00;0.00;1.81;0.00;0.00;0;230;155;0.2566;0.4419;0.5093;0.6153;0.6104;0.5920;0.6168;0.6937;4619.92;3.15 -14/07/2023 18:49:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3573.94;0.00;0.00;0.00;0.00;1.80;0.00;0.00;0;229;155;0.2559;0.4408;0.5083;0.6139;0.6088;0.5903;0.6151;0.6914;4611.51;3.14 -14/07/2023 18:50:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3563.74;0.00;0.00;0.00;0.00;1.79;0.00;0.00;0;230;155;0.2551;0.4396;0.5069;0.6122;0.6068;0.5881;0.6129;0.6885;4601.63;3.13 -14/07/2023 18:51:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3556.40;0.00;0.00;0.00;0.00;1.78;0.00;0.00;0;230;155;0.2543;0.4385;0.5058;0.6108;0.6055;0.5865;0.6112;0.6865;4592.74;3.12 -14/07/2023 18:52:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3550.82;0.00;0.00;0.00;0.00;1.77;0.00;0.00;0;229;155;0.2537;0.4375;0.5050;0.6097;0.6044;0.5853;0.6100;0.6851;4585.86;3.11 -14/07/2023 18:53:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3539.25;0.00;0.00;0.00;0.00;1.76;0.00;0.00;0;230;156;0.2528;0.4362;0.5036;0.6079;0.6022;0.5830;0.6076;0.6821;4574.25;3.10 -14/07/2023 18:54:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3523.87;0.00;0.00;0.00;0.00;1.75;0.00;0.00;0;230;155;0.2518;0.4345;0.5017;0.6054;0.5994;0.5799;0.6042;0.6780;4559.20;3.08 -14/07/2023 18:55:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3501.58;0.00;0.00;0.00;0.00;1.72;0.00;0.00;0;229;155;0.2501;0.4318;0.4987;0.6015;0.5951;0.5751;0.5990;0.6716;4537.51;3.05 -14/07/2023 18:56:18;0;0;27.19;0.00;2;0;0;0;0;0;0;3488.32;0.00;0.00;0.00;0.00;1.73;0.00;0.00;0;229;155;0.2494;0.4308;0.4973;0.5998;0.5930;0.5731;0.5967;0.6690;4522.20;3.05 -14/07/2023 18:57:18;0;0;27.12;0.00;2;0;0;0;0;0;0;3473.70;0.00;0.00;0.00;0.00;1.72;0.00;0.00;0;230;155;0.2483;0.4291;0.4955;0.5974;0.5904;0.5702;0.5935;0.6651;4506.94;3.03 -14/07/2023 18:58:18;0;0;27.12;0.00;2;0;0;0;0;0;0;3451.97;0.00;0.00;0.00;0.00;1.69;0.00;0.00;0;229;155;0.2465;0.4262;0.4926;0.5934;0.5859;0.5653;0.5885;0.6587;4486.38;3.00 -14/07/2023 18:59:18;0;0;27.12;0.00;2;0;0;0;0;0;0;3439.17;0.00;0.00;0.00;0.00;1.68;0.00;0.00;0;229;155;0.2457;0.4249;0.4910;0.5914;0.5839;0.5632;0.5861;0.6562;4470.80;2.99 -14/07/2023 19:00:18;0;0;27.12;0.00;2;0;0;0;0;0;0;3430.71;0.00;0.00;0.00;0.00;1.69;0.00;0.00;0;229;156;0.2452;0.4241;0.4901;0.5903;0.5827;0.5620;0.5849;0.6549;4460.16;2.99 -14/07/2023 19:01:18;0;0;27.12;0.00;2;0;0;0;0;0;0;3420.24;0.00;0.00;0.00;0.00;1.68;0.00;0.00;0;229;155;0.2445;0.4230;0.4888;0.5887;0.5808;0.5602;0.5828;0.6525;4448.51;2.98 -14/07/2023 19:02:18;0;0;27.12;0.00;2;0;0;0;0;0;0;3411.77;0.00;0.00;0.00;0.00;1.68;0.00;0.00;0;229;155;0.2438;0.4219;0.4877;0.5874;0.5794;0.5586;0.5813;0.6509;4438.24;2.97 -14/07/2023 19:03:18;0;0;27.12;0.00;2;0;0;0;0;0;0;3404.38;0.00;0.00;0.00;0.00;1.67;0.00;0.00;0;229;155;0.2431;0.4209;0.4867;0.5861;0.5780;0.5572;0.5799;0.6494;4429.68;2.97 -14/07/2023 19:04:18;0;0;27.06;0.00;2;0;0;0;0;0;0;3360.64;0.00;0.00;0.00;0.00;1.58;0.00;0.00;0;229;155;0.2387;0.4143;0.4800;0.5769;0.5682;0.5460;0.5687;0.6348;4390.93;2.88 -14/07/2023 19:05:18;0;0;27.06;0.00;2;0;0;0;0;0;0;3376.08;0.00;0.00;0.00;0.00;1.65;0.00;0.00;0;229;155;0.2411;0.4176;0.4830;0.5815;0.5730;0.5521;0.5746;0.6432;4396.85;2.94 -14/07/2023 19:06:18;0;0;27.06;0.00;2;0;0;0;0;0;0;3365.70;0.00;0.00;0.00;0.00;1.64;0.00;0.00;0;229;155;0.2401;0.4160;0.4815;0.5796;0.5710;0.5498;0.5723;0.6404;4385.28;2.92 -14/07/2023 19:07:18;0;0;27.00;0.00;2;0;0;0;0;0;0;3335.15;0.00;0.00;0.00;0.00;1.58;0.00;0.00;0;230;156;0.2370;0.4115;0.4769;0.5733;0.5641;0.5422;0.5645;0.6304;4358.44;2.86 -14/07/2023 19:08:18;0;0;27.00;0.00;2;0;0;0;0;0;0;3302.34;0.00;0.00;0.00;0.00;1.53;0.00;0.00;0;229;155;0.2342;0.4072;0.4723;0.5672;0.5575;0.5350;0.5573;0.6214;4325.55;2.82 -14/07/2023 19:09:18;0;0;27.00;0.00;2;0;0;0;0;0;0;3304.81;0.00;0.00;0.00;0.00;1.58;0.00;0.00;0;229;154;0.2352;0.4083;0.4732;0.5688;0.5594;0.5377;0.5599;0.6257;4318.90;2.85 -14/07/2023 19:10:18;0;0;27.00;0.00;2;0;0;0;0;0;0;3307.27;0.00;0.00;0.00;0.00;1.59;0.00;0.00;0;229;155;0.2354;0.4086;0.4736;0.5697;0.5604;0.5391;0.5614;0.6279;4316.39;2.86 -14/07/2023 19:11:18;0;0;27.00;0.00;2;0;0;0;0;0;0;3303.87;0.00;0.00;0.00;0.00;1.59;0.00;0.00;0;229;155;0.2352;0.4082;0.4732;0.5693;0.5600;0.5387;0.5611;0.6278;4310.98;2.86 -14/07/2023 19:12:18;0;0;27.00;0.00;2;0;0;0;0;0;0;3303.51;0.00;0.00;0.00;0.00;1.59;0.00;0.00;0;229;155;0.2348;0.4078;0.4729;0.5691;0.5599;0.5385;0.5612;0.6281;4308.50;2.86 -14/07/2023 19:13:18;0;0;27.00;0.00;2;0;0;0;0;0;0;3299.13;0.00;0.00;0.00;0.00;1.59;0.00;0.00;0;229;155;0.2342;0.4069;0.4721;0.5682;0.5590;0.5377;0.5605;0.6273;4301.97;2.86 -14/07/2023 19:14:18;0;0;27.00;0.00;2;0;0;0;0;0;0;3288.66;0.00;0.00;0.00;0.00;1.57;0.00;0.00;0;229;155;0.2331;0.4054;0.4707;0.5663;0.5569;0.5355;0.5584;0.6250;4290.57;2.84 -14/07/2023 19:15:18;0;0;27.00;0.00;2;0;0;0;0;0;0;3286.89;0.00;0.00;0.00;0.00;1.57;0.00;0.00;0;229;156;0.2329;0.4049;0.4703;0.5660;0.5566;0.5353;0.5584;0.6251;4286.14;2.84 -14/07/2023 19:16:18;0;0;27.00;0.00;2;0;0;0;0;0;0;3280.70;0.00;0.00;0.00;0.00;1.56;0.00;0.00;0;229;155;0.2321;0.4039;0.4693;0.5648;0.5555;0.5340;0.5573;0.6238;4277.94;2.83 -14/07/2023 19:17:18;0;0;27.00;0.00;2;0;0;0;0;0;0;3274.01;0.00;0.00;0.00;0.00;1.56;0.00;0.00;0;229;155;0.2315;0.4030;0.4684;0.5638;0.5542;0.5329;0.5563;0.6229;4269.55;2.83 -14/07/2023 19:18:18;0;0;27.00;0.00;2;0;0;0;0;0;0;3267.63;0.00;0.00;0.00;0.00;1.56;0.00;0.00;0;229;155;0.2309;0.4019;0.4674;0.5626;0.5530;0.5318;0.5554;0.6222;4260.02;2.82 -14/07/2023 19:19:18;0;0;26.94;0.00;2;0;0;0;0;0;0;3262.34;0.00;0.00;0.00;0.00;1.56;0.00;0.00;0;229;155;0.2303;0.4011;0.4666;0.5617;0.5521;0.5310;0.5548;0.6217;4252.23;2.82 -14/07/2023 19:20:18;0;0;26.94;0.00;2;0;0;0;0;0;0;3256.69;0.00;0.00;0.00;0.00;1.55;0.00;0.00;0;229;155;0.2296;0.4001;0.4658;0.5607;0.5511;0.5301;0.5541;0.6211;4244.00;2.81 -14/07/2023 19:21:18;0;0;26.94;0.00;2;0;0;0;0;0;0;3250.70;0.00;0.00;0.00;0.00;1.55;0.00;0.00;0;229;155;0.2290;0.3992;0.4649;0.5596;0.5500;0.5290;0.5533;0.6204;4235.46;2.80 -14/07/2023 19:22:18;0;0;26.94;0.00;2;0;0;0;0;0;0;3246.37;0.00;0.00;0.00;0.00;1.55;0.00;0.00;0;229;155;0.2284;0.3984;0.4641;0.5588;0.5493;0.5283;0.5529;0.6202;4227.89;2.80 -14/07/2023 19:23:18;0;0;26.94;0.00;2;0;0;0;0;0;0;3240.47;0.00;0.00;0.00;0.00;1.54;0.00;0.00;0;229;156;0.2278;0.3973;0.4632;0.5577;0.5481;0.5273;0.5520;0.6196;4219.20;2.79 -14/07/2023 19:24:18;0;0;26.94;0.00;2;0;0;0;0;0;0;3234.23;0.00;0.00;0.00;0.00;1.54;0.00;0.00;0;229;155;0.2270;0.3962;0.4622;0.5566;0.5469;0.5263;0.5514;0.6190;4209.77;2.79 -14/07/2023 19:25:18;0;0;26.94;0.00;2;0;0;0;0;0;0;3225.52;0.00;0.00;0.00;0.00;1.53;0.00;0.00;0;229;155;0.2263;0.3948;0.4609;0.5552;0.5454;0.5247;0.5501;0.6176;4198.05;2.78 -14/07/2023 19:26:18;0;0;26.94;0.00;2;0;0;0;0;0;0;3213.19;0.00;0.00;0.00;0.00;1.52;0.00;0.00;0;229;155;0.2252;0.3933;0.4593;0.5531;0.5432;0.5226;0.5481;0.6155;4182.83;2.77 -14/07/2023 19:27:18;0;0;26.88;0.00;2;0;0;0;0;0;0;3201.73;0.00;0.00;0.00;0.00;1.52;0.00;0.00;0;229;154;0.2243;0.3919;0.4577;0.5512;0.5413;0.5209;0.5463;0.6138;4167.29;2.76 -14/07/2023 19:28:18;0;0;26.88;0.00;2;0;0;0;0;0;0;3190.12;0.00;0.00;0.00;0.00;1.52;0.00;0.00;0;229;154;0.2234;0.3904;0.4561;0.5494;0.5393;0.5191;0.5446;0.6121;4151.54;2.75 -14/07/2023 19:29:18;0;0;26.88;0.00;2;0;0;0;0;0;0;3178.10;0.00;0.00;0.00;0.00;1.51;0.00;0.00;0;229;154;0.2224;0.3888;0.4544;0.5474;0.5373;0.5171;0.5428;0.6103;4135.22;2.74 -14/07/2023 19:30:18;0;0;26.88;0.00;2;0;0;0;0;0;0;3165.87;0.00;0.00;0.00;0.00;1.51;0.00;0.00;0;229;155;0.2214;0.3871;0.4527;0.5454;0.5352;0.5151;0.5409;0.6083;4118.90;2.73 -14/07/2023 19:31:18;0;0;26.88;0.00;2;0;0;0;0;0;0;3151.39;0.00;0.00;0.00;0.00;1.50;0.00;0.00;0;229;154;0.2203;0.3854;0.4508;0.5430;0.5327;0.5127;0.5385;0.6058;4100.67;2.72 -14/07/2023 19:32:18;0;0;26.88;0.00;2;0;0;0;0;0;0;3138.55;0.00;0.00;0.00;0.00;1.49;0.00;0.00;0;229;155;0.2192;0.3836;0.4489;0.5409;0.5305;0.5106;0.5365;0.6037;4082.82;2.71 -14/07/2023 19:33:18;0;0;26.88;0.00;2;0;0;0;0;0;0;3122.69;0.00;0.00;0.00;0.00;1.49;0.00;0.00;0;229;155;0.2180;0.3817;0.4467;0.5383;0.5277;0.5078;0.5337;0.6006;4063.59;2.69 -14/07/2023 19:34:18;0;0;26.88;0.00;2;0;0;0;0;0;0;3105.99;0.00;0.00;0.00;0.00;1.48;0.00;0.00;0;229;155;0.2167;0.3796;0.4445;0.5355;0.5248;0.5049;0.5306;0.5973;4043.22;2.68 -14/07/2023 19:35:18;0;0;26.88;0.00;2;0;0;0;0;0;0;3090.06;0.00;0.00;0.00;0.00;1.47;0.00;0.00;0;229;156;0.2155;0.3775;0.4422;0.5328;0.5220;0.5022;0.5280;0.5943;4022.91;2.66 -14/07/2023 19:36:18;0;0;26.88;0.00;2;0;0;0;0;0;0;3072.23;0.00;0.00;0.00;0.00;1.46;0.00;0.00;0;229;155;0.2142;0.3754;0.4400;0.5299;0.5190;0.4991;0.5249;0.5910;4001.25;2.65 -14/07/2023 19:37:18;0;0;26.88;0.00;2;4;0.0666667;0;0;0;0;3057.65;0.00;0.00;0.00;0.00;1.45;0.00;0.00;0;229;155;0.2132;0.3737;0.4380;0.5277;0.5166;0.4969;0.5224;0.5885;3982.49;2.64 -14/07/2023 19:38:18;0;0;26.81;0.00;2;0;0;0;0;0;0;3045.65;0.00;0.00;0.00;0.00;1.45;0.00;0.00;0;229;154;0.2121;0.3720;0.4362;0.5257;0.5145;0.4948;0.5205;0.5865;3965.88;2.63 -14/07/2023 19:39:18;0;0;26.81;0.00;2;0;0;0;0;0;0;3030.84;0.00;0.00;0.00;0.00;1.44;0.00;0.00;0;229;155;0.2109;0.3700;0.4342;0.5232;0.5119;0.4923;0.5179;0.5837;3947.03;2.62 -14/07/2023 19:40:18;0;0;26.81;0.00;2;0;0;0;0;0;0;3013.00;0.00;0.00;0.00;0.00;1.43;0.00;0.00;0;229;155;0.2096;0.3679;0.4319;0.5203;0.5088;0.4892;0.5148;0.5804;3925.93;2.60 -14/07/2023 19:41:18;0;0;26.75;0.00;2;0;0;0;0;0;0;3000.40;0.00;0.00;0.00;0.00;1.42;0.00;0.00;0;228;156;0.2084;0.3659;0.4298;0.5180;0.5065;0.4868;0.5128;0.5782;3908.14;2.59 -14/07/2023 19:42:18;0;0;26.75;0.00;2;0;0;0;0;0;0;2986.48;0.00;0.00;0.00;0.00;1.41;0.00;0.00;0;229;156;0.2071;0.3640;0.4277;0.5156;0.5041;0.4846;0.5106;0.5758;3888.75;2.57 -14/07/2023 19:43:18;0;0;26.75;0.00;2;0;0;0;0;0;0;2974.01;0.00;0.00;0.00;0.00;1.40;0.00;0.00;0;229;154;0.2060;0.3622;0.4258;0.5135;0.5019;0.4825;0.5086;0.5739;3871.31;2.56 -14/07/2023 19:44:18;0;0;26.75;0.00;2;0;0;0;0;0;0;2960.81;0.00;0.00;0.00;0.00;1.40;0.00;0.00;0;229;154;0.2049;0.3603;0.4240;0.5112;0.4997;0.4804;0.5067;0.5720;3852.78;2.55 -14/07/2023 19:45:18;0;0;26.75;0.00;2;0;0;0;0;0;0;2952.99;0.00;0.00;0.00;0.00;1.38;0.00;0.00;0;229;155;0.2040;0.3585;0.4222;0.5093;0.4981;0.4782;0.5051;0.5704;3841.54;2.53 -14/07/2023 19:46:18;0;0;26.75;0.00;2;0;0;0;0;0;0;2942.34;0.00;0.00;0.00;0.00;1.38;0.00;0.00;0;229;155;0.2030;0.3569;0.4207;0.5076;0.4962;0.4764;0.5035;0.5688;3826.98;2.52 -14/07/2023 19:47:18;0;0;26.69;0.00;2;0;0;0;0;0;0;2931.47;0.00;0.00;0.00;0.00;1.38;0.00;0.00;0;229;154;0.2022;0.3555;0.4192;0.5059;0.4944;0.4748;0.5020;0.5677;3811.45;2.52 -14/07/2023 19:48:18;0;0;26.69;0.00;2;0;0;0;0;0;0;2863.37;0.00;0.00;0.00;0.00;1.22;0.00;0.00;0;229;154;0.1949;0.3447;0.4085;0.4913;0.4782;0.4564;0.4834;0.5429;3756.14;2.36 -14/07/2023 19:49:18;0;0;26.69;0.00;2;0;0;0;0;0;0;2792.09;0.00;0.00;0.00;0.00;1.06;0.00;0.00;0;229;155;0.1873;0.3333;0.3970;0.4756;0.4616;0.4369;0.4642;0.5175;3695.40;2.20 -14/07/2023 19:50:18;0;0;26.69;0.00;2;0;0;0;0;0;0;2662.01;0.00;0.00;0.00;0.00;0.77;0.00;0.00;0;229;155;0.1737;0.3133;0.3767;0.4475;0.4311;0.4020;0.4290;0.4708;3589.69;1.92 -14/07/2023 19:51:18;0;0;26.62;0.00;2;0;0;0;0;0;0;2837.14;0.00;0.00;0.00;0.00;1.28;0.00;0.00;0;229;155;0.1937;0.3421;0.4051;0.4884;0.4764;0.4565;0.4844;0.5473;3697.95;2.40 -14/07/2023 19:52:18;0;0;26.62;0.00;2;0;0;0;0;0;0;2857.27;0.00;0.00;0.00;0.00;1.34;0.00;0.00;0;229;154;0.1956;0.3446;0.4078;0.4929;0.4817;0.4634;0.4922;0.5586;3702.45;2.45 -14/07/2023 19:53:18;0;0;26.62;0.00;2;0;0;0;0;0;0;2862.20;0.00;0.00;0.00;0.00;1.36;0.00;0.00;0;229;155;0.1955;0.3444;0.4079;0.4937;0.4830;0.4654;0.4954;0.5634;3696.78;2.47 -14/07/2023 19:54:18;0;0;26.56;0.00;2;0;0;0;0;0;0;2655.74;0.00;0.00;0.00;0.00;0.84;0.00;0.00;0;229;155;0.1729;0.3113;0.3747;0.4475;0.4329;0.4071;0.4365;0.4842;3538.03;1.97 -14/07/2023 19:55:18;0;0;26.56;0.00;2;0;0;0;0;0;0;2590.87;0.00;0.00;0.00;0.00;0.82;0.00;0.00;0;228;156;0.1692;0.3044;0.3663;0.4369;0.4221;0.3963;0.4250;0.4716;3460.65;1.92 -14/07/2023 19:56:18;0;0;26.56;0.00;2;0;0;0;0;0;0;2496.12;0.00;0.00;0.00;0.00;0.73;0.00;0.00;0;228;154;0.1625;0.2933;0.3535;0.4201;0.4043;0.3777;0.4052;0.4476;3360.26;1.81 -14/07/2023 19:57:18;0;0;26.50;0.00;2;0;0;0;0;0;0;2542.24;0.00;0.00;0.00;0.00;1.03;0.00;0.00;0;228;154;0.1715;0.3050;0.3631;0.4353;0.4219;0.4009;0.4282;0.4822;3356.19;2.06 -14/07/2023 19:58:18;0;0;26.50;0.00;2;0;0;0;0;0;0;2556.24;0.00;0.00;0.00;0.00;1.14;0.00;0.00;0;229;154;0.1744;0.3085;0.3662;0.4407;0.4279;0.4096;0.4371;0.4958;3347.09;2.15 -14/07/2023 19:59:18;0;0;26.44;0.00;2;0;0;0;0;0;0;2601.27;0.00;0.00;0.00;0.00;1.27;0.00;0.00;0;228;154;0.1791;0.3153;0.3730;0.4510;0.4398;0.4244;0.4527;0.5176;3366.90;2.28 -14/07/2023 20:00:18;0;0;26.44;0.00;2;0;0;0;0;0;0;2604.10;0.00;0.00;0.00;0.00;1.27;0.00;0.00;0;229;155;0.1785;0.3144;0.3727;0.4510;0.4401;0.4252;0.4546;0.5204;3362.19;2.28 -14/07/2023 20:01:18;0;0;26.44;0.00;2;0;0;0;0;0;0;2616.46;0.00;0.00;0.00;0.00;1.27;0.00;0.00;0;229;154;0.1783;0.3144;0.3735;0.4526;0.4419;0.4274;0.4579;0.5247;3369.68;2.28 -14/07/2023 20:02:18;0;0;26.44;0.00;2;0;0;0;0;0;0;2621.37;0.00;0.00;0.00;0.00;1.27;0.00;0.00;0;228;154;0.1779;0.3140;0.3734;0.4530;0.4427;0.4285;0.4601;0.5278;3367.67;2.29 -14/07/2023 20:03:18;0;0;26.44;0.00;2;0;0;0;0;0;0;2543.59;0.00;0.00;0.00;0.00;1.05;0.00;0.00;0;228;156;0.1683;0.3000;0.3600;0.4346;0.4230;0.4051;0.4370;0.4968;3307.71;2.08 -14/07/2023 20:04:18;0;0;26.38;0.00;2;0;0;0;0;0;0;2408.62;0.00;0.00;0.00;0.00;0.73;0.00;0.00;0;228;154;0.1535;0.2781;0.3380;0.4044;0.3906;0.3678;0.3997;0.4475;3197.29;1.76 -14/07/2023 20:05:18;0;0;26.31;0.00;2;0;0;0;0;0;0;2401.44;0.00;0.00;0.00;0.00;0.81;0.00;0.00;0;228;154;0.1548;0.2789;0.3377;0.4051;0.3923;0.3721;0.4049;0.4575;3164.76;1.82 -14/07/2023 20:06:18;0;0;26.31;0.00;2;0;0;0;0;0;0;2310.26;0.00;0.00;0.00;0.00;0.66;0.00;0.00;0;228;154;0.1462;0.2655;0.3235;0.3862;0.3730;0.3514;0.3846;0.4323;3070.69;1.66 -14/07/2023 20:07:18;0;0;26.31;0.00;2;0;0;0;0;0;0;2407.64;0.00;0.00;0.00;0.00;1.03;0.00;0.00;0;228;154;0.1593;0.2831;0.3401;0.4111;0.4008;0.3869;0.4222;0.4867;3110.08;1.99 -14/07/2023 20:08:18;0;0;26.31;0.00;2;0;0;0;0;0;0;2422.00;0.00;0.00;0.00;0.00;1.02;0.00;0.00;0;228;154;0.1581;0.2819;0.3399;0.4117;0.4026;0.3891;0.4268;0.4927;3111.40;1.99 -14/07/2023 20:09:18;0;0;26.31;0.00;2;0;0;0;0;0;0;2224.87;0.00;0.00;0.00;0.00;0.55;0.00;0.00;0;228;154;0.1367;0.2504;0.3081;0.3679;0.3556;0.3350;0.3718;0.4191;2951.04;1.53 -14/07/2023 20:10:18;0;0;26.31;0.00;2;0;0;0;0;0;0;2189.30;0.00;0.00;0.00;0.00;0.60;0.00;0.00;0;228;154;0.1359;0.2480;0.3042;0.3636;0.3516;0.3326;0.3690;0.4180;2895.09;1.55 -14/07/2023 20:11:18;0;0;26.25;0.00;2;0;0;0;0;0;0;2100.80;0.00;0.00;0.00;0.00;0.53;0.00;0.00;0;228;154;0.1300;0.2381;0.2923;0.3483;0.3358;0.3164;0.3516;0.3974;2795.95;1.45 -14/07/2023 20:12:18;0;0;26.25;0.00;2;0;0;0;0;0;0;2013.20;0.00;0.00;0.00;0.00;0.48;0.00;0.00;0;228;154;0.1244;0.2283;0.2806;0.3333;0.3203;0.3005;0.3344;0.3771;2697.41;1.37 -14/07/2023 20:13:18;0;0;26.25;0.00;2;0;0;0;0;0;0;1973.23;0.00;0.00;0.00;0.00;0.47;0.00;0.00;0;228;155;0.1218;0.2238;0.2750;0.3268;0.3139;0.2946;0.3282;0.3705;2643.22;1.34 -14/07/2023 20:14:18;0;0;26.19;0.00;2;0;0;0;0;0;0;1944.02;0.00;0.00;0.00;0.00;0.46;0.00;0.00;0;228;154;0.1197;0.2201;0.2707;0.3219;0.3092;0.2903;0.3238;0.3660;2601.70;1.32 -14/07/2023 20:15:18;0;0;26.19;0.00;2;0;0;0;0;0;0;1912.76;0.00;0.00;0.00;0.00;0.47;0.00;0.00;0;228;154;0.1183;0.2171;0.2669;0.3175;0.3048;0.2865;0.3194;0.3618;2557.84;1.31 -14/07/2023 20:16:18;0;0;26.19;0.00;2;0;0;0;0;0;0;1852.61;0.00;0.00;0.00;0.00;0.42;0.00;0.00;0;228;155;0.1144;0.2101;0.2590;0.3073;0.2943;0.2746;0.3067;0.3457;2492.77;1.25 -14/07/2023 20:17:18;0;0;26.12;0.00;2;0;0;0;0;0;0;1884.28;0.00;0.00;0.00;0.00;0.53;0.00;0.00;0;228;154;0.1184;0.2161;0.2646;0.3156;0.3031;0.2858;0.3172;0.3609;2509.69;1.36 -14/07/2023 20:18:18;0;0;26.12;0.00;2;0;0;0;0;0;0;1808.37;0.00;0.00;0.00;0.00;0.40;0.00;0.00;0;228;154;0.1112;0.2046;0.2530;0.2997;0.2870;0.2668;0.2977;0.3348;2436.96;1.21 -14/07/2023 20:19:18;0;0;26.06;0.00;2;0;0;0;0;0;0;1754.28;0.00;0.00;0.00;0.00;0.36;0.00;0.00;0;228;154;0.1080;0.1992;0.2463;0.2908;0.2774;0.2568;0.2863;0.3207;2380.64;1.16 -14/07/2023 20:20:18;0;0;26.06;0.00;2;0;0;0;0;0;0;1708.31;0.00;0.00;0.00;0.00;0.34;0.00;0.00;0;228;154;0.1054;0.1943;0.2405;0.2834;0.2697;0.2488;0.2774;0.3101;2328.31;1.12 -14/07/2023 20:21:18;0;0;26.00;0.00;2;0;0;0;0;0;0;1674.19;0.00;0.00;0.00;0.00;0.34;0.00;0.00;0;228;154;0.1034;0.1903;0.2360;0.2776;0.2644;0.2433;0.2720;0.3040;2283.19;1.09 -14/07/2023 20:22:18;0;0;26.00;0.00;2;0;0;0;0;0;0;1653.30;0.00;0.00;0.00;0.00;0.34;0.00;0.00;0;228;154;0.1022;0.1881;0.2332;0.2743;0.2615;0.2410;0.2698;0.3029;2251.54;1.09 -14/07/2023 20:23:18;0;0;25.94;0.00;2;0;0;0;0;0;0;1623.91;0.00;0.00;0.00;0.00;0.34;0.00;0.00;0;228;154;0.1004;0.1848;0.2292;0.2696;0.2566;0.2366;0.2653;0.2984;2213.20;1.07 -14/07/2023 20:24:18;0;0;25.88;0.00;2;0;0;0;0;0;0;1596.90;0.00;0.00;0.00;0.00;0.33;0.00;0.00;0;228;154;0.0987;0.1818;0.2256;0.2653;0.2523;0.2326;0.2612;0.2940;2177.29;1.05 -14/07/2023 20:25:18;0;0;25.81;0.00;2;0;0;0;0;0;0;1574.12;0.00;0.00;0.00;0.00;0.33;0.00;0.00;0;228;153;0.0971;0.1790;0.2223;0.2615;0.2487;0.2292;0.2576;0.2905;2145.45;1.04 -14/07/2023 20:26:18;0;0;25.81;0.00;2;0;0;0;0;0;0;1548.37;0.00;0.00;0.00;0.00;0.32;0.00;0.00;0;228;154;0.0954;0.1761;0.2189;0.2573;0.2444;0.2251;0.2534;0.2857;2112.83;1.02 -14/07/2023 20:27:18;0;0;25.75;0.00;2;0;0;0;0;0;0;1525.65;0.00;0.00;0.00;0.00;0.31;0.00;0.00;0;228;154;0.0937;0.1733;0.2157;0.2536;0.2406;0.2214;0.2495;0.2813;2083.07;1.00 -14/07/2023 20:28:18;0;0;25.75;0.00;2;0;0;0;0;0;0;1517.46;0.00;0.00;0.00;0.00;0.35;0.00;0.00;0;228;154;0.0942;0.1735;0.2154;0.2537;0.2409;0.2225;0.2503;0.2834;2064.03;1.03 -14/07/2023 20:29:18;0;0;25.75;0.00;2;0;0;0;0;0;0;1505.37;0.00;0.00;0.00;0.00;0.40;0.00;0.00;0;228;154;0.0948;0.1740;0.2150;0.2540;0.2406;0.2230;0.2501;0.2844;2044.17;1.06 -14/07/2023 20:30:18;0;0;25.75;0.00;2;0;0;0;0;0;0;1475.00;0.00;0.00;0.00;0.00;0.43;0.00;0.00;0;228;154;0.0944;0.1722;0.2121;0.2504;0.2374;0.2207;0.2466;0.2812;2000.05;1.08 -14/07/2023 20:31:18;0;0;25.75;0.00;2;0;0;0;0;0;0;1400.50;0.00;0.00;0.00;0.00;0.31;0.00;0.00;0;228;154;0.0875;0.1617;0.2007;0.2353;0.2216;0.2029;0.2275;0.2564;1928.67;0.94 -14/07/2023 20:32:18;0;0;25.69;0.00;2;0;0;0;0;0;0;1352.77;0.00;0.00;0.00;0.00;0.26;0.00;0.00;0;228;154;0.0837;0.1556;0.1939;0.2265;0.2125;0.1933;0.2169;0.2433;1876.95;0.88 -14/07/2023 20:33:18;0;0;25.69;0.00;2;0;0;0;0;0;0;1327.37;0.00;0.00;0.00;0.00;0.25;0.00;0.00;0;228;153;0.0820;0.1526;0.1903;0.2222;0.2083;0.1894;0.2129;0.2392;1842.81;0.86 -14/07/2023 20:34:18;0;0;25.62;0.00;2;0;0;0;0;0;0;1331.24;0.00;0.00;0.00;0.00;0.31;0.00;0.00;0;228;153;0.0834;0.1541;0.1914;0.2245;0.2111;0.1937;0.2178;0.2470;1831.12;0.91 -14/07/2023 20:35:18;0;0;25.62;0.00;2;0;0;0;0;0;0;1343.10;0.00;0.00;0.00;0.00;0.36;0.00;0.00;0;228;154;0.0844;0.1553;0.1927;0.2272;0.2145;0.1985;0.2239;0.2564;1827.59;0.95 -14/07/2023 20:36:18;0;0;25.62;0.00;2;0;0;0;0;0;0;1305.64;0.00;0.00;0.00;0.00;0.27;0.00;0.00;0;228;154;0.0797;0.1483;0.1858;0.2184;0.2058;0.1889;0.2148;0.2452;1786.65;0.87 -14/07/2023 20:37:18;0;0;25.62;0.00;2;0;0;0;0;0;0;1299.13;0.00;0.00;0.00;0.00;0.28;0.00;0.00;0;228;154;0.0790;0.1469;0.1843;0.2173;0.2052;0.1893;0.2164;0.2490;1766.35;0.87 -14/07/2023 20:38:18;0;0;25.62;0.00;2;0;0;0;0;0;0;1287.39;0.00;0.00;0.00;0.00;0.29;0.00;0.00;0;228;154;0.0781;0.1451;0.1823;0.2153;0.2037;0.1886;0.2165;0.2506;1741.76;0.87 -14/07/2023 20:39:18;0;0;25.56;0.00;2;0;0;0;0;0;0;1283.75;0.00;0.00;0.00;0.00;0.30;0.00;0.00;0;228;153;0.0776;0.1440;0.1812;0.2146;0.2035;0.1894;0.2184;0.2546;1725.66;0.88 -14/07/2023 20:40:18;0;0;25.56;0.00;2;0;0;0;0;0;0;1278.42;0.00;0.00;0.00;0.00;0.31;0.00;0.00;0;228;154;0.0768;0.1426;0.1797;0.2134;0.2029;0.1895;0.2197;0.2577;1708.57;0.88 -14/07/2023 20:41:18;0;0;25.50;0.00;2;0;0;0;0;0;0;1272.07;0.00;0.00;0.00;0.00;0.31;0.00;0.00;0;228;154;0.0761;0.1412;0.1783;0.2121;0.2021;0.1893;0.2206;0.2604;1691.17;0.88 -14/07/2023 20:42:18;0;0;25.44;0.00;2;0;0;0;0;0;0;1267.35;0.00;0.00;0.00;0.00;0.32;0.00;0.00;0;228;154;0.0753;0.1397;0.1769;0.2111;0.2016;0.1898;0.2224;0.2644;1673.50;0.89 -14/07/2023 20:43:18;0;0;25.44;0.00;2;0;0;0;0;0;0;1255.12;0.00;0.00;0.00;0.00;0.33;0.00;0.00;0;227;154;0.0743;0.1377;0.1748;0.2090;0.1999;0.1889;0.2225;0.2661;1648.03;0.89 -14/07/2023 20:44:18;0;0;25.44;0.00;2;0;0;0;0;0;0;1243.50;0.00;0.00;0.00;0.00;0.33;0.00;0.00;0;227;155;0.0732;0.1357;0.1725;0.2070;0.1984;0.1882;0.2227;0.2679;1621.86;0.89 -14/07/2023 20:45:18;0;0;25.44;0.00;2;0;0;0;0;0;0;1215.55;0.00;0.00;0.00;0.00;0.33;0.00;0.00;0;227;154;0.0713;0.1323;0.1685;0.2024;0.1940;0.1840;0.2184;0.2634;1582.83;0.87 -14/07/2023 20:46:18;0;0;25.44;0.00;2;0;0;0;0;0;0;1185.04;0.00;0.00;0.00;0.00;0.32;0.00;0.00;0;227;154;0.0692;0.1287;0.1641;0.1973;0.1890;0.1792;0.2133;0.2577;1542.12;0.85 -14/07/2023 20:47:18;0;0;25.44;0.00;2;0;0;0;0;0;0;1161.45;0.00;0.00;0.00;0.00;0.31;0.00;0.00;0;228;154;0.0675;0.1256;0.1606;0.1932;0.1851;0.1758;0.2101;0.2547;1508.20;0.83 -14/07/2023 20:48:18;0;0;25.44;0.00;2;0;0;0;0;0;0;1137.40;0.00;0.00;0.00;0.00;0.30;0.00;0.00;0;228;154;0.0659;0.1227;0.1570;0.1891;0.1813;0.1725;0.2072;0.2526;1472.86;0.82 -14/07/2023 20:49:18;0;0;25.44;0.00;2;0;0;0;0;0;0;1101.64;0.00;0.00;0.00;0.00;0.29;0.00;0.00;0;228;154;0.0638;0.1188;0.1523;0.1833;0.1755;0.1670;0.2012;0.2461;1427.62;0.79 -14/07/2023 20:50:18;0;0;25.44;0.00;2;0;0;0;0;0;0;1055.25;0.00;0.00;0.00;0.00;0.28;0.00;0.00;0;228;154;0.0613;0.1143;0.1465;0.1759;0.1679;0.1592;0.1919;0.2348;1374.58;0.75 -14/07/2023 20:51:18;0;0;25.44;0.00;2;0;0;0;0;0;0;1012.15;0.00;0.00;0.00;0.00;0.26;0.00;0.00;0;228;154;0.0590;0.1101;0.1412;0.1691;0.1608;0.1520;0.1832;0.2241;1325.99;0.72 -14/07/2023 20:52:18;0;0;25.38;0.00;2;0;0;0;0;0;0;973.59;0.00;0.00;0.00;0.00;0.25;0.00;0.00;0;227;154;0.0568;0.1063;0.1364;0.1630;0.1544;0.1456;0.1756;0.2149;1281.67;0.69 -14/07/2023 20:53:18;0;0;25.38;0.00;2;0;0;0;0;0;0;935.79;0.00;0.00;0.00;0.00;0.23;0.00;0.00;0;227;154;0.0547;0.1026;0.1316;0.1570;0.1482;0.1392;0.1679;0.2054;1238.86;0.66 -14/07/2023 20:54:18;0;0;25.38;0.00;2;0;0;0;0;0;0;902.37;0.00;0.00;0.00;0.00;0.22;0.00;0.00;0;227;154;0.0528;0.0993;0.1274;0.1517;0.1427;0.1336;0.1611;0.1971;1199.96;0.64 -14/07/2023 20:55:18;0;0;25.31;0.00;2;0;0;0;0;0;0;873.44;0.00;0.00;0.00;0.00;0.21;0.00;0.00;0;227;154;0.0511;0.0962;0.1236;0.1470;0.1380;0.1290;0.1558;0.1909;1164.00;0.62 -14/07/2023 20:56:18;0;0;25.25;0.00;2;0;0;0;0;0;0;850.51;0.00;0.00;0.00;0.00;0.21;0.00;0.00;0;227;154;0.0496;0.0935;0.1203;0.1432;0.1344;0.1258;0.1524;0.1875;1131.87;0.60 -14/07/2023 20:57:18;0;0;25.25;0.00;2;0;0;0;0;0;0;823.41;0.00;0.00;0.00;0.00;0.20;0.00;0.00;0;228;153;0.0480;0.0906;0.1167;0.1389;0.1302;0.1217;0.1478;0.1824;1096.27;0.59 -14/07/2023 20:58:18;0;0;25.25;0.00;2;0;0;0;0;0;0;795.42;0.00;0.00;0.00;0.00;0.20;0.00;0.00;0;227;154;0.0464;0.0875;0.1129;0.1344;0.1257;0.1175;0.1429;0.1768;1060.13;0.57 -14/07/2023 20:59:18;0;0;25.25;0.00;2;0;0;0;0;0;0;773.34;0.00;0.00;0.00;0.00;0.19;0.00;0.00;0;227;154;0.0450;0.0849;0.1097;0.1307;0.1223;0.1146;0.1400;0.1741;1027.63;0.55 -14/07/2023 21:00:18;0;0;25.25;0.00;2;0;0;0;0;0;0;748.21;0.00;0.00;0.00;0.00;0.19;0.00;0.00;0;227;154;0.0434;0.0820;0.1061;0.1265;0.1184;0.1111;0.1363;0.1705;992.05;0.54 -14/07/2023 21:01:18;0;0;25.25;0.00;2;0;0;0;0;0;0;719.92;0.00;0.00;0.00;0.00;0.19;0.00;0.00;0;227;154;0.0418;0.0788;0.1021;0.1219;0.1140;0.1072;0.1322;0.1663;952.34;0.52 -14/07/2023 21:02:18;0;0;25.25;0.00;2;0;0;0;0;0;0;694.70;0.00;0.00;0.00;0.00;0.19;0.00;0.00;0;228;154;0.0403;0.0759;0.0984;0.1177;0.1102;0.1040;0.1290;0.1634;914.67;0.51 -14/07/2023 21:03:18;0;0;25.19;0.00;2;0;0;0;0;0;0;667.69;0.00;0.00;0.00;0.00;0.19;0.00;0.00;0;227;154;0.0387;0.0728;0.0945;0.1132;0.1060;0.1003;0.1252;0.1597;876.04;0.50 -14/07/2023 21:04:18;0;0;25.19;0.00;2;0;0;0;0;0;0;637.03;0.00;0.00;0.00;0.00;0.18;0.00;0.00;0;227;154;0.0369;0.0695;0.0903;0.1081;0.1011;0.0957;0.1199;0.1536;836.23;0.48 -14/07/2023 21:05:18;0;0;25.25;0.00;2;0;0;0;0;0;0;604.42;0.00;0.00;0.00;0.00;0.17;0.00;0.00;0;227;154;0.0351;0.0662;0.0859;0.1028;0.0958;0.0905;0.1135;0.1457;796.38;0.45 -14/07/2023 21:06:18;0;0;25.19;0.00;2;0;0;0;0;0;0;571.13;0.00;0.00;0.00;0.00;0.15;0.00;0.00;0;228;153;0.0331;0.0627;0.0815;0.0973;0.0903;0.0849;0.1065;0.1367;757.36;0.42 -14/07/2023 21:07:18;0;0;25.19;0.00;2;0;0;0;0;0;0;540.17;0.00;0.00;0.00;0.00;0.14;0.00;0.00;0;227;154;0.0313;0.0594;0.0774;0.0921;0.0852;0.0797;0.1001;0.1283;720.40;0.40 -14/07/2023 21:08:18;0;0;25.12;0.00;2;0;0;0;0;0;0;510.51;0.00;0.00;0.00;0.00;0.12;0.00;0.00;0;228;154;0.0295;0.0562;0.0734;0.0872;0.0804;0.0749;0.0942;0.1208;684.17;0.37 -14/07/2023 21:09:18;0;0;25.06;0.00;2;0;0;0;0;0;0;482.57;0.00;0.00;0.00;0.00;0.11;0.00;0.00;0;227;153;0.0279;0.0532;0.0695;0.0825;0.0758;0.0704;0.0887;0.1139;649.59;0.35 -14/07/2023 21:10:18;0;0;25.06;0.00;2;0;0;0;0;0;0;454.24;0.00;0.00;0.00;0.00;0.10;0.00;0.00;0;227;154;0.0263;0.0502;0.0657;0.0778;0.0712;0.0659;0.0831;0.1068;614.61;0.33 -14/07/2023 21:11:18;0;0;25.00;0.00;2;0;0;0;0;0;0;428.14;0.00;0.00;0.00;0.00;0.10;0.00;0.00;0;227;153;0.0248;0.0474;0.0621;0.0735;0.0671;0.0621;0.0785;0.1014;579.83;0.31 -14/07/2023 21:12:18;0;0;24.94;0.00;2;0;0;0;0;0;0;402.47;0.00;0.00;0.00;0.00;0.09;0.00;0.00;0;227;154;0.0234;0.0447;0.0584;0.0692;0.0631;0.0584;0.0742;0.0964;545.13;0.29 -14/07/2023 21:13:18;0;0;24.94;0.00;2;0;0;0;0;0;0;376.88;0.00;0.00;0.00;0.00;0.09;0.00;0.00;0;227;153;0.0220;0.0420;0.0549;0.0649;0.0591;0.0547;0.0698;0.0912;511.18;0.28 -14/07/2023 21:14:18;0;0;24.88;0.00;2;0;0;0;0;0;0;352.33;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;227;154;0.0206;0.0394;0.0515;0.0608;0.0553;0.0512;0.0656;0.0863;478.51;0.26 -14/07/2023 21:15:18;0;0;24.81;0.00;2;0;0;0;0;0;0;328.84;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;227;153;0.0194;0.0369;0.0482;0.0569;0.0516;0.0479;0.0617;0.0816;446.95;0.25 -14/07/2023 21:16:18;0;0;24.88;0.00;2;0;0;0;0;0;0;306.78;0.00;0.00;0.00;0.00;0.08;0.00;0.00;0;227;153;0.0182;0.0346;0.0451;0.0531;0.0482;0.0448;0.0579;0.0772;417.31;0.23 -14/07/2023 21:17:18;0;0;24.81;0.00;2;0;0;0;0;0;0;286.43;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;227;154;0.0171;0.0324;0.0422;0.0497;0.0450;0.0420;0.0546;0.0732;389.64;0.22 -14/07/2023 21:18:18;0;0;24.81;0.00;2;0;0;0;0;0;0;267.46;0.00;0.00;0.00;0.00;0.07;0.00;0.00;0;227;154;0.0161;0.0304;0.0395;0.0465;0.0421;0.0394;0.0516;0.0697;363.49;0.21 -14/07/2023 21:19:18;0;0;25.12;0.00;2;5744;95.7333;167;2.78333;372;6.2;163.77;0.00;0.00;0.00;0.00;0.04;0.00;0.00;4;227;167;0.0087;0.0166;0.0213;0.0255;0.0264;0.0261;0.0310;0.0368;198.45;0.11 -14/07/2023 21:20:18;0;0;26.06;0.00;16;664;11.0667;10;0.166667;49;0.816667;7.49;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;193;142;0.0001;0.0003;0.0003;0.0005;0.0014;0.0017;0.0013;0.0005;3.49;0.00 -14/07/2023 21:21:18;0;0;26.44;0.00;16;0;0;0;0;0;0;1.39;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;144;0.0000;0.0000;0.0000;0.0001;0.0003;0.0003;0.0002;0.0001;0.29;0.00 -14/07/2023 21:22:18;0;0;26.75;0.00;16;9;0.15;0;0;0;0;1.77;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;142;0.0000;0.0000;0.0000;0.0001;0.0003;0.0004;0.0003;0.0001;0.46;0.00 -14/07/2023 21:23:18;0;0;27.00;0.00;16;0;0;0;0;0;0;1.84;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;143;0.0000;0.0000;0.0001;0.0001;0.0004;0.0004;0.0003;0.0001;0.49;0.00 -14/07/2023 21:24:18;0;0;27.25;0.00;16;0;0;0;0;0;0;1.84;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;144;0.0000;0.0000;0.0000;0.0001;0.0004;0.0004;0.0003;0.0001;0.47;0.00 -14/07/2023 21:25:18;0;0;27.44;0.00;16;0;0;0;0;0;0;1.84;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;142;0.0000;0.0000;0.0001;0.0001;0.0004;0.0004;0.0003;0.0001;0.47;0.00 -14/07/2023 21:26:18;0;0;27.62;0.00;16;0;0;0;0;0;0;1.83;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;144;0.0000;0.0000;0.0000;0.0001;0.0004;0.0004;0.0003;0.0001;0.44;0.00 -14/07/2023 21:27:18;0;0;27.69;0.00;16;0;0;0;0;0;0;1.87;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;143;0.0000;0.0000;0.0000;0.0001;0.0004;0.0004;0.0003;0.0001;0.46;0.00 -14/07/2023 21:28:18;0;0;27.81;0.00;16;0;0;0;0;0;0;2.09;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;188;144;0.0000;0.0000;0.0001;0.0001;0.0004;0.0005;0.0004;0.0001;0.63;0.00 -14/07/2023 21:29:18;0;0;27.94;0.00;16;0;0;0;0;0;0;2.11;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;143;0.0000;0.0000;0.0001;0.0001;0.0004;0.0005;0.0004;0.0001;0.64;0.00 -14/07/2023 21:30:18;0;0;28.06;0.00;16;0;0;0;0;0;0;3.05;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;144;0.0000;0.0001;0.0001;0.0002;0.0006;0.0007;0.0005;0.0002;1.00;0.00 -14/07/2023 21:31:18;0;0;28.19;0.00;16;0;0;0;0;0;0;3.04;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;144;0.0000;0.0001;0.0001;0.0002;0.0006;0.0007;0.0005;0.0002;0.99;0.00 -14/07/2023 21:32:18;0;0;28.25;0.00;16;4;0.0666667;0;0;0;0;3.03;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;145;0.0000;0.0001;0.0001;0.0002;0.0006;0.0007;0.0005;0.0002;0.99;0.00 -14/07/2023 21:33:18;0;0;28.31;0.00;16;0;0;0;0;0;0;3.09;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;144;0.0000;0.0001;0.0001;0.0002;0.0006;0.0007;0.0005;0.0002;1.01;0.00 -14/07/2023 21:34:18;0;0;28.38;0.00;16;0;0;0;0;0;0;3.09;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;144;0.0000;0.0001;0.0001;0.0002;0.0006;0.0007;0.0005;0.0002;1.01;0.00 -14/07/2023 21:35:18;0;0;28.44;0.00;16;3;0.05;0;0;0;0;3.13;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;144;0.0000;0.0001;0.0001;0.0002;0.0006;0.0007;0.0005;0.0002;1.05;0.00 -14/07/2023 21:36:18;0;0;28.50;0.00;16;0;0;0;0;0;0;3.09;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;142;0.0000;0.0001;0.0001;0.0002;0.0006;0.0007;0.0005;0.0002;1.01;0.00 -14/07/2023 21:37:18;0;0;28.56;0.00;16;4;0.0666667;0;0;0;0;3.19;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;190;145;0.0000;0.0001;0.0001;0.0002;0.0006;0.0007;0.0005;0.0002;1.08;0.00 -14/07/2023 21:38:18;0;0;28.62;0.00;16;4;0.0666667;0;0;0;0;3.31;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;144;0.0000;0.0001;0.0001;0.0002;0.0006;0.0007;0.0006;0.0002;1.20;0.00 -14/07/2023 21:39:18;0;0;28.69;0.00;16;4;0.0666667;0;0;0;0;3.31;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;145;0.0000;0.0001;0.0001;0.0002;0.0006;0.0007;0.0006;0.0002;1.15;0.00 -14/07/2023 21:40:18;0;0;28.69;0.00;16;0;0;0;0;0;0;3.34;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;144;0.0000;0.0001;0.0001;0.0002;0.0006;0.0007;0.0006;0.0002;1.21;0.00 -14/07/2023 21:41:18;0;0;28.75;0.00;16;0;0;0;0;0;0;3.34;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;145;0.0000;0.0001;0.0001;0.0002;0.0006;0.0007;0.0006;0.0002;1.22;0.00 -14/07/2023 21:42:18;0;0;28.81;0.00;16;0;0;0;0;0;0;3.33;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;144;0.0000;0.0001;0.0001;0.0002;0.0006;0.0007;0.0006;0.0002;1.20;0.00 -14/07/2023 21:43:18;0;0;28.81;0.00;16;0;0;0;0;0;0;3.72;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;190;145;0.0000;0.0001;0.0001;0.0003;0.0007;0.0008;0.0006;0.0002;1.39;0.00 -14/07/2023 21:44:18;0;0;28.88;0.00;16;0;0;0;0;0;0;4.36;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;144;0.0000;0.0001;0.0002;0.0003;0.0008;0.0009;0.0007;0.0002;1.76;0.00 -14/07/2023 21:45:18;0;0;28.88;0.00;16;0;0;0;0;0;0;4.35;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;143;0.0000;0.0001;0.0002;0.0003;0.0008;0.0009;0.0007;0.0002;1.74;0.00 -14/07/2023 21:46:18;0;0;28.94;0.00;16;0;0;0;0;0;0;4.35;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;145;0.0000;0.0001;0.0002;0.0003;0.0008;0.0009;0.0007;0.0002;1.75;0.00 -14/07/2023 21:47:18;0;0;28.94;0.00;16;0;0;0;0;0;0;3.72;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;190;145;0.0000;0.0001;0.0001;0.0002;0.0007;0.0008;0.0006;0.0002;1.42;0.00 -14/07/2023 21:48:18;0;0;29.00;0.00;16;0;0;0;0;0;0;2.73;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.92;0.00 -14/07/2023 21:49:18;0;0;29.00;0.00;16;0;0;0;0;0;0;2.73;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;144;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.90;0.00 -14/07/2023 21:50:18;0;0;29.06;0.00;16;3;0.05;0;0;0;0;2.75;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;144;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.93;0.00 -14/07/2023 21:51:18;0;0;29.06;0.00;16;0;0;0;0;0;0;2.74;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.93;0.00 -14/07/2023 21:52:18;0;0;29.12;0.00;16;0;0;0;0;0;0;2.75;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.96;0.00 -14/07/2023 21:53:18;0;0;29.12;0.00;16;7;0.116667;0;0;0;0;2.79;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0005;0.0002;0.97;0.00 -14/07/2023 21:54:18;0;0;29.12;0.00;16;0;0;0;0;0;0;2.83;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;144;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0005;0.0002;0.97;0.00 -14/07/2023 21:55:18;0;0;29.19;0.00;16;0;0;0;0;0;0;2.82;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0005;0.0002;1.00;0.00 -14/07/2023 21:56:18;0;0;29.19;0.00;16;0;0;0;0;0;0;2.85;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0005;0.0002;0.99;0.00 -14/07/2023 21:57:18;0;0;29.19;0.00;16;0;0;0;0;0;0;2.83;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0005;0.0002;0.98;0.00 -14/07/2023 21:58:18;0;0;29.19;0.00;16;0;0;0;0;0;0;2.83;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;144;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0005;0.0002;0.98;0.00 -14/07/2023 21:59:18;0;0;29.25;0.00;16;3;0.05;0;0;0;0;2.84;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;190;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0005;0.0002;1.00;0.00 -14/07/2023 22:00:18;0;0;29.25;0.00;16;0;0;0;0;0;0;2.79;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0005;0.0002;0.95;0.00 -14/07/2023 22:01:18;0;0;29.25;0.00;16;4;0.0666667;0;0;0;0;2.73;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;144;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.92;0.00 -14/07/2023 22:02:18;0;0;29.25;0.00;16;0;0;0;0;0;0;2.72;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.89;0.00 -14/07/2023 22:03:18;0;0;29.25;0.00;16;9;0.15;0;0;0;0;2.73;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;144;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.91;0.00 -14/07/2023 22:04:18;0;0;29.31;0.00;16;0;0;0;0;0;0;2.73;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;144;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.93;0.00 -14/07/2023 22:05:18;0;0;29.31;0.00;16;0;0;0;0;0;0;2.71;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.88;0.00 -14/07/2023 22:06:18;0;0;29.31;0.00;16;5;0.0833333;0;0;0;0;2.73;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.93;0.00 -14/07/2023 22:07:18;0;0;29.31;0.00;16;0;0;0;0;0;0;2.72;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;144;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.89;0.00 -14/07/2023 22:08:18;0;0;29.31;0.00;16;3;0.05;0;0;0;0;2.73;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.92;0.00 -14/07/2023 22:09:18;0;0;29.38;0.00;16;0;0;0;0;0;0;2.73;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;144;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.93;0.00 -14/07/2023 22:10:18;0;0;29.38;0.00;16;0;0;0;0;0;0;2.73;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.91;0.00 -14/07/2023 22:11:18;0;0;29.38;0.00;16;7;0.116667;0;0;0;0;2.74;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.93;0.00 -14/07/2023 22:12:18;0;0;29.38;0.00;16;0;0;0;0;0;0;2.75;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.94;0.00 -14/07/2023 22:13:18;0;0;29.44;0.00;16;5;0.0833333;0;0;0;0;2.76;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.95;0.00 -14/07/2023 22:14:18;0;0;29.38;0.00;16;0;0;0;0;0;0;2.76;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.94;0.00 -14/07/2023 22:15:18;0;0;29.44;0.00;16;0;0;0;0;0;0;2.76;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;144;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0004;0.0002;0.93;0.00 -14/07/2023 22:16:18;0;0;29.44;0.00;16;0;0;0;0;0;0;2.78;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;189;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0005;0.0002;0.96;0.00 -14/07/2023 22:17:18;0;0;29.44;0.00;16;0;0;0;0;0;0;2.78;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;144;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0005;0.0002;0.98;0.00 -14/07/2023 22:18:18;0;0;29.50;0.00;16;0;0;0;0;0;0;2.75;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;190;145;0.0000;0.0001;0.0001;0.0002;0.0005;0.0006;0.0005;0.0002;0.93;0.00 -14/07/2023 22:20:30;0;0;29.56;0.00;16;1198;19.9667;28;0.466667;91;1.51667;42.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;180;138;0.0008;0.0018;0.0020;0.0029;0.0077;0.0091;0.0071;0.0024;20.81;0.01 -14/07/2023 22:21:30;0;0;29.56;0.00;16;0;0;0;0;0;0;73.77;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;195;144;0.0015;0.0032;0.0037;0.0053;0.0136;0.0161;0.0129;0.0043;36.59;0.03 -14/07/2023 22:22:30;0;0;29.56;0.00;16;0;0;0;0;0;0;73.81;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;197;145;0.0015;0.0032;0.0037;0.0053;0.0136;0.0161;0.0129;0.0043;36.58;0.03 -14/07/2023 22:23:30;0;0;29.50;0.00;16;0;0;0;0;0;0;73.89;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;195;145;0.0015;0.0032;0.0037;0.0053;0.0137;0.0161;0.0129;0.0043;36.69;0.03 -14/07/2023 22:24:30;0;0;29.50;0.00;16;0;0;0;0;0;0;73.81;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;195;145;0.0015;0.0032;0.0037;0.0053;0.0136;0.0161;0.0129;0.0043;36.64;0.03 -14/07/2023 22:25:30;0;0;29.50;0.00;16;0;0;0;0;0;0;73.78;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;193;145;0.0015;0.0032;0.0037;0.0053;0.0136;0.0161;0.0129;0.0043;36.57;0.03 -14/07/2023 22:26:30;0;0;29.50;0.00;16;0;0;0;0;0;0;73.80;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;195;147;0.0015;0.0032;0.0037;0.0053;0.0136;0.0161;0.0129;0.0043;36.60;0.03 -14/07/2023 22:27:30;0;0;29.50;0.00;16;0;0;0;0;0;0;73.80;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;195;147;0.0015;0.0032;0.0037;0.0053;0.0136;0.0161;0.0129;0.0043;36.64;0.03 -14/07/2023 22:28:30;0;0;29.44;0.00;16;0;0;0;0;0;0;73.70;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;192;145;0.0015;0.0032;0.0037;0.0053;0.0136;0.0161;0.0129;0.0043;36.60;0.03 -14/07/2023 22:29:30;0;0;29.44;0.00;16;0;0;0;0;0;0;73.77;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;195;145;0.0015;0.0032;0.0037;0.0053;0.0136;0.0161;0.0129;0.0043;36.60;0.03 -14/07/2023 22:30:30;0;0;29.44;0.00;16;0;0;0;0;0;0;73.79;0.00;0.00;0.00;0.00;0.00;0.00;0.00;4;195;147;0.0015;0.0032;0.0037;0.0053;0.0136;0.0161;0.0129;0.0043;36.58;0.03 \ No newline at end of file diff --git a/man/Brown2reference.Rd b/man/Brown2reference.Rd index 4fa7b0b..f3168bc 100644 --- a/man/Brown2reference.Rd +++ b/man/Brown2reference.Rd @@ -10,7 +10,7 @@ Brown2reference( Brown.state.colname = State.Brown, Brown.rec.colname = Reference, Reference.label = "Brown et al. (2022)", - overwrite.Reference = FALSE, + overwrite = FALSE, ... ) } @@ -31,11 +31,11 @@ throw an error.} \item{Reference.label}{The label that will be used for the reference. Expects a \code{character} scalar.} -\item{overwrite.Reference}{If \code{TRUE} (defaults to \code{FALSE}), the function will +\item{overwrite}{If \code{TRUE} (defaults to \code{FALSE}), the function will overwrite the \code{Brown.rec.colname} column if it already exists.} -\item{...}{Additional arguments that will be passed to \code{\link[=Brown.rec]{Brown.rec()}} and -\code{\link[=Brown.check]{Brown.check()}}. This is only relevant to correct the names of the daytime +\item{...}{Additional arguments that will be passed to \code{\link[=Brown_rec]{Brown_rec()}} and +\code{\link[=Brown_check]{Brown_check()}}. This is only relevant to correct the names of the daytime states or the thresholds used within these states. See the documentation of these functions for more information.} } @@ -51,7 +51,7 @@ that checks if the illuminance of the dataset is within the recommended illuminance levels, and a column that gives a label to the reference. } \details{ -On a lower level, the function uses \code{\link[=Brown.rec]{Brown.rec()}} and \code{\link[=Brown.check]{Brown.check()}} to +On a lower level, the function uses \code{\link[=Brown_rec]{Brown_rec()}} and \code{\link[=Brown_check]{Brown_check()}} to create the required information. } \examples{ @@ -66,8 +66,8 @@ https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.3001571 } \seealso{ Other Brown: -\code{\link{Brown.check}()}, -\code{\link{Brown.rec}()}, -\code{\link{sleep.int2Brown}()} +\code{\link{Brown_check}()}, +\code{\link{Brown_rec}()}, +\code{\link{sleep_int2Brown}()} } \concept{Brown} diff --git a/man/Brown.check.Rd b/man/Brown_check.Rd similarity index 90% rename from man/Brown.check.Rd rename to man/Brown_check.Rd index 67547c7..75727a5 100644 --- a/man/Brown.check.Rd +++ b/man/Brown_check.Rd @@ -1,11 +1,11 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/Brown.R -\name{Brown.check} -\alias{Brown.check} +\name{Brown_check} +\alias{Brown_check} \title{Check whether a value is within the recommended illuminance/MEDI levels by Brown et al. (2022)} \usage{ -Brown.check( +Brown_check( value, state, Brown.day = "day", @@ -46,8 +46,8 @@ is an upper limit. \examples{ states <- c("day", "evening", "night", "day") values <- c(100, 10, 1, 300) -Brown.check(values, states) -Brown.check(values, states, Brown.day.th = 100) +Brown_check(values, states) +Brown_check(values, states, Brown.day.th = 100) } \references{ @@ -55,8 +55,8 @@ https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.3001571 } \seealso{ Other Brown: -\code{\link{Brown.rec}()}, \code{\link{Brown2reference}()}, -\code{\link{sleep.int2Brown}()} +\code{\link{Brown_rec}()}, +\code{\link{sleep_int2Brown}()} } \concept{Brown} diff --git a/man/Brown.rec.Rd b/man/Brown_rec.Rd similarity index 89% rename from man/Brown.rec.Rd rename to man/Brown_rec.Rd index 58b0042..bbe80a3 100644 --- a/man/Brown.rec.Rd +++ b/man/Brown_rec.Rd @@ -1,10 +1,10 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/Brown.R -\name{Brown.rec} -\alias{Brown.rec} +\name{Brown_rec} +\alias{Brown_rec} \title{Set the recommended illuminance/MEDI levels by Brown et al. (2022)} \usage{ -Brown.rec( +Brown_rec( state, Brown.day = "day", Brown.evening = "evening", @@ -39,8 +39,8 @@ function is vectorized. } \examples{ states <- c("day", "evening", "night") -Brown.rec(states) -Brown.rec(states, Brown.day.th = 100) +Brown_rec(states) +Brown_rec(states, Brown.day.th = 100) } \references{ @@ -48,8 +48,8 @@ https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.3001571 } \seealso{ Other Brown: -\code{\link{Brown.check}()}, \code{\link{Brown2reference}()}, -\code{\link{sleep.int2Brown}()} +\code{\link{Brown_check}()}, +\code{\link{sleep_int2Brown}()} } \concept{Brown} diff --git a/man/Datetime_breaks.Rd b/man/Datetime_breaks.Rd new file mode 100644 index 0000000..62c1ccb --- /dev/null +++ b/man/Datetime_breaks.Rd @@ -0,0 +1,32 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/visualize_helper.R +\name{Datetime_breaks} +\alias{Datetime_breaks} +\title{Create a (shifted) sequence of Datetimes for axis breaks} +\usage{ +Datetime_breaks(x, shift = lubridate::duration(12, "hours"), by = "1 day") +} +\arguments{ +\item{x}{a vector of \code{Datetimes}} + +\item{shift}{a \code{numeric} giving the number of \code{duration} object, e.g. +\code{lubridate::duration(12, "hours")}} + +\item{by}{a \code{character} scalar giving the unit of the interval in +\code{\link[base:seq]{base::seq()}}} +} +\value{ +a \code{vector} of \code{Datetimes} +} +\description{ +Take a vector of Datetimes and create a sequence of Datetimes with a given +shift and interval. This is a helper function to create breaks for plotting, +e.g. in \code{\link[=gg_days]{gg_days()}}, and is best used in conjunction with +\code{\link[=Datetime_limits]{Datetime_limits()}}. The function is a thin wrapper around \code{\link[=seq]{seq()}}. +} +\examples{ +dataset <- c("2023-08-15", "2023-08-20") +Datetime_breaks(dataset) +Datetime_breaks(dataset, shift = 0) +Datetime_breaks(dataset, by = "12 hours") +} diff --git a/man/Datetime_limits.Rd b/man/Datetime_limits.Rd new file mode 100644 index 0000000..d89d8fb --- /dev/null +++ b/man/Datetime_limits.Rd @@ -0,0 +1,42 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/visualize_helper.R +\name{Datetime_limits} +\alias{Datetime_limits} +\title{Find or set sensible limits for Datetime axis} +\usage{ +Datetime_limits(x, start = NULL, length = NULL, unit = "1 day", ...) +} +\arguments{ +\item{x}{a vector of \code{Datetimes}} + +\item{start}{optional \code{duration} object, e.g. \code{lubridate::ddays(1)} that +shifts the start of the \code{Datetime} vector by this amount.} + +\item{length}{optional \code{duration} object, e.g. \code{lubridate::ddays(7)} that +shifts the end of the \code{Datetime} vector by this amount from the (adjusted) +start.} + +\item{unit}{a \code{character} scalar giving the unit of rounding in +\code{\link[lubridate:round_date]{lubridate::floor_date()}} and \code{\link[lubridate:round_date]{lubridate::ceiling_date()}}} + +\item{...}{other arguments passed to \code{\link[lubridate:round_date]{lubridate::floor_date()}} and +\code{\link[lubridate:round_date]{lubridate::ceiling_date()}}} +} +\value{ +a 2 item \code{vector} of \code{Datetimes} with the (adjusted) start and end of +the input vector. +} +\description{ +Take a vector of \code{Datetimes} and return the start of the first and end of the +last day of data. The \code{start} and the \code{length} can be adjusted by +\code{durations}, like \code{\link[lubridate:duration]{lubridate::ddays()}}. It is used in the \code{\link[=gg_days]{gg_days()}} +function to return a sensible axis. This function is a thin wrapper around +\code{\link[lubridate:round_date]{lubridate::floor_date()}} and \code{\link[lubridate:round_date]{lubridate::ceiling_date()}}. +} +\examples{ +dataset <- c("2023-08-15", "2023-08-20") +breaks <- Datetime_breaks(dataset) +Datetime_limits(breaks) +Datetime_limits(breaks, start = lubridate::ddays(1)) +Datetime_limits(breaks, length = lubridate::ddays(2)) +} diff --git a/man/LightLogR-package.Rd b/man/LightLogR-package.Rd index 92c32d8..395b941 100644 --- a/man/LightLogR-package.Rd +++ b/man/LightLogR-package.Rd @@ -30,8 +30,8 @@ Authors: Other contributors: \itemize{ - \item MeLiDos [funder] - \item EURAMET [funder] + \item EURAMET (European Association of National Metrology Institutes. Website: www.euramet.org. Grant Number: 22NRM05 MeLiDos. Grant Statement: The project (22NRM05 MeLiDos) has received funding from the European Partnership on Metrology, co-financed from the European Union’s Horizon Europe Research and Innovation Programme and by the Participating States.) [funder] + \item European Union (Co-funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or EURAMET. Neither the European Union nor the granting authority can be held responsible for them.) [funder] \item TSCN-Lab (www.tscnlab.org) [copyright holder] } diff --git a/man/count_difftime.Rd b/man/count_difftime.Rd new file mode 100644 index 0000000..be30d6a --- /dev/null +++ b/man/count_difftime.Rd @@ -0,0 +1,39 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/epochs.R +\name{count_difftime} +\alias{count_difftime} +\title{Counts the Time differences (epochs) per group (in a grouped dataset)} +\usage{ +count_difftime(dataset, Datetime.colname = Datetime) +} +\arguments{ +\item{dataset}{A light logger dataset. Expects a \code{dataframe}. If not imported +by \link{LightLogR}, take care to choose a sensible variable for the +\code{Datetime.colname}.} + +\item{Datetime.colname}{column name that contains the datetime. Defaults to +\code{"Datetime"} which is automatically correct for data imported with +\link{LightLogR}. Expects a \code{symbol}. Needs to be part of the \code{dataset}.} +} +\value{ +a \code{tibble} with the number of occurences of each time difference per +group +} +\description{ +Counts the Time differences (epochs) per group (in a grouped dataset) +} +\examples{ +#get a dataset with irregular intervals +filepath <- system.file("extdata/sample_data_LYS.csv", package = "LightLogR") +dataset <- import$LYS(filepath) + +#count_difftime returns the number of occurences of each time difference +#and is more comprehensive in terms of a summary than `gap_finder` or +#`dominant_epoch` +count_difftime(dataset) +dominant_epoch(dataset) +gap_finder(dataset) + +#irregular data can be regularized with `aggregate_Datetime` +dataset \%>\% aggregate_Datetime(unit = "15 secs") \%>\% count_difftime() +} diff --git a/man/create_Time.data.Rd b/man/create_Timedata.Rd similarity index 87% rename from man/create_Time.data.Rd rename to man/create_Timedata.Rd index d8b2fcf..8fdee84 100644 --- a/man/create_Time.data.Rd +++ b/man/create_Timedata.Rd @@ -1,10 +1,10 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/create_Time.data.R -\name{create_Time.data} -\alias{create_Time.data} +% Please edit documentation in R/create_Timedata.R +\name{create_Timedata} +\alias{create_Timedata} \title{Create a Time-of-Day column in the dataset} \usage{ -create_Time.data( +create_Timedata( dataset, Datetime.colname = Datetime, Time.data = Time.data, @@ -34,5 +34,5 @@ column of Time-of-Day data, or a \code{vector} with the Time-of-Day-data Create a Time-of-Day column in the dataset } \examples{ -sample.data.environment \%>\% create_Time.data +sample.data.environment \%>\% create_Timedata() } diff --git a/man/data2reference.Rd b/man/data2reference.Rd index a172ad6..de81360 100644 --- a/man/data2reference.Rd +++ b/man/data2reference.Rd @@ -9,9 +9,9 @@ data2reference( Reference.data = dataset, Datetime.column = Datetime, Data.column = MEDI, - ID.column = Id, + Id.column = Id, Reference.column = Reference, - overwrite.Reference = FALSE, + overwrite = FALSE, filter.expression.reference = NULL, across.id = FALSE, shift.start = FALSE, @@ -32,14 +32,14 @@ Need to be the same in both sets. Default is \code{Datetime}.} \item{Data.column}{Data column in the \code{Reference.data} that is then converted to a reference. Default is \code{MEDI}.} -\item{ID.column}{Name of the \code{ID.column} in both the \code{dataset} and the +\item{Id.column}{Name of the \code{Id.column} in both the \code{dataset} and the \code{Reference.data}.} \item{Reference.column}{Name of the reference column that will be added to the \code{dataset}. Default is \code{Reference}. Cannot be the same as any other column in the \code{dataset} and will throw an error if it is.} -\item{overwrite.Reference}{If \code{TRUE} (defaults to \code{FALSE}), the function will +\item{overwrite}{If \code{TRUE} (defaults to \code{FALSE}), the function will overwrite the \code{Reference.colname} column if it already exists.} \item{filter.expression.reference}{Expression that is used to filter the @@ -100,36 +100,32 @@ library(ggplot2) gg_reference <- function(dataset) { dataset \%>\% -ggplot(aes(x = Datetime, y = `MELANOPIC EDI`, color = Source)) + -geom_line(size = 1) + +ggplot(aes(x = Datetime, y = MEDI, color = Id)) + +geom_line(linewidth = 1) + geom_line(aes(y = Reference), color = "black", size = 0.25, linetype = "dashed") + -theme_minimal() + facet_wrap(~ Source, scales = "free_y") +theme_minimal() + facet_wrap(~ Id, scales = "free_y") } #in this example, each data point is its own reference -sample.data.environment \%>\% group_by(Source) \%>\% - data2reference(Data.column = `MELANOPIC EDI`, ID.column = Source) \%>\% +sample.data.environment \%>\% + data2reference() \%>\% gg_reference() #in this example, the first day of each ID is the reference for the other days #this requires grouping of the Data by Day, which is then specified in across.id #also, shift.start needs to be set to TRUE, to shift the reference data to the #start of the groupings -sample.data.environment \%>\% group_by(Source, Day = as_date(Datetime)) \%>\% +sample.data.environment \%>\% group_by(Id, Day = as_date(Datetime)) \%>\% data2reference( - Data.column = `MELANOPIC EDI`, - ID.column = Source, filter.expression.reference = as_date(Datetime) == min(as_date(Datetime)), shift.start = TRUE, across.id = "Day") \%>\% gg_reference() #in this example, the Environment Data will be used as a reference -sample.data.environment \%>\% group_by(Source) \%>\% +sample.data.environment \%>\% data2reference( - Data.column = `MELANOPIC EDI`, - ID.column = Source, - filter.expression.reference = Source == "Environment", + filter.expression.reference = Id == "Environment", across.id = TRUE) \%>\% gg_reference() } diff --git a/man/dominant_epoch.Rd b/man/dominant_epoch.Rd index e16642b..de23d34 100644 --- a/man/dominant_epoch.Rd +++ b/man/dominant_epoch.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/regularize.R +% Please edit documentation in R/epochs.R \name{dominant_epoch} \alias{dominant_epoch} \title{Determine the dominant epoch/interval of a dataset} diff --git a/man/figures/Co-Funded-By-the-EU.png b/man/figures/Co-Funded-By-the-EU.png new file mode 100644 index 0000000..3710dfb Binary files /dev/null and b/man/figures/Co-Funded-By-the-EU.png differ diff --git a/man/figures/Day.png b/man/figures/Day.png new file mode 100644 index 0000000..bd47dae Binary files /dev/null and b/man/figures/Day.png differ diff --git a/man/figures/Metrology_Partnership_LOGO.jpg b/man/figures/Metrology_Partnership_LOGO.jpg new file mode 100644 index 0000000..44a78be Binary files /dev/null and b/man/figures/Metrology_Partnership_LOGO.jpg differ diff --git a/man/figures/README-unnamed-chunk-3-1.png b/man/figures/README-unnamed-chunk-3-1.png index eb82bbf..00d6394 100644 Binary files a/man/figures/README-unnamed-chunk-3-1.png and b/man/figures/README-unnamed-chunk-3-1.png differ diff --git a/man/figures/README-unnamed-chunk-4-1.png b/man/figures/README-unnamed-chunk-4-1.png index 61ac955..c915602 100644 Binary files a/man/figures/README-unnamed-chunk-4-1.png and b/man/figures/README-unnamed-chunk-4-1.png differ diff --git a/man/figures/README-unnamed-chunk-5-1.png b/man/figures/README-unnamed-chunk-5-1.png index 430fe91..57ca772 100644 Binary files a/man/figures/README-unnamed-chunk-5-1.png and b/man/figures/README-unnamed-chunk-5-1.png differ diff --git a/man/figures/README-unnamed-chunk-6-1.png b/man/figures/README-unnamed-chunk-6-1.png index ce72116..e000c69 100644 Binary files a/man/figures/README-unnamed-chunk-6-1.png and b/man/figures/README-unnamed-chunk-6-1.png differ diff --git a/man/figures/README-unnamed-chunk-7-1.png b/man/figures/README-unnamed-chunk-7-1.png index 00dc164..06a9b7c 100644 Binary files a/man/figures/README-unnamed-chunk-7-1.png and b/man/figures/README-unnamed-chunk-7-1.png differ diff --git a/man/figures/README-unnamed-chunk-8-1.png b/man/figures/README-unnamed-chunk-8-1.png new file mode 100644 index 0000000..6357a68 Binary files /dev/null and b/man/figures/README-unnamed-chunk-8-1.png differ diff --git a/man/figures/gg_overview2.png b/man/figures/gg_overview2.png new file mode 100644 index 0000000..9f419f5 Binary files /dev/null and b/man/figures/gg_overview2.png differ diff --git a/man/filter_Datetime.Rd b/man/filter_Datetime.Rd index c1c97e3..a4e477a 100644 --- a/man/filter_Datetime.Rd +++ b/man/filter_Datetime.Rd @@ -13,6 +13,7 @@ filter_Datetime( length = NULL, full.day = FALSE, tz = NULL, + only_Id = NULL, filter.expr = NULL ) @@ -43,7 +44,9 @@ respective start is taken. will give a duration. For the difference between periods and durations look at the documentation from \link{lubridate}. Basically, periods model clocktimes, whereas durations model physical processes. This matters on several -occasions, like leap years, or daylight savings.} +occasions, like leap years, or daylight savings. You can also provide a +\code{character} scalar in the form of e.g. "1 day", which will be converted +into a period.} \item{full.day}{A \code{logical} indicating wether the \code{start} param should be rounded to a full day, when only the \code{length} argument is provided (Default @@ -54,7 +57,16 @@ on to avoid empty days in plotting with \code{\link[=gg_day]{gg_day()}}.} \item{tz}{Timezone of the start/end times. If \code{NULL} (the default), it will take the timezone from the \code{Datetime.colname} column.} -\item{filter.expr}{Advanced filtering conditions. If not \code{NULL} (default) and given an \code{expression}, this is used to \code{\link[dplyr:filter]{dplyr::filter()}} the results. This can be useful to filter, e.g. for group-specific conditions, like starting after the first two days of measurement (see examples).} +\item{only_Id}{An expression of \code{ids} where the filtering should be applied +to. If \code{NULL} (the default), the filtering will be applied to all \code{ids}. +Based on the this expression, the dataset will be split in two and only +where the given expression evaluates to \code{TRUE}, will the filtering take +place. Afterwards both sets are recombined and sorted by \code{Datetime}.} + +\item{filter.expr}{Advanced filtering conditions. If not \code{NULL} (default) and +given an \code{expression}, this is used to \code{\link[dplyr:filter]{dplyr::filter()}} the results. This +can be useful to filter, e.g. for group-specific conditions, like starting +after the first two days of measurement (see examples).} \item{...}{Parameter handed over to \code{\link[lubridate:round_date]{lubridate::round_date()}} and siblings} } @@ -66,13 +78,13 @@ specified Dates/Times. Filtering a dataset based on Dates or Datetimes may often be necessary prior to calcuation or visualization. The functions allow for a filtering based on simple \code{strings} or \code{Datetime} scalars, or by specifying a length. They also -support prior \link{dplyr} grouping, which is useful, e.g., when you only want -to filter the first two days of measurement data for every participant, +support prior \link{dplyr} grouping, which is useful, e.g., when you only want to +filter the first two days of measurement data for every participant, regardless of the actual date. If you want to filter based on times of the day, look to \code{\link[=filter_Time]{filter_Time()}}. } \examples{ - + library(lubridate) library(dplyr) #baseline @@ -80,9 +92,9 @@ range.unfiltered <- sample.data.environment$Datetime \%>\% range() range.unfiltered #setting the start of a dataset -sample.data.environment \%>\% -filter_Datetime(start = "2023-08-18 12:00:00") \%>\% -pull(Datetime) \%>\% +sample.data.environment \%>\% +filter_Datetime(start = "2023-08-18 12:00:00") \%>\% +pull(Datetime) \%>\% range() #setting the end of a dataset @@ -101,15 +113,14 @@ pull(Datetime) \%>\% range() #advanced filtering based on grouping (second day of each group) sample.data.environment \%>\% -group_by(Source) \%>\% #shift the "Environment" group by one day mutate( -Datetime = ifelse(Source == "Environment", Datetime + ddays(1), Datetime) \%>\% +Datetime = ifelse(Id == "Environment", Datetime + ddays(1), Datetime) \%>\% as_datetime()) -> sample sample \%>\% summarize(Daterange = paste(min(Datetime), max(Datetime), sep = " - ")) #now we can use the `filter.expr` argument to filter from the second day of each group -sample \%>\% -filter_Datetime(filter.expr = Datetime > Datetime[1] + days(1)) \%>\% +sample \%>\% +filter_Datetime(filter.expr = Datetime > Datetime[1] + days(1)) \%>\% summarize(Daterange = paste(min(Datetime), max(Datetime), sep = " - ")) sample.data.environment \%>\% filter_Date(end = "2023-08-17") } diff --git a/man/filter_Datetime_multiple.Rd b/man/filter_Datetime_multiple.Rd new file mode 100644 index 0000000..86e80a3 --- /dev/null +++ b/man/filter_Datetime_multiple.Rd @@ -0,0 +1,47 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/filter_Datetime.R +\name{filter_Datetime_multiple} +\alias{filter_Datetime_multiple} +\title{Filter multiple times based on a list of arguments.} +\usage{ +filter_Datetime_multiple( + dataset, + arguments, + filter_function = filter_Datetime, + ... +) +} +\arguments{ +\item{dataset}{A light logger dataset} + +\item{arguments}{A list of arguments to be passed to \code{\link[=filter_Datetime]{filter_Datetime()}} or +\code{\link[=filter_Date]{filter_Date()}}. each list entry must itself be a list of arguments, e.g, +\code{list(start = "2021-01-01", only_Id = quote(Id == 216))}. Expressions have +to be quoted with \code{\link[=quote]{quote()}} or \code{\link[rlang:expr]{rlang::expr()}}.} + +\item{filter_function}{The function to be used for filtering, either +\code{filter_Datetime} (the default) or \code{filter_Date}} + +\item{...}{Additional arguments passed to the filter function} +} +\value{ +A dataframe with the filtered data +} +\description{ +\code{\link[=filter_Datetime_multiple]{filter_Datetime_multiple()}} is a wrapper around \code{\link[=filter_Datetime]{filter_Datetime()}} or +\code{\link[=filter_Date]{filter_Date()}} that allows the cumulative filtering of \code{Datetimes} based on +varying filter conditions. It is most useful in conjunction with the +\code{only_Id} argument, e.g., to selectively cut off dates depending on +participants (see examples) +} +\examples{ +arguments <- list( + list(start = "2023-08-17", only_Id = quote(Id == "Participant")), + list(end = "2023-08-17", only_Id = quote(Id == "Environment"))) + #compare the unfiltered dataset + sample.data.environment \%>\% gg_overview(Id.colname = Id) + #compare the unfiltered dataset + sample.data.environment \%>\% + filter_Datetime_multiple(arguments = arguments, filter_Date) \%>\% + gg_overview(Id.colname = Id) +} diff --git a/man/gap_finder.Rd b/man/gap_finder.Rd index 0d4a58d..3bf6a1d 100644 --- a/man/gap_finder.Rd +++ b/man/gap_finder.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/regularize.R +% Please edit documentation in R/gaps.R \name{gap_finder} \alias{gap_finder} \title{Check for and output gaps in a dataset} @@ -9,7 +9,8 @@ gap_finder( Datetime.colname = Datetime, epoch = "dominant.epoch", gap.data = FALSE, - silent = FALSE + silent = FALSE, + full.days = FALSE ) } \arguments{ @@ -27,6 +28,8 @@ dataset. Default is \code{FALSE}.} \item{silent}{Logical. If \code{TRUE}, suppresses the message with the summary of the gaps in the dataset. Default is \code{FALSE}. Only used for unit tests.} + +\item{full.days}{If \code{TRUE}, the gapless sequence will include the whole first and last day where there is data.} } \value{ Prints message with a short summary of the gaps in the dataset. If diff --git a/man/gap_handler.Rd b/man/gap_handler.Rd index 7c16fca..3f319fe 100644 --- a/man/gap_handler.Rd +++ b/man/gap_handler.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/regularize.R +% Please edit documentation in R/gaps.R \name{gap_handler} \alias{gap_handler} \title{Fill implicit gaps in a light logger dataset} @@ -8,7 +8,8 @@ gap_handler( dataset, Datetime.colname = Datetime, epoch = "dominant.epoch", - behavior = "full_sequence" + behavior = "full_sequence", + full.days = FALSE ) } \arguments{ @@ -22,6 +23,8 @@ gap_handler( either '"dominant.epoch"' (the default) for a guess based on the data or a valid \code{lubridate::duration()} string, e.g., \code{"1 day"} or \code{"10 sec"}.} \item{behavior}{The behavior of the join of the \code{dataset} with the \code{gapless} sequence. Can be one of \code{"full_sequence"} (the default), \code{"regulars"}, \code{"irregulars"}, or \code{"gaps"}. See @return for details.} + +\item{full.days}{If \code{TRUE}, the gapless sequence will include the whole first and last day where there is data.} } \value{ A modified \code{tibble} similar to \code{dataset} but with handling of implicit gaps, depending on the \code{behavior} argument: diff --git a/man/gapless_Datetimes.Rd b/man/gapless_Datetimes.Rd index 3f59de3..89e79db 100644 --- a/man/gapless_Datetimes.Rd +++ b/man/gapless_Datetimes.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/regularize.R +% Please edit documentation in R/gaps.R \name{gapless_Datetimes} \alias{gapless_Datetimes} \title{Create a gapless sequence of Datetimes} @@ -7,7 +7,8 @@ gapless_Datetimes( dataset, Datetime.colname = Datetime, - epoch = "dominant.epoch" + epoch = "dominant.epoch", + full.days = FALSE ) } \arguments{ @@ -19,6 +20,8 @@ gapless_Datetimes( \item{epoch}{The epoch to use for the gapless sequence. Can be either a \code{lubridate::duration()} or a string. If it is a string, it needs to be either '"dominant.epoch"' (the default) for a guess based on the data or a valid \code{lubridate::duration()} string, e.g., \code{"1 day"} or \code{"10 sec"}.} + +\item{full.days}{If \code{TRUE}, the gapless sequence will include the whole first and last day where there is data.} } \value{ A \code{tibble} with a gapless sequence of \code{Datetime} as specified by diff --git a/man/gg_day.Rd b/man/gg_day.Rd index 3d73c88..0cdb449 100644 --- a/man/gg_day.Rd +++ b/man/gg_day.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/gg_day.r \name{gg_day} \alias{gg_day} -\title{Create a simple plot of light logger data, facetted by Day} +\title{Create a simple Time-of-Day plot of light logger data, faceted by Date} \usage{ gg_day( dataset, @@ -10,7 +10,8 @@ gg_day( end.date = NULL, x.axis = Datetime, y.axis = MEDI, - col = NULL, + aes_col = NULL, + aes_fill = NULL, group = NULL, geom = "point", scales = "fixed", @@ -25,6 +26,7 @@ gg_day( subtitle = NULL, interactive = FALSE, facetting = TRUE, + jco_color = TRUE, ... ) } @@ -35,9 +37,9 @@ by \link{LightLogR}, take care to choose a sensible variable for the \code{x.axi \item{start.date, end.date}{Choose an optional start or end date within your \code{dataset}. Expects a \code{date}, which can also be a \code{character} that is interpretable as a date, e.g., \code{"2023-06-03"}. If you need a Datetime or -want to cut specific times of each day, use the \link{filter_Datetime} function. -Defaults to \code{NULL}, which means that the plot starts/ends with the -earliest/latest date within the \code{dataset}.} +want to cut specific times of each day, use the \code{\link[=filter_Datetime]{filter_Datetime()}} +function. Defaults to \code{NULL}, which means that the plot starts/ends with +the earliest/latest date within the \code{dataset}.} \item{x.axis, y.axis}{column name that contains the datetime (x, defaults to \code{"Datetime"} which is automatically correct for data imported with @@ -46,10 +48,10 @@ melanopic EDI, which is a standard measure of stimulus strength for the nonvisual effects of light). Expects a \code{symbol}. Needs to be part of the \code{dataset}.} -\item{col}{optional column name that defines separate sets and colors them. -Expects anything that works with the layer data \code{\link[ggplot2:aes]{ggplot2::aes()}}. The -default color palette can be overwritten outside the function (see -examples).} +\item{aes_col, aes_fill}{optional arguments that define separate sets and +colors or fills them. Expects anything that works with the layer data +\code{\link[ggplot2:aes]{ggplot2::aes()}}. The default color palette can be overwritten outside the +function (see examples).} \item{group}{Optional column name that defines separate sets. Useful for certain geoms like \code{boxplot}.Expects anything that works with the layer @@ -57,9 +59,10 @@ data \code{\link[ggplot2:aes]{ggplot2::aes()}}} \item{geom}{What geom should be used for visualization? Expects a \code{character} \itemize{ -\item \code{"point"} for \code{\link[ggplot2:geom_point]{ggplot2::geom_point()}} (the default) +\item \code{"point"} for \code{\link[ggplot2:geom_point]{ggplot2::geom_point()}} \item \code{"line"} for \code{\link[ggplot2:geom_path]{ggplot2::geom_line()}} -\item as the value is just input into the \code{geom_} function from \link{ggplot2}, other variants might work as well, but are not tested. +\item \code{"ribbon"} for \code{\link[ggplot2:geom_ribbon]{ggplot2::geom_ribbon()}} +\item as the value is just input into the \code{geom_} function from \link{ggplot2}, other variants work as well, but are not extensively tested. }} \item{scales}{For \code{\link[ggplot2:facet_wrap]{ggplot2::facet_wrap()}}, should scales be "fixed", "free" @@ -95,18 +98,23 @@ at \code{\link[base:strptime]{base::strptime()}}} \item{interactive}{Should the plot be interactive? Expects a \code{logical}. Defaults to \code{FALSE}.} -\item{facetting}{Should an automated facet by day be applie? Default is \code{TRUE} and uses the \code{Day.data} variable that the function also creates if not present.} +\item{facetting}{Should an automated facet by day be applied? Default is +\code{TRUE} and uses the \code{Day.data} variable that the function also creates if +not present.} + +\item{jco_color}{Should the \code{\link[ggsci:scale_jco]{ggsci::scale_color_jco()}} color palette be used? +Defaults to \code{TRUE}.} \item{...}{Other options that get passed to the main geom function. Can be -used to adjust to adjust size or linetype.} +used to adjust to adjust size, linewidth, or linetype.} } \value{ A ggplot object } \description{ -\code{gg_day} will create a simple ggplot for every data in a dataset. The result -can further be manipulated like any ggplot. This will be sensible to refine -styling or guides. +\code{\link[=gg_day]{gg_day()}} will create a simple ggplot for every data in a dataset. The +result can further be manipulated like any ggplot. This will be sensible to +refine styling or guides. } \details{ Besides plotting, the function creates two new variables from the given @@ -117,7 +125,20 @@ Besides plotting, the function creates two new variables from the given } The default scaling of the y-axis is a \code{symlog} scale, which is a logarithmic -scale that only starts scaling after a given threshold (default = 0). This enables values of 0 in the plot, which are common in light logger data, and even enables negative values, which might be sensible for non-light data. See \code{\link[=symlog_trans]{symlog_trans()}} for details on tweaking this scale. The scale can also be changed to a normal or logarithmic scale - see the y.scale argument for more. +scale that only starts scaling after a given threshold (default = 0). This +enables values of 0 in the plot, which are common in light logger data, and +even enables negative values, which might be sensible for non-light data. See +\code{\link[=symlog_trans]{symlog_trans()}} for details on tweaking this scale. The scale can also be +changed to a normal or logarithmic scale - see the y.scale argument for more. + +The default scaling of the color and fill scales is discrete, with the +\code{\link[ggsci:scale_jco]{ggsci::scale_color_jco()}} and \code{\link[ggsci:scale_jco]{ggsci::scale_fill_jco()}} scales. To use a +continuous scale, use the \code{jco_color = FALSE} setting. Both \code{fill} and +\code{color} aesthetics are set to \code{NULL} by default. For most geoms, this is not +important, but geoms that automatically use those aesthetics (like +geom_bin2d, where fill = stat(count)) are affected by this. Manually adding +the required aesthetic (like \code{aes_fill = ggplot2::stat(count)} will fix +this). } \examples{ #use `col`for separation of different sets @@ -125,15 +146,13 @@ plot <- gg_day( sample.data.environment, scales = "fixed", end.date = "2023-08-16", -x.axis = Datetime, -y.axis = `MELANOPIC EDI`, y.axis.label = "mEDI (lx)", -col = Source) +aes_col = Id) plot #you can easily overwrite the color scale afterwards plot + ggplot2::scale_color_discrete() #or change the facetting -plot + ggplot2::facet_wrap(~Day.data + Source) +plot + ggplot2::facet_wrap(~Day.data + Id) } diff --git a/man/gg_days.Rd b/man/gg_days.Rd new file mode 100644 index 0000000..ec95803 --- /dev/null +++ b/man/gg_days.Rd @@ -0,0 +1,136 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/gg_days.R +\name{gg_days} +\alias{gg_days} +\title{Create a simple datetime plot of light logger data, faceted by group} +\usage{ +gg_days( + dataset, + x.axis = Datetime, + y.axis = MEDI, + aes_col = NULL, + aes_fill = NULL, + group = NULL, + geom = "line", + scales = "free_x", + x.axis.breaks = Datetime_breaks, + y.axis.breaks = c(-10^(5:0), 0, 10^(0:5)), + y.scale = "symlog", + y.scale.sc = FALSE, + x.axis.label = "Datetime", + y.axis.label = "Illuminance (lx, MEDI)", + x.axis.limits = Datetime_limits, + x.axis.format = "\%a \%D", + title = NULL, + subtitle = NULL, + interactive = FALSE, + facetting = TRUE, + ... +) +} +\arguments{ +\item{dataset}{A light logger dataset. Expects a \code{dataframe}. If not imported +by \link{LightLogR}, take care to choose a sensible variable for the \code{x.axis.}.} + +\item{x.axis, y.axis}{column name that contains the datetime (x, defaults to +\code{"Datetime"} which is automatically correct for data imported with +\link{LightLogR}) and the dependent variable (y, defaults to \code{"MEDI"}, or +melanopic EDI, which is a standard measure of stimulus strength for the +nonvisual effects of light). Expects a \code{symbol}. Needs to be part of the +\code{dataset}.} + +\item{aes_col, aes_fill}{optional input that defines separate sets and colors +or fills them. Expects anything that works with the layer data +\code{\link[ggplot2:aes]{ggplot2::aes()}}.} + +\item{group}{Optional column name that defines separate sets. Useful for +certain geoms like \code{boxplot}.Expects anything that works with the layer +data \code{\link[ggplot2:aes]{ggplot2::aes()}}} + +\item{geom}{What geom should be used for visualization? Expects a \code{character} +\itemize{ +\item \code{"point"} for \code{\link[ggplot2:geom_point]{ggplot2::geom_point()}} +\item \code{"line"} for \code{\link[ggplot2:geom_path]{ggplot2::geom_line()}} +\item \code{"ribbon"} for \code{\link[ggplot2:geom_ribbon]{ggplot2::geom_ribbon()}} +\item as the value is just input into the \code{geom_} function from \link{ggplot2}, other variants work as well, but are not extensively tested. +}} + +\item{scales}{For \code{\link[ggplot2:facet_wrap]{ggplot2::facet_wrap()}}, should scales be "fixed", "free" +or free in one dimension ("free_y" is the default). Expects a \code{character}.} + +\item{x.axis.breaks}{The (major) breaks of the x-axis. Defaults to +\code{\link[=Datetime_breaks]{Datetime_breaks()}}. The function has several options for adjustment. The +default setting place a major break every 12 hours, starting at 12:00 of +the first day.} + +\item{y.axis.breaks}{Where should breaks occur on the y.axis? Expects a +\verb{numeric vector} with all the breaks or a function that calculates them +based on the limits. If you want to activate the default behaviour of +\link{ggplot2}, you need to put in \code{\link[ggplot2:waiver]{ggplot2::waiver()}}.} + +\item{y.scale}{How should the y-axis be scaled? +\itemize{ +\item Defaults to \code{"symlog"}, which is a logarithmic scale that can also handle negative values. +\item \code{"log10"} would be a straight logarithmic scale, but cannot handle negative values. +\item \code{"identity"} does nothing (continuous scaling). +\item a transforming function, such as \code{\link[=symlog_trans]{symlog_trans()}} or \code{\link[scales:identity_trans]{scales::identity_trans()}}, which allow for more control. +}} + +\item{y.scale.sc}{\code{logical} for whether scientific notation shall be used. +Defaults to \code{FALSE}.} + +\item{x.axis.label, y.axis.label}{labels for the x- and y-axis. Expects a +\code{character}.} + +\item{x.axis.limits}{The limits of the x-axis. Defaults to +\code{\link[=Datetime_limits]{Datetime_limits()}}. Can and should be adjusted to shift the x-axis to +align different groups of data.} + +\item{x.axis.format}{The format of the x-axis labels. Defaults to \code{"\%a \%D"}, +which is the weekday and date. See \code{\link[base:strptime]{base::strptime()}} for more options.} + +\item{title}{Plot title. Expects a \code{character}.} + +\item{subtitle}{Plot subtitle. Expects a \code{character}.} + +\item{interactive}{Should the plot be interactive? Expects a \code{logical}. +Defaults to \code{FALSE}.} + +\item{facetting}{Should an automated facet by grouping be applied? Default is +\code{TRUE}.} + +\item{...}{Other options that get passed to the main geom function. Can be +used to adjust to adjust size, linewidth, or linetype.} +} +\value{ +A ggplot object +} +\description{ +\code{\link[=gg_days]{gg_days()}} will create a simple ggplot along the timeline. The result can +further be manipulated like any ggplot. This will be sensible to refine +styling or guides. Through the \code{x.axis.limits} arguments, the plot can be +much refined to align several groups of differing datetime ranges. It uses +the \code{\link[=Datetime_limits]{Datetime_limits()}} function to calculate the limits of the x-axis. +Another notable functions that are used are \code{\link[=Datetime_breaks]{Datetime_breaks()}} to calculate +the breaks of the x-axis. +} +\details{ +The default scaling of the y-axis is a \code{symlog} scale, which is a logarithmic +scale that only starts scaling after a given threshold (default = 0). This +enables values of 0 in the plot, which are common in light logger data, and +even enables negative values, which might be sensible for non-light data. See +\code{\link[=symlog_trans]{symlog_trans()}} for details on tweaking this scale. The scale can also be +changed to a normal or logarithmic scale - see the y.scale argument for more. +} +\examples{ +dataset <- +sample.data.environment \%>\% +aggregate_Datetime(unit = "5 mins") + +dataset \%>\% gg_days() +#restrict the x-axis to 3 days +dataset \%>\% +gg_days( +x.axis.limits = \(x) Datetime_limits(x, length = lubridate::ddays(3)) +) +} diff --git a/man/gg_overview.Rd b/man/gg_overview.Rd index 21deec3..f1facf3 100644 --- a/man/gg_overview.Rd +++ b/man/gg_overview.Rd @@ -8,7 +8,7 @@ gg_overview( dataset, Datetime.colname = Datetime, Id.colname = Id, - gap_range_data = NULL, + gap.data = NULL, ..., interactive = FALSE ) @@ -25,7 +25,7 @@ by \link{LightLogR}, take care to choose a sensible variable for the \code{x.axi be in the \code{dataset}. This is also used as the y-axis variable and is the minimum grouping variable.} -\item{gap_range_data}{Optionally provide a \code{tibble} with \code{start} and \code{end} +\item{gap.data}{Optionally provide a \code{tibble} with \code{start} and \code{end} \code{Datetimes} of gaps per group. If not provided, the function uses \code{\link[=gap_finder]{gap_finder()}} to calculate implicit missing data. This might be computationally intensive for large datasets and many missing data. In @@ -45,5 +45,5 @@ A \code{ggplot} object Plot an overview of dataset intervals with implicit missing data } \examples{ -sample.data.environment \%>\% gg_overview(Id.colname = Source) +sample.data.environment \%>\% gg_overview() } diff --git a/man/import.Dataset.Rd b/man/import.Dataset.Rd deleted file mode 100644 index f780a81..0000000 --- a/man/import.Dataset.Rd +++ /dev/null @@ -1,192 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/import_LL.R -\name{import.Dataset} -\alias{import.Dataset} -\alias{import.ActLumus} -\alias{import.LYS} -\title{Import a light logger dataset or related data} -\usage{ -import.Dataset(device, ...) - -import.ActLumus( - filename, - path = NULL, - n_max = Inf, - tz = "UTC", - ID.colname = Id, - auto.id = ".*", - manual.id = NULL -) - -import.LYS( - filename, - path = NULL, - n_max = Inf, - tz = "UTC", - ID.colname = Id, - auto.id = ".*", - manual.id = NULL -) -} -\arguments{ -\item{device}{From what device do you want to import? For every supported -device, there is a sample data file that you can use to test the function -(see the examples). Currently the following devices are supported (followed -by the \code{device.ext} spec to access the sample file): -\itemize{ -\item \code{"ActLumus"} (ActLumus.txt) -\item \code{"LYS"} (LYS.csv) -}} - -\item{...}{Parameters that get handed down to the specific import functions} - -\item{filename}{Filename(s) for the Dataset. Can also contain the filepath, -but \code{path} must then be \code{NULL}. Expects a \code{character}. If the vector is -longer than \code{1}, multiple files will be read in into one Tibble.} - -\item{path}{Optional path for the dataset(s). \code{NULL} is the default. Expects -a \code{character}.} - -\item{n_max}{maximum number of lines to read. Default is \code{Inf}.} - -\item{tz}{Timezone of the data. \code{"UTC"} is the default. Expects a -\code{character}. You can look up the supported timezones with \code{\link[=OlsonNames]{OlsonNames()}}.} - -\item{ID.colname}{Lets you specify a column for the participant id. Expects a -symbol (Default is \code{Id}). This column will be used for grouping -(\code{\link[dplyr:group_by]{dplyr::group_by()}}).} - -\item{auto.id}{If the \code{Id.colname} column is added to the \code{dataset}, the \code{Id} -can be automatically extracted from the filename. The argument expects a -regular expression \link{regex} and will by default just give the whole filename -without file extension.} - -\item{manual.id}{If this argument is not \code{NULL}, and no \code{ID} column is part -of the \code{dataset}, this \code{character} scalar will be used. -\strong{Don´t use this argument if multiple files from different participants are used!}.} -} -\value{ -Tibble/Dataframe with a POSIXct column for the datetime -} -\description{ -Imports a dataset and does the necessary transformations to get the right -column formats. Unless specified otherwise, the function will set the -timezone of the data to \code{UTC}. It will also enforce an \code{id} to separate -different datasets and will order/arrange the dataset within each \code{id}. -} -\details{ -If the \code{Id} column is already part of the \code{dataset} it will just use this -column. If the column is not present it will add this column and fill it with -the filename of the importfile (see param \code{auto.id}). -} -\section{Examples}{ - -\subsection{Imports made easy}{ - -The set of import functions provide a convenient way to import light logger -data that is then perfectly formatted to add metadata, make visualizations -and analyses. There are a number of devices supported, where import should -just work out of the box. To get an overview, you can simply call the -\code{supported.devices} dataset. The list will grow continuously as the package -is maintained. - -\if{html}{\out{
}}\preformatted{supported.devices -#> [1] "LYS" "ActLumus" -}\if{html}{\out{
}} - -To import a file, simple specify the filename (and path) and feed it to the -\code{import.Dataset} function. There are sample datasets for all devices. - -The import functions provide a basic overview of the data after import, -such as the intervals between measurements or the start and end dates. - -\if{html}{\out{
}}\preformatted{filepath <- system.file("extdata/sample_data_LYS.csv", package = "LightLogR") -dataset <- import.Dataset("LYS", filepath) -#> Successfully read in 11422 observations from LYS-file -#> Timezone set is UTC. -#> The system timezone is Europe/Berlin. Please correct if necessary! -#> Start: 2023-06-21 00:00:12 -#> End: 2023-06-22 23:59:48 -#> Timespan: 2 days -#> Observation intervals: -#> Id interval.time n pct -#> 1 sample_data_LYS 15s 10015 87.689\% -#> 2 sample_data_LYS 16s 1367 11.969\% -#> 3 sample_data_LYS 17s 23 0.201\% -#> 4 sample_data_LYS 18s 16 0.140\% -}\if{html}{\out{
}} - -Import functions can also be called directly: - -\if{html}{\out{
}}\preformatted{filepath <- system.file("extdata/sample_data_ActLumus.txt", package = "LightLogR") -dataset <- import.ActLumus(filepath) -#> Successfully read in 2065 observations from ActLumus-file -#> Timezone set is UTC. -#> The system timezone is Europe/Berlin. Please correct if necessary! -#> Start: 2023-06-23 11:57:14 -#> End: 2023-07-14 22:30:30 -#> Timespan: 21 days -#> Observation intervals: -#> Id interval.time n pct -#> 1 sample_data_ActLumus 60s (~1 minutes) 2059 100\% -#> 2 sample_data_ActLumus 132s (~2.2 minutes) 1 0\% -#> 3 sample_data_ActLumus 11324s (~3.15 hours) 1 0\% -#> 4 sample_data_ActLumus 18054s (~5.02 hours) 1 0\% -#> 5 sample_data_ActLumus 60872s (~16.91 hours) 1 0\% -#> 6 sample_data_ActLumus 1638474s (~2.71 weeks) 1 0\% -}\if{html}{\out{
}} - -\if{html}{\out{
}}\preformatted{dataset \%>\% -dplyr::select(Datetime, TEMPERATURE, LIGHT, MEDI) \%>\% -dplyr::slice(1500:1505) \%>\% -flextable::flextable() \%>\% -flextable::autofit() -#> Adding missing grouping variables: `Id` -}\if{html}{\out{
}}\if{html}{\out{ -
}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}Id\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}Datetime\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}TEMPERATURE\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}LIGHT\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}MEDI\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}sample_data_ActLumus\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}2023-07-14 13:04:18\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}29.88\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}21,847.64\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}20,660.74\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}sample_data_ActLumus\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}2023-07-14 13:05:18\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}29.88\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}22,033.77\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}20,834.91\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}sample_data_ActLumus\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}2023-07-14 13:06:18\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}29.81\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}21,769.50\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}20,600.82\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}sample_data_ActLumus\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}2023-07-14 13:07:18\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}29.69\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}21,177.20\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}20,061.68\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}sample_data_ActLumus\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}2023-07-14 13:08:18\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}29.44\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}20,738.98\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}19,662.14\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}sample_data_ActLumus\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}2023-07-14 13:09:18\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}29.31\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}20,255.17\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}19,203.94\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{
}} -} -} - diff --git a/man/import_Dataset.Rd b/man/import_Dataset.Rd new file mode 100644 index 0000000..0fec504 --- /dev/null +++ b/man/import_Dataset.Rd @@ -0,0 +1,198 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/import_LL.R +\docType{data} +\name{import_Dataset} +\alias{import_Dataset} +\alias{import} +\title{Import a light logger dataset or related data} +\format{ +An object of class \code{list} of length 6. +} +\usage{ +import_Dataset(device, ...) + +import +} +\arguments{ +\item{device}{From what device do you want to import? For a few devices, +there is a sample data file that you can use to test the function (see the +examples). See \link{supported.devices} for a list of supported devices and see +below for more information on devices with specific requirements.} + +\item{...}{Parameters that get handed down to the specific import functions} +} +\value{ +Tibble/Dataframe with a POSIXct column for the datetime +} +\description{ +Imports a dataset and does the necessary transformations to get the right +column formats. Unless specified otherwise, the function will set the +timezone of the data to \code{UTC}. It will also enforce an \code{Id} to separate +different datasets and will order/arrange the dataset within each \code{Id} by +Datetime. See the Details and Devices section for more information and the +full list of arguments. +} +\details{ +There are specific and a general import function. The general import function +is described below, whereas the specific import functions take the form of +\code{import$device()}. The general import function is a thin wrapper around the +specific import functions. The specific import functions take the following +arguments: +\itemize{ +\item \code{filename}: Filename(s) for the Dataset. Can also contain the filepath, +but \code{path} must then be \code{NULL}. Expects a \code{character}. If the vector is +longer than \code{1}, multiple files will be read in into one Tibble. +\item \code{path}: Optional path for the dataset(s). \code{NULL} is the default. Expects +a \code{character}. +\item \code{n_max}: maximum number of lines to read. Default is \code{Inf}. +\item \code{tz}: Timezone of the data. \code{"UTC"} is the default. Expects a +\code{character}. You can look up the supported timezones with \code{\link[=OlsonNames]{OlsonNames()}}. +\item \code{Id.colname}: Lets you specify a column for the id of a dataset. Expects a +symbol (Default is \code{Id}). This column will be used for grouping +(\code{\link[dplyr:group_by]{dplyr::group_by()}}). +\item \code{auto.id}: If the \code{Id.colname} column is not part of the \code{dataset}, the \code{Id} +can be automatically extracted from the filename. The argument expects a +regular expression \link{regex} and will by default just give the whole filename +without file extension. +\item \code{manual.id}: If this argument is not \code{NULL}, and no \code{Id} column is part +of the \code{dataset}, this \code{character} scalar will be used. \strong{We discourage the +use of this arguments when importing more than one file} +\item \code{locale}: The locale controls defaults that vary from place to place. +\item \code{...}: supply additional arguments to the \link{readr} import functions, like \code{na}. Might also be used to supply arguments to the specific import functions, like \code{column_names} for \code{Actiwatch_Spectrum} devices. Those devices will alway throw a helpful error message if you forget to supply the necessary arguments. +If the \code{Id} column is already part of the \code{dataset} it will just use +this column. If the column is not present it will add this column and fill +it with the filename of the importfile (see param \code{auto.id}). +} +} +\section{Devices}{ + +The set of import functions provide a convenient way to import light logger +data that is then perfectly formatted to add metadata, make visualizations +and analyses. There are a number of devices supported, where import should +just work out of the box. To get an overview, you can simply call the +\code{supported.devices} dataset. The list will grow continuously as the package +is maintained. + +\if{html}{\out{
}}\preformatted{supported.devices +#> [1] "Actiwatch_Spectrum" "ActLumus" "DeLux" +#> [4] "LiDo" "LYS" "Speccy" +}\if{html}{\out{
}} +\subsection{ActLumus}{ + +A sample file is provided with the package, it can be accessed through +\code{system.file("extdata/205_actlumus_Log_1020_20230904101707532.txt.zip", package = "LightLogR")}. It does not need to be unzipped to be imported. +This sample file is a good example for a regular dataset without gaps +} + +\subsection{LYS}{ + +A sample file is provided with the package, it can be accessed +through \code{system.file("extdata/sample_data_LYS.csv", package = "LightLogR")}. This sample file is a good example for an irregular dataset. +} + +\subsection{Actiwatch_Spectrum:}{ + +\strong{Required Argument: \code{column_names}} A character vector containing column +names in the order in which they appear in the file. This is necessary to +find the starting point of actual data. +} +} + +\section{Examples}{ + +\subsection{Imports made easy}{ + +To import a file, simple specify the filename (and path) and feed it to the +\code{import_Dataset} function. There are sample datasets for all devices. + +The import functions provide a basic overview of the data after import, +such as the intervals between measurements or the start and end dates. + +\if{html}{\out{
}}\preformatted{filepath <- system.file("extdata/sample_data_LYS.csv", package = "LightLogR") +dataset <- import_Dataset("LYS", filepath) +#> Successfully read in 11422 observations from LYS-file +#> Timezone set is UTC. +#> The system timezone is Europe/Berlin. Please correct if necessary! +#> Start: 2023-06-21 00:00:12 +#> End: 2023-06-22 23:59:48 +#> Timespan: 2 days +#> Observation intervals: +#> Id interval.time n pct +#> 1 sample_data_LYS 15s 10015 87.689\% +#> 2 sample_data_LYS 16s 1367 11.969\% +#> 3 sample_data_LYS 17s 23 0.201\% +#> 4 sample_data_LYS 18s 16 0.140\% +}\if{html}{\out{
}} + +Import functions can also be called directly: + +\if{html}{\out{
}}\preformatted{filepath <- system.file("extdata/205_actlumus_Log_1020_20230904101707532.txt.zip", package = "LightLogR") +dataset <- import$ActLumus(filepath) +#> Successfully read in 61016 observations from ActLumus-file +#> Timezone set is UTC. +#> The system timezone is Europe/Berlin. Please correct if necessary! +#> Start: 2023-08-28 08:47:54 +#> End: 2023-09-04 10:17:04 +#> Timespan: 7.1 days +#> Observation intervals: +#> Id interval.time n pct +#> 1 205_actlumus_Log_1020_20230904101707532.txt 10s 61015 100\% +}\if{html}{\out{
}} + +\if{html}{\out{
}}\preformatted{dataset \%>\% +dplyr::select(Datetime, TEMPERATURE, LIGHT, MEDI, Id) \%>\% +dplyr::slice(1500:1505) \%>\% +flextable::flextable() \%>\% +flextable::autofit() +}\if{html}{\out{
}}\if{html}{\out{ +
}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}Datetime\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}TEMPERATURE\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}LIGHT\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}MEDI\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}Id\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}2023-08-28 12:57:44\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}26.88\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}211.74\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}202.08\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}205_actlumus_Log_1020_20230904101707532.txt\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}2023-08-28 12:57:54\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}26.88\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}208.03\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}198.66\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}205_actlumus_Log_1020_20230904101707532.txt\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}2023-08-28 12:58:04\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}26.88\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}204.85\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}195.55\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}205_actlumus_Log_1020_20230904101707532.txt\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}2023-08-28 12:58:14\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}26.81\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}203.59\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}194.36\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}205_actlumus_Log_1020_20230904101707532.txt\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}2023-08-28 12:58:24\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}26.88\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}203.44\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}194.42\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}205_actlumus_Log_1020_20230904101707532.txt\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}2023-08-28 12:58:34\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}26.81\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}204.31\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}195.30\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{

}}\if{html}{\out{}}205_actlumus_Log_1020_20230904101707532.txt\if{html}{\out{}}\if{html}{\out{

}}\if{html}{\out{
}}\if{html}{\out{
}} +} +} + +\seealso{ +\link{supported.devices} +} +\keyword{datasets} diff --git a/man/import.Statechanges.Rd b/man/import_Statechanges.Rd similarity index 86% rename from man/import.Statechanges.Rd rename to man/import_Statechanges.Rd index 66bd45e..cfdd5b6 100644 --- a/man/import.Statechanges.Rd +++ b/man/import_Statechanges.Rd @@ -1,10 +1,10 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/import_States.R -\name{import.Statechanges} -\alias{import.Statechanges} +\name{import_Statechanges} +\alias{import_Statechanges} \title{Import data that contain \code{Datetimes} of \code{Statechanges}} \usage{ -import.Statechanges( +import_Statechanges( filename, path = NULL, sep = ",", @@ -15,11 +15,11 @@ import.Statechanges( State.colnames, State.encoding = State.colnames, Datetime.column = Datetime, - ID.colname, + Id.colname, State.newname = State, - ID.newname = Id, - keepAllColumns = FALSE, - suppress.summary = FALSE + Id.newname = Id, + keep.all = FALSE, + silent = FALSE ) } \arguments{ @@ -66,24 +66,24 @@ default). \item In the \code{long} format, this is the existing column that contains the \code{Datetimes}. }} -\item{ID.colname}{Symbol of the column that contains the \code{ID} of the subject.} +\item{Id.colname}{Symbol of the column that contains the \code{ID} of the subject.} \item{State.newname}{Symbol of the column that will contain the \code{State} of the subject. In the \code{wide} format, this is the newly created column from the \code{State.colnames}. In the \code{long} format, this argument is used to rename the \code{State} column.} -\item{ID.newname}{Column name used for renaming the \code{ID.colname} column.} +\item{Id.newname}{Column name used for renaming the \code{Id.colname} column.} -\item{keepAllColumns}{Logical that specifies whether all columns should be +\item{keep.all}{Logical that specifies whether all columns should be kept in the output. Defaults to \code{FALSE}.} -\item{suppress.summary}{Logical that specifies whether a summary of the -imported data should not be shown. Defaults to \code{FALSE}.} +\item{silent}{Logical that specifies whether a summary of the +imported data should be shown. Defaults to \code{FALSE}.} } \value{ a dataset with the \code{ID}, \code{State}, and \code{Datetime} columns. May contain -additional columns if \code{keepAllColumns} is \code{TRUE}. +additional columns if \code{keep.all} is \code{TRUE}. } \description{ Auxiliary data greatly enhances data analysis. This function allows the @@ -104,20 +104,20 @@ package = "LightLogR") file.sleep <- "205_sleepdiary_all_20230904.csv" #import Data in the wide format (sleep/wake times) -import.Statechanges(file.sleep, path, +import_Statechanges(file.sleep, path, Datetime.format = "dmyHM", State.colnames = c("sleep", "offset"), State.encoding = c("sleep", "wake"), -ID.colname = record_id, +Id.colname = record_id, sep = ";", dec = ",") #import in the long format (Comments on sleep) -import.Statechanges(file.sleep, path, +import_Statechanges(file.sleep, path, Datetime.format = "dmyHM", State.colnames = "comments", Datetime.column = sleep, - ID.colname = record_id, + Id.colname = record_id, sep = ";", dec = ",", structure = "long") } diff --git a/man/interval2state.Rd b/man/interval2state.Rd index 8b09c98..b85e990 100644 --- a/man/interval2state.Rd +++ b/man/interval2state.Rd @@ -10,9 +10,9 @@ interval2state( Datetime.colname = Datetime, State.colname = State, Interval.colname = Interval, - ID.colname.dataset = Id, - ID.colname.interval = Id, - overwrite.State = FALSE, + Id.colname.dataset = Id, + Id.colname.interval = Id, + overwrite = FALSE, output.dataset = TRUE ) } @@ -32,9 +32,9 @@ by \link{LightLogR}, take care to choose a sensible variable for the \item{State.colname, Interval.colname}{Column names of the \code{State} and \code{Interval} in the \code{State.interval.dataset}. Expects a \code{symbol}. \code{State} can't be in the \code{dataset} yet or the function will give an error. You can -also set \code{overwrite.State = TRUE}.} +also set \code{overwrite = TRUE}.} -\item{ID.colname.dataset, ID.colname.interval}{Column names of the +\item{Id.colname.dataset, Id.colname.interval}{Column names of the participant's \code{Id} in both the \code{dataset} and the \code{State.interval.dataset}. On the off-chance that there are inconsistencies, the names can be different. If the datasets where imported and preprocessed with @@ -42,7 +42,7 @@ different. If the datasets where imported and preprocessed with states will be added based not only on the \code{Datetime}, but also depending on the dataset.} -\item{overwrite.State}{If \code{TRUE} (defaults to \code{FALSE}), the function will +\item{overwrite}{If \code{TRUE} (defaults to \code{FALSE}), the function will overwrite the \code{State.colname} column if it already exists.} \item{output.dataset}{should the output be a \code{data.frame} (Default \code{TRUE}) or @@ -59,7 +59,7 @@ One of This function can make use of \code{Interval} data that contain \code{States} (like \code{"sleep"}, \code{"wake"}, \code{"wear"}) and add a column to a light logger \code{dataset}, where the \code{State} of every \code{Datetime} is specified, based on the -participant's \code{ID}. +participant's \code{Id}. } \examples{ #create a interval dataset @@ -84,15 +84,14 @@ intervals <- sc2interval(states) #create a dataset with states dataset_with_states <- -sample.data.environment \%>\% group_by(Source) \%>\% -interval2state(State.interval.dataset = intervals, - ID.colname.dataset = Source) +sample.data.environment \%>\% +interval2state(State.interval.dataset = intervals) #visualize the states - note that the states are only added to the respective ID in the dataset? library(ggplot2) -ggplot(dataset_with_states, aes(x = Datetime, y = `MELANOPIC EDI`, color = State)) + +ggplot(dataset_with_states, aes(x = Datetime, y = MEDI, color = State)) + geom_point() + - facet_wrap(~Source, ncol = 1) + facet_wrap(~Id, ncol = 1) } diff --git a/man/join.datasets.Rd b/man/join_datasets.Rd similarity index 66% rename from man/join.datasets.Rd rename to man/join_datasets.Rd index 9ce1ea1..49ba76e 100644 --- a/man/join.datasets.Rd +++ b/man/join_datasets.Rd @@ -1,23 +1,23 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/join.R -\name{join.datasets} -\alias{join.datasets} +% Please edit documentation in R/join_datasets.R +\name{join_datasets} +\alias{join_datasets} \title{Join similar Datasets} \usage{ -join.datasets( +join_datasets( ..., Datetime.column = Datetime, - ID.column = Id, - preserve.name = FALSE, + Id.column = Id, + add.origin = FALSE, debug = FALSE ) } \arguments{ \item{...}{\verb{Object names} of datasets that need to be joined.} -\item{Datetime.column, ID.column}{Column names for the \code{Datetime} and \code{id} columns. The defaults (\code{Datetime}, \code{Id}) are already set up for data imported with \link{LightLogR}.} +\item{Datetime.column, Id.column}{Column names for the \code{Datetime} and \code{id} columns. The defaults (\code{Datetime}, \code{Id}) are already set up for data imported with \link{LightLogR}.} -\item{preserve.name}{Should a column named \code{dataset} in the joined data indicate from which dataset each observation originated? Defaults to \code{FALSE} as the \code{Id} column should suffice. Expects a \code{logical}.} +\item{add.origin}{Should a column named \code{dataset} in the joined data indicate from which dataset each observation originated? Defaults to \code{FALSE} as the \code{Id} column should suffice. Expects a \code{logical}.} \item{debug}{Output changes to a tibble indicating which dataset is missing the respective \code{Datetime} or \code{Id} column. Expects a \code{logical} and defaults to \code{FALSE}.} } @@ -37,16 +37,16 @@ path <- system.file("extdata", package = "LightLogR") file.LL <- "205_actlumus_Log_1020_20230904101707532.txt.zip" file.env <- "cyepiamb_CW35_Log_1431_20230904081953614.txt.zip" -dataset.LL <- import.ActLumus(file.LL, path, auto.id = "^(\\\\d{3})") -dataset.env <- import.ActLumus(file.env, path, manual.id = "CW35") +dataset.LL <- import$ActLumus(file.LL, path, auto.id = "^(\\\\d{3})") +dataset.env <- import$ActLumus(file.env, path, manual.id = "CW35") #join the datasets -joined <- join.datasets(dataset.LL, dataset.env) +joined <- join_datasets(dataset.LL, dataset.env) #compare the number of rows nrow(dataset.LL) + nrow(dataset.env) == nrow(joined) #debug, when set to TRUE, will output a tibble of datasets with missing necessary columns dataset.LL <- dataset.LL \%>\% dplyr::select(-Datetime) -join.datasets(dataset.LL, dataset.env, debug = TRUE) +join_datasets(dataset.LL, dataset.env, debug = TRUE) } diff --git a/man/sample.data.environment.Rd b/man/sample.data.environment.Rd index 06587fc..7d9503a 100644 --- a/man/sample.data.environment.Rd +++ b/man/sample.data.environment.Rd @@ -8,8 +8,8 @@ \code{sample.data.environment} A tibble with 69,120 rows and 3 columns: \describe{ \item{Datetime}{POSIXct Datetime} -\item{MELANOPIC EDI}{melanopic EDI measurement data. Unit is lux.} -\item{Source}{A \code{character} vector indicating whether the data is from the \code{Participant} or from the \code{Environment}.} +\item{MEDI}{melanopic EDI measurement data. Unit is lux.} +\item{Id}{A \code{character} vector indicating whether the data is from the \code{Participant} or from the \code{Environment}.} } } \source{ diff --git a/man/sc2interval.Rd b/man/sc2interval.Rd index 7e38586..5ad4163 100644 --- a/man/sc2interval.Rd +++ b/man/sc2interval.Rd @@ -11,7 +11,7 @@ sc2interval( State.colname = State, Interval.colname = Interval, full = TRUE, - full.first = NA, + starting.state = NA, output.dataset = TRUE, Datetime.keep = FALSE, length.restriction = 60 * 60 * 24 @@ -31,11 +31,11 @@ do contain the name/description of the \verb{state change} and that will contain the \code{Interval} and \code{State} (which are also the default). Expects a \code{symbol}. The \code{Statechange} column needs do be part of the \code{dataset}.} -\item{full, full.first}{These arguments handle the state on the first day +\item{full, starting.state}{These arguments handle the state on the first day before the first state change and after the last state change on the last day. If \code{full = TRUE}(the default, expects a \code{logical}), it will create an interval on the first day from 00:00:00 up until the state change. This -interval will be given the state specified in \code{full.first}, which is \code{NA} +interval will be given the state specified in \code{starting.state}, which is \code{NA} by default, but can be any \code{character} scalar. It will further extend the interval for the last state change until the end of the last given day (more specifically until 00:00:00 the next day).} diff --git a/man/sleep.int2Brown.Rd b/man/sleep_int2Brown.Rd similarity index 93% rename from man/sleep.int2Brown.Rd rename to man/sleep_int2Brown.Rd index 855598c..fb80ce3 100644 --- a/man/sleep.int2Brown.Rd +++ b/man/sleep_int2Brown.Rd @@ -1,10 +1,10 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/sleepint2Brown.R -\name{sleep.int2Brown} -\alias{sleep.int2Brown} +\name{sleep_int2Brown} +\alias{sleep_int2Brown} \title{Recode Sleep/Wake intervals to Brown state intervals} \usage{ -sleep.int2Brown( +sleep_int2Brown( dataset, Interval.colname = Interval, Sleep.colname = State, @@ -47,7 +47,7 @@ and \code{night}. The result can be used as input for \code{\link[=interval2stat be used subsequently with \code{\link[=Brown2reference]{Brown2reference()}}. } \details{ -The function will filter out any non-sleep intervals that are shorter than the specified \code{evening.length}. This prevents problematic behaviour when the \code{evening.length} is longer than the \code{wake} intervals or, e.g., when the first state is sleep after midnight and there is a prior \code{NA} interval from midnight till sleep. This behavior might, however, result in problematic results for specialized experimental setups with ultra short wake/sleep cycles. The \code{sleep.int2Brown()} function would not be applicable in those cases anyways. +The function will filter out any non-sleep intervals that are shorter than the specified \code{evening.length}. This prevents problematic behaviour when the \code{evening.length} is longer than the \code{wake} intervals or, e.g., when the first state is sleep after midnight and there is a prior \code{NA} interval from midnight till sleep. This behavior might, however, result in problematic results for specialized experimental setups with ultra short wake/sleep cycles. The \code{sleep_int2Brown()} function would not be applicable in those cases anyways. } \examples{ #create a sample dataset @@ -62,7 +62,7 @@ sample <- tibble::tibble(Datetime = c("2023-08-15 6:00:00", #intervals from sample sc2interval(sample) #recoded intervals -sc2interval(sample) \%>\% sleep.int2Brown() +sc2interval(sample) \%>\% sleep_int2Brown() } \references{ @@ -70,8 +70,8 @@ https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.3001571 } \seealso{ Other Brown: -\code{\link{Brown.check}()}, -\code{\link{Brown.rec}()}, -\code{\link{Brown2reference}()} +\code{\link{Brown2reference}()}, +\code{\link{Brown_check}()}, +\code{\link{Brown_rec}()} } \concept{Brown} diff --git a/man/supported.devices.Rd b/man/supported.devices.Rd index 95dce26..f9fe775 100644 --- a/man/supported.devices.Rd +++ b/man/supported.devices.Rd @@ -14,6 +14,9 @@ supported.devices } \description{ -A vector of all supported devices for import functions +These are all supported devices where there is a dedicated import function. +Import functions can be called either through \code{\link[=import_Dataset]{import_Dataset()}} with the +respective \code{device = "device"} argument, or directly, e.g., +\code{import$ActLumus()}. } \keyword{datasets} diff --git a/man/symlog_trans.Rd b/man/symlog_trans.Rd index 2970722..c461f8e 100644 --- a/man/symlog_trans.Rd +++ b/man/symlog_trans.Rd @@ -24,20 +24,20 @@ The \code{symlog} transformation can be accessed either via the \code{trans = "s } \examples{ dataset <- -sample.data.environment \%>\% dplyr::group_by(Source) \%>\% +sample.data.environment \%>\% filter_Date(end = "2023-08-15") \%>\% dplyr::mutate(MEDI = dplyr::case_when( - Source == "Environment" ~ -`MELANOPIC EDI`, - .default = `MELANOPIC EDI`)) + Id == "Environment" ~ -MEDI, + .default = MEDI)) #basic application where transformation, breaks and labels are set manually dataset \%>\% -gg_day(col = Source) + +gg_day(aes_col = Id) + ggplot2::scale_y_continuous( trans = "symlog") #the same plot, but with breaks and labels set manually dataset \%>\% -gg_day(col = Source) + +gg_day(aes_col = Id) + ggplot2::scale_y_continuous( trans = "symlog", breaks = c(-10^(5:0), 0, 10^(0:5)), @@ -46,7 +46,7 @@ labels = function(x) format(x, scientific = FALSE, big.mark = " ")) #setting individual arguments of the symlog function manually allows #e.g., to emphasize values smaller than 1 dataset \%>\% -gg_day(col = Source) + +gg_day(aes_col = Id) + ggplot2::scale_y_continuous( trans = symlog_trans(thr = 0.01), breaks = c(-10^(5:-1), 0, 10^(-1:5)), diff --git a/tests/testthat/_snaps/gg_overview.md b/tests/testthat/_snaps/gg_overview.md index dce64bb..431a07d 100644 --- a/tests/testthat/_snaps/gg_overview.md +++ b/tests/testthat/_snaps/gg_overview.md @@ -4,7 +4,7 @@ Plot$data Output # A tibble: 2 x 3 - Source start end + Id start end 1 Environment 2023-08-15 00:00:02 2023-08-20 23:59:32 2 Participant 2023-08-15 00:00:01 2023-08-20 23:59:51 diff --git a/tests/testthat/_snaps/import_States.md b/tests/testthat/_snaps/import_States.md index 8eeb2fb..93e3c29 100644 --- a/tests/testthat/_snaps/import_States.md +++ b/tests/testthat/_snaps/import_States.md @@ -1,9 +1,9 @@ # imports a wide and long dataset Code - import.Statechanges(file.sleep, path, Datetime.format = "dmyHM", + import_Statechanges(file.sleep, path, Datetime.format = "dmyHM", State.colnames = c("sleep", "offset"), State.encoding = c("sleep", "wake"), - ID.colname = record_id, sep = ";", dec = ",", tz = tz, suppress.summary = TRUE) + Id.colname = record_id, sep = ";", dec = ",", tz = tz, silent = TRUE) Output # A tibble: 14 x 3 # Groups: Id [1] @@ -27,9 +27,9 @@ --- Code - import.Statechanges(file.sleep, path, Datetime.format = "dmyHM", - State.colnames = "comments", Datetime.column = sleep, ID.colname = record_id, - sep = ";", dec = ",", structure = "long", tz = tz, suppress.summary = TRUE) + import_Statechanges(file.sleep, path, Datetime.format = "dmyHM", + State.colnames = "comments", Datetime.column = sleep, Id.colname = record_id, + sep = ";", dec = ",", structure = "long", tz = tz, silent = TRUE) Output # A tibble: 7 x 3 # Groups: Id [1] diff --git a/tests/testthat/_snaps/sc2interval.md b/tests/testthat/_snaps/sc2interval.md index 28f2dee..1133a07 100644 --- a/tests/testthat/_snaps/sc2interval.md +++ b/tests/testthat/_snaps/sc2interval.md @@ -3,11 +3,10 @@ Code sc2interval(sample) Output - # A tibble: 4 x 3 + # A tibble: 3 x 3 State Id Interval 1 2023-08-15 00:00:00 UTC--2023-08-15 06:00:00 UTC 2 wake Participant 2023-08-15 06:00:00 UTC--2023-08-15 23:00:00 UTC 3 sleep Participant 2023-08-15 23:00:00 UTC--2023-08-16 00:00:00 UTC - 4 2023-08-16 00:00:00 UTC--NA diff --git a/tests/testthat/test-Brown.R b/tests/testthat/test-Brown.R index 0ea4f0f..cb795dd 100644 --- a/tests/testthat/test-Brown.R +++ b/tests/testthat/test-Brown.R @@ -1,37 +1,37 @@ -test_that("Brown.rec works as expected", { - expect_equal(Brown.rec("day"), 250) - expect_equal(Brown.rec("evening"), 10) - expect_equal(Brown.rec("night", Brown.night.th = 2), 2) - expect_equal(Brown.rec("nighttime", Brown.night = "nighttime"), 1) - expect_equal(Brown.rec("night"), 1) - expect_equal(Brown.rec(c("day", "evening", "night")), c(250, 10, 1)) - expect_equal(Brown.rec(c("day", "evening", "night", "nighttime")), c(250, 10, 1, NA)) +test_that("Brown_rec works as expected", { + expect_equal(Brown_rec("day"), 250) + expect_equal(Brown_rec("evening"), 10) + expect_equal(Brown_rec("night", Brown.night.th = 2), 2) + expect_equal(Brown_rec("nighttime", Brown.night = "nighttime"), 1) + expect_equal(Brown_rec("night"), 1) + expect_equal(Brown_rec(c("day", "evening", "night")), c(250, 10, 1)) + expect_equal(Brown_rec(c("day", "evening", "night", "nighttime")), c(250, 10, 1, NA)) } ) -test_that("Brown.rec throws errors as expected", { - expect_error(Brown.rec("day", Brown.day.th = "250"), "Thresholds need to be numeric") - expect_error(Brown.rec("day", Brown.day = c("day", "evening", "night")), "States need to be scalars") +test_that("Brown_rec throws errors as expected", { + expect_error(Brown_rec("day", Brown.day.th = "250"), "Thresholds need to be numeric") + expect_error(Brown_rec("day", Brown.day = c("day", "evening", "night")), "States need to be scalars") } ) -test_that("Brown.check works as expected", { - expect_equal(Brown.check(100, "day"), FALSE) - expect_equal(Brown.check(100, "day", Brown.day.th = 100), TRUE) - expect_equal(Brown.check(100, "evening"), FALSE) - expect_equal(Brown.check(100, "evening", Brown.evening.th = 100), TRUE) - expect_equal(Brown.check(100, "night"), FALSE) - expect_equal(Brown.check(100, "night", Brown.night.th = 100), TRUE) - expect_equal(Brown.check(100, "nighttime", Brown.night = "nighttime"), FALSE) - expect_equal(Brown.check(100, "nighttime"), NA) - expect_equal(Brown.check(100, "nighttime", Brown.night = "nighttime", Brown.night.th = 100), TRUE) +test_that("Brown_check works as expected", { + expect_equal(Brown_check(100, "day"), FALSE) + expect_equal(Brown_check(100, "day", Brown.day.th = 100), TRUE) + expect_equal(Brown_check(100, "evening"), FALSE) + expect_equal(Brown_check(100, "evening", Brown.evening.th = 100), TRUE) + expect_equal(Brown_check(100, "night"), FALSE) + expect_equal(Brown_check(100, "night", Brown.night.th = 100), TRUE) + expect_equal(Brown_check(100, "nighttime", Brown.night = "nighttime"), FALSE) + expect_equal(Brown_check(100, "nighttime"), NA) + expect_equal(Brown_check(100, "nighttime", Brown.night = "nighttime", Brown.night.th = 100), TRUE) } ) -test_that("Brown.check throws errors as expected", { - expect_error(Brown.check(100, "day", Brown.day.th = "250"), "Thresholds need to be numeric") - expect_error(Brown.check(100, "day", Brown.day = c("day", "evening", "night")), "States need to be scalars") - expect_error(Brown.check(100, c("day", "evening", "night")), "state needs to be a character vector with the same length as value") +test_that("Brown_check throws errors as expected", { + expect_error(Brown_check(100, "day", Brown.day.th = "250"), "Thresholds need to be numeric") + expect_error(Brown_check(100, "day", Brown.day = c("day", "evening", "night")), "States need to be scalars") + expect_error(Brown_check(100, c("day", "evening", "night")), "state needs to be a character vector with the same length as value") } ) @@ -60,4 +60,4 @@ test_that("Brown2reference throws errors as expected", { Brown.day = c("day", "evening", "night")), "States need to be scalars") } -) \ No newline at end of file +) diff --git a/tests/testthat/test-aggregate_Datetime.R b/tests/testthat/test-aggregate_Datetime.R index e918679..562de65 100644 --- a/tests/testthat/test-aggregate_Datetime.R +++ b/tests/testthat/test-aggregate_Datetime.R @@ -1,14 +1,13 @@ test_that("aggregate_Datetime works", { expect_equal( - sample.data.environment %>% + sample.data.environment %>% dplyr::ungroup() %>% aggregate_Datetime(unit = "1 day") %>% dominant_epoch() %>% .$dominant.epoch, lubridate::duration(1, "day")) expect_equal( sample.data.environment %>% - dplyr::group_by(Source) %>% aggregate_Datetime(unit = "1 day") %>% dominant_epoch() %>% .$dominant.epoch, rep(lubridate::duration(1, "day"),2)) diff --git a/tests/testthat/test-create_Time.R b/tests/testthat/test-create_Time.R index 9feaec7..1de2ded 100644 --- a/tests/testthat/test-create_Time.R +++ b/tests/testthat/test-create_Time.R @@ -1,15 +1,15 @@ test_that("create a new column with time data", { expect_equal( sample.data.environment %>% - create_Time.data() %>% length(), 4) + create_Timedata() %>% length(), 4) expect_equal( sample.data.environment %>% - create_Time.data(Time.data = Test) %>% names() %>% .[4], "Test") + create_Timedata(Time.data = Test) %>% names() %>% .[4], "Test") expect_equal( sample.data.environment %>% - create_Time.data() %>% + create_Timedata() %>% dplyr::pull(Time.data) %>% hms::is_hms() , TRUE) }) diff --git a/tests/testthat/test-epochs.R b/tests/testthat/test-epochs.R new file mode 100644 index 0000000..5ac4a4c --- /dev/null +++ b/tests/testthat/test-epochs.R @@ -0,0 +1,28 @@ +test_that("dominant_epoch finder works", { + dataset <- + tibble::tibble(Id = c("A", "A", "A", "B", "B", "B"), + Datetime = lubridate::as_datetime(1) + + lubridate::days(c(0:2, 4, 6, 8))) + + expect_equal(dataset %>% + dplyr::group_by(Id) %>% + dominant_epoch() %>% .[[2]], + lubridate::duration(c(1,2), unit = "days")) + expect_equal(dataset %>% + dominant_epoch() %>% .[[1]], + lubridate::duration(2, unit = "days")) + +}) + +test_that("dominant_epoch throws appropriate errors", { + dataset <- + tibble::tibble(Id = c("A", "A", "A", "B", "B", "B"), + Datetime = lubridate::as_datetime(1) + + lubridate::days(c(0:2, 4, 6, 8))) + expect_error(dataset$Id %>% dominant_epoch(), + "dataset is not a dataframe") + expect_error(dataset %>% dominant_epoch(Datetime.colname = Status), + "Datetime.colname must be part of the dataset") + expect_error(dataset %>% dominant_epoch(Datetime.colname = Id), + "Datetime.colname must be a Datetime") +}) \ No newline at end of file diff --git a/tests/testthat/test-filter_Datetime.R b/tests/testthat/test-filter_Datetime.R index 573b91d..2e595d4 100644 --- a/tests/testthat/test-filter_Datetime.R +++ b/tests/testthat/test-filter_Datetime.R @@ -40,13 +40,15 @@ test_that("filtering works", { max()} )) + #string input of duration + expect_equal( + sample.data.environment %>% filter_Datetime(length = "2 mins") %>% nrow(), + 16 + ) + }) test_that("giving wrong input types gives an error", { - #string input of duration - expect_error( - sample.data.environment %>% filter_Datetime(length = "2 mins") - ) #Datetime is not part of the function expect_error( @@ -57,3 +59,19 @@ test_that("giving wrong input types gives an error", { ) }) + +test_that("filter_multiple_Datetimes works as expected", { + arguments <- list( + list(start = "2023-08-17", only_Id = quote(Id == "Participant")), + list(end = "2023-08-17", only_Id = quote(Id == "Environment"))) + result <- + sample.data.environment %>% + filter_Datetime_multiple(arguments = arguments, filter_Date) %>% + dplyr::summarize(max = max(Datetime), min = min(Datetime)) + expectation <- + tibble::tibble(Id = c("Environment", "Participant"), + max = as.POSIXct(c("2023-08-17 23:59:32", "2023-08-20 23:59:51"), tz = "UTC"), + min = as.POSIXct(c("2023-08-15 00:00:02", "2023-08-17 00:00:01"), tz = "UTC")) + expect_equal(result, expectation) +}) + \ No newline at end of file diff --git a/tests/testthat/test-regularize.R b/tests/testthat/test-gaps.R similarity index 80% rename from tests/testthat/test-regularize.R rename to tests/testthat/test-gaps.R index b666a86..c0bf3f5 100644 --- a/tests/testthat/test-regularize.R +++ b/tests/testthat/test-gaps.R @@ -1,32 +1,3 @@ -test_that("dominant_epoch finder works", { - dataset <- - tibble::tibble(Id = c("A", "A", "A", "B", "B", "B"), - Datetime = lubridate::as_datetime(1) + - lubridate::days(c(0:2, 4, 6, 8))) - - expect_equal(dataset %>% - dplyr::group_by(Id) %>% - dominant_epoch() %>% .[[2]], - lubridate::duration(c(1,2), unit = "days")) - expect_equal(dataset %>% - dominant_epoch() %>% .[[1]], - lubridate::duration(2, unit = "days")) - -}) - -test_that("dominant_epoch throws appropriate errors", { - dataset <- - tibble::tibble(Id = c("A", "A", "A", "B", "B", "B"), - Datetime = lubridate::as_datetime(1) + - lubridate::days(c(0:2, 4, 6, 8))) - expect_error(dataset$Id %>% dominant_epoch(), - "dataset is not a dataframe") - expect_error(dataset %>% dominant_epoch(Datetime.colname = Status), - "Datetime.colname must be part of the dataset") - expect_error(dataset %>% dominant_epoch(Datetime.colname = Id), - "Datetime.colname must be a Datetime") -}) - test_that("gapless_Datetimes works", { dataset <- tibble::tibble(Id = c("A", "A", "A", "B", "B", "B"), diff --git a/tests/testthat/test-gg_overview.R b/tests/testthat/test-gg_overview.R index 9f94ce8..42a2254 100644 --- a/tests/testthat/test-gg_overview.R +++ b/tests/testthat/test-gg_overview.R @@ -1,4 +1,4 @@ test_that("gg_overview works", { - Plot <- sample.data.environment %>% gg_overview(Id.colname = Source) + Plot <- sample.data.environment %>% gg_overview() expect_snapshot(Plot$data) }) diff --git a/tests/testthat/test-helper.R b/tests/testthat/test-helper.R new file mode 100644 index 0000000..f0f55d4 --- /dev/null +++ b/tests/testthat/test-helper.R @@ -0,0 +1,9 @@ +test_that("count_difftime works", { + filepath <- system.file("extdata/sample_data_LYS.csv", package = "LightLogR") + dataset <- import$LYS(filepath, silent = TRUE) + dataset <- count_difftime(dataset) + dataset <- dataset$difftime + expect_equal( + dataset, c("15s", "16s", "17s", "18s") %>% lubridate::as.duration() + ) +}) diff --git a/tests/testthat/test-import_States.R b/tests/testthat/test-import_States.R index dbcc708..158ac6c 100644 --- a/tests/testthat/test-import_States.R +++ b/tests/testthat/test-import_States.R @@ -1,4 +1,4 @@ -#test for import.Statechanges +#test for import_Statechanges test_that("imports a wide and long dataset", { path <- system.file("extdata/", @@ -9,29 +9,29 @@ test_that("imports a wide and long dataset", { #wide data expect_snapshot({ - import.Statechanges(file.sleep, path, + import_Statechanges(file.sleep, path, Datetime.format = "dmyHM", State.colnames = c("sleep", "offset"), State.encoding = c("sleep", "wake"), - ID.colname = record_id, + Id.colname = record_id, sep = ";", dec = ",", tz = tz, - suppress.summary = TRUE) + silent = TRUE) } ) #long data expect_snapshot( { - import.Statechanges(file.sleep, path, + import_Statechanges(file.sleep, path, Datetime.format = "dmyHM", State.colnames = "comments", Datetime.column = sleep, - ID.colname = record_id, + Id.colname = record_id, sep = ";", dec = ",", structure = "long", - tz = tz, suppress.summary = TRUE) + tz = tz, silent = TRUE) } ) } @@ -43,6 +43,6 @@ test_that("expect snapshot needs certain info",{ path <- system.file("extdata/", package = "LightLogR") file.sleep <- "205_sleepdiary_all_20230904.csv" - import.Statechanges(file.sleep, path) + import_Statechanges(file.sleep, path) }) }) diff --git a/tests/testthat/test-interval2state.R b/tests/testthat/test-interval2state.R index c965e67..8d01649 100644 --- a/tests/testthat/test-interval2state.R +++ b/tests/testthat/test-interval2state.R @@ -13,17 +13,15 @@ test_that("interval2state works as expected", { "2023-08-20 6:00:00", "2023-08-20 22:00:00"), State = rep(c("wake", "sleep"), 6), - Source = + Id = rep(c("Participant", "Environment"), each = 6)) %>% - dplyr::group_by(Source) + dplyr::group_by(Id) intervals <- sc2interval(states) #create a dataset with states states <- - sample.data.environment %>% dplyr::group_by(Source) %>% - interval2state(State.interval.dataset = intervals, - ID.colname.dataset = Source, - ID.colname.interval = Source) %>% + sample.data.environment %>% dplyr::group_by(Id) %>% + interval2state(State.interval.dataset = intervals) %>% dplyr::slice(6000, 28000) %>% dplyr::pull(State) expect_equal(states,c(NA, "wake", "sleep")) @@ -49,32 +47,27 @@ test_that("interval2state throws errors as expected", { intervals <- sc2interval(states) #create a dataset with states - expect_error(interval2state("Data", State.interval.dataset = intervals, - ID.colname.dataset = Source), + expect_error(interval2state("Data", State.interval.dataset = intervals), "dataset is not a dataframe") expect_error(interval2state(dataset = sample.data.environment, State.interval.dataset = intervals, - ID.colname.dataset = Source2), - "ID.colname.dataset must be part of the dataset") + Id.colname.dataset = Source), + "Id.colname.dataset must be part of the dataset") expect_error(interval2state(dataset = sample.data.environment, Interval.colname = Interval2, - State.interval.dataset = intervals, - ID.colname.dataset = Source), + State.interval.dataset = intervals), "Interval.colname must be part of the State.interval.dataset") expect_error(interval2state(dataset = sample.data.environment, State.interval.dataset = intervals, - ID.colname.interval = Source, - ID.colname.dataset = Source), - "ID.colname.interval must be part of the State.interval.dataset") + Id.colname.interval = Source), + "Id.colname.interval must be part of the State.interval.dataset") expect_error(interval2state(dataset = sample.data.environment, State.interval.dataset = sample.data.environment, State.colname = Source, - ID.colname.dataset = Source, - ID.colname.interval = Source, Interval.colname = Datetime)) }) diff --git a/tests/testthat/test-join.R b/tests/testthat/test-join_datasets.R similarity index 83% rename from tests/testthat/test-join.R rename to tests/testthat/test-join_datasets.R index 77c97ec..37f6986 100644 --- a/tests/testthat/test-join.R +++ b/tests/testthat/test-join_datasets.R @@ -1,4 +1,4 @@ -test_that("join.datasets works as expected",{ +test_that("join_datasets works as expected",{ # create test data dataset <- tibble::tibble( @@ -25,11 +25,11 @@ test_that("join.datasets works as expected",{ ) # test the function - expect_equal(dataset %>% join.datasets(dataset2), + expect_equal(dataset %>% join_datasets(dataset2), dataset %>% dplyr::bind_rows(dataset2)) }) -test_that("join.datasets gives errors as expected",{ +test_that("join_datasets gives errors as expected",{ # create test data dataset <- tibble::tibble( @@ -56,12 +56,12 @@ test_that("join.datasets gives errors as expected",{ ) # test the function - expect_error(dataset %>% join.datasets(dataset2, - ID.column = "Id2"), + expect_error(dataset %>% join_datasets(dataset2, + Id.column = "Id2"), "Not all datasets have the required Datetime and ID columns.") - expect_error(dataset %>% join.datasets(dataset2, + expect_error(dataset %>% join_datasets(dataset2, Datetime.column = "Datetime2"), "Not all datasets have the required Datetime and ID columns.") - expect_error(dataset %>% join.datasets("State"), + expect_error(dataset %>% join_datasets("State"), "all given datasets must be data.frames") }) diff --git a/tests/testthat/test-sc2interval.R b/tests/testthat/test-sc2interval.R index 3e81b61..80458b0 100644 --- a/tests/testthat/test-sc2interval.R +++ b/tests/testthat/test-sc2interval.R @@ -5,8 +5,8 @@ test_that("sc2interval works as expected", { Id = "Participant") expect_snapshot(sc2interval(sample)) expect_setequal(names(sc2interval(sample)), c("Id", "State", "Interval")) - expect_equal(sample %>% sc2interval() %>% nrow(), 4) - expect_equal(sample %>% sc2interval(full = FALSE) %>% nrow(), 2) + expect_equal(sample %>% sc2interval() %>% nrow(), 3) + expect_equal(sample %>% sc2interval(full = FALSE) %>% nrow(), 1) } ) diff --git a/tests/testthat/test-sleepint2Brown.R b/tests/testthat/test-sleepint2Brown.R index a5c31f9..8a0e305 100644 --- a/tests/testthat/test-sleepint2Brown.R +++ b/tests/testthat/test-sleepint2Brown.R @@ -1,4 +1,4 @@ -test_that("sleep.int2Brown works as expected", { +test_that("sleep_int2Brown works as expected", { sample <- tibble::tibble(Datetime = c("2023-08-15 6:00:00", "2023-08-15 23:00:00", "2023-08-16 6:00:00", @@ -8,14 +8,14 @@ test_that("sleep.int2Brown works as expected", { sample <- sample %>% sc2interval() output <- c(NA, "day", "evening", "night", "day", "evening", "night") expect_equal(sample %>% - sleep.int2Brown() %>% + sleep_int2Brown() %>% dplyr::pull(State.Brown), output) expect_equal(sample %>% - sleep.int2Brown(output.dataset = FALSE), output) + sleep_int2Brown(output.dataset = FALSE), output) }) -test_that("sleep.int2Brown throws errors as expected", { +test_that("sleep_int2Brown throws errors as expected", { sample <- tibble::tibble(Datetime = c("2023-08-15 6:00:00", "2023-08-15 23:00:00", "2023-08-16 6:00:00", @@ -23,8 +23,8 @@ test_that("sleep.int2Brown throws errors as expected", { State = rep(c("wake", "sleep"), 2), Id = "Participant") sample <- sample %>% sc2interval() - expect_error(sleep.int2Brown(sample, output.dataset = "TRUE"), "must be a logical") - expect_error(sleep.int2Brown(sample, Interval.colname = Datetime), "must be part of the dataset") - expect_error(sleep.int2Brown(sample, Brown.night = c("night", "day")), "must be scalars") + expect_error(sleep_int2Brown(sample, output.dataset = "TRUE"), "must be a logical") + expect_error(sleep_int2Brown(sample, Interval.colname = Datetime), "must be part of the dataset") + expect_error(sleep_int2Brown(sample, Brown.night = c("night", "day")), "must be scalars") } ) diff --git a/tests/testthat/test-visualize_helper.R b/tests/testthat/test-visualize_helper.R new file mode 100644 index 0000000..6f7d215 --- /dev/null +++ b/tests/testthat/test-visualize_helper.R @@ -0,0 +1,28 @@ +test_that("Datetime_breaks works", { + dataset <- c("2023-08-15", "2023-08-20") + expect_equal(Datetime_breaks(dataset), + c(1692100800, 1692187200, 1692273600, 1692360000, 1692446400) %>% + lubridate::as_datetime()) + expect_equal(Datetime_breaks(dataset, shift = 0), + c(1692057600, + 1692144000, + 1692230400, + 1692316800, + 1692403200, + 1692489600) %>% lubridate::as_datetime()) + expect_equal(Datetime_breaks(dataset, by = "12 hours"), + c(1692100800, 1692144000, 1692187200, 1692230400, 1692273600, + 1692316800, 1692360000, 1692403200, 1692446400, 1692489600) %>% + lubridate::as_datetime()) +}) + +test_that("Datetime_limits works", { + dataset <- c("2023-08-15", "2023-08-20") + breaks <- Datetime_breaks(dataset) + expect_equal(Datetime_limits(breaks), + c("2023-08-15", "2023-08-20") %>% lubridate::as_datetime()) + expect_equal(Datetime_limits(breaks, start = lubridate::ddays(1)), + c("2023-08-16", "2023-08-20") %>% lubridate::as_datetime()) + expect_equal(Datetime_limits(breaks, length = lubridate::ddays(2)), + c("2023-08-15", "2023-08-18") %>% lubridate::as_datetime()) +}) diff --git a/vignettes/articles/Styling.Rmd b/vignettes/articles/Day.Rmd similarity index 94% rename from vignettes/articles/Styling.Rmd rename to vignettes/articles/Day.Rmd index 9a90891..1cea6d5 100644 --- a/vignettes/articles/Styling.Rmd +++ b/vignettes/articles/Day.Rmd @@ -54,7 +54,7 @@ Every light logger dataset needs an `Id` to connect or separate observations fro ```{r} tz <- "Europe/Berlin" -dataset.LL <- import.ActLumus(file.LL, path, auto.id = "^(\\d{3})", tz = tz) +dataset.LL <- import$ActLumus(file.LL, path, auto.id = "^(\\d{3})", tz = tz) ``` @@ -80,7 +80,7 @@ We can already see some patterns and features in the luminous exposure across th On to our next dataset. This one contains measurement data from the same type of device, but recorded on a rooftop position of unobstructed daylight in roughly the same location as the participant data. As the device type is the same, import is the same as well. But since the filename does not contain the participant´s `ID` this time, we will give it a manual id: `"CW35"`. ```{r} -dataset.env <- import.ActLumus(file.env, path, manual.id = "CW35", tz = tz) +dataset.env <- import$ActLumus(file.env, path, manual.id = "CW35", tz = tz) ``` Here you can see that we follow roughly the same time span, but the measurement epoch is *30 seconds*, with one odd interval which is one second shorter. @@ -89,15 +89,15 @@ Here you can see that we follow roughly the same time span, but the measurement Our last dataset is a sleep diary that contains, among other things, a column for `Id` and a column for *sleep* and for *wake* (called *offset*). Because sleep diaries and other event datasets can vary widely in their structure, we must manually set a few arguments. Importantly, we need to specify how the Datetimes are structured. In this case, we have values like *28-08-2023 23:20*, which give a structure of `dmyHM`. -What we need after import is a coherent table that contains a column with a `Datetime` besides a column with the `State` that starts at that point in time. `import.Statechanges()` facilitates this, because we can provide a `vector` of column names that form a continuous indicator of a given state - in this case `Sleep`. +What we need after import is a coherent table that contains a column with a `Datetime` besides a column with the `State` that starts at that point in time. `import_Statechanges()` facilitates this, because we can provide a `vector` of column names that form a continuous indicator of a given state - in this case `Sleep`. ```{r} dataset.sleep <- - import.Statechanges(file.sleep, path, + import_Statechanges(file.sleep, path, Datetime.format = "dmyHM", State.colnames = c("sleep", "offset"), State.encoding = c("sleep", "wake"), - ID.colname = record_id, + Id.colname = record_id, sep = ";", dec = ",", tz = tz) @@ -159,17 +159,17 @@ Brown et al.(2022)[^1] provide guidance for healthy, daytime dependent light sti We can see that bedtime is an important factor when determining the timepoints these three stages go into effect. Luckily we just so happen to have the sleep/wake data from the sleep diary at hand. In a first step, we will convert the timepoints where a state changes into intervals during which the participant is awake or asleep. The `sc2interval()` function provides this readily. -In our case the first entry is sleep, so we can safely assume, that on that day prior the participant was awake. We could take this into account through the `full.first = "wake"` argument setting, but then it would be implied that the participant was awake from midnight on. As the first day of data is only partial anyways, we will disregard this. There are other arguments to `sc2interval()` to further refine the interval creation. Probably the most important is `length.restriction`, that sets the maximum length of an interval, the default being 24 hours. This avoids implausibly long intervals with one state that is highly likely caused by implicit missing data or misentries. +In our case the first entry is sleep, so we can safely assume, that on that day prior the participant was awake. We could take this into account through the `starting.state = "wake"` argument setting, but then it would be implied that the participant was awake from midnight on. As the first day of data is only partial anyways, we will disregard this. There are other arguments to `sc2interval()` to further refine the interval creation. Probably the most important is `length.restriction`, that sets the maximum length of an interval, the default being 24 hours. This avoids implausibly long intervals with one state that is highly likely caused by implicit missing data or misentries. ```{r} dataset.sleep <- dataset.sleep %>% sc2interval() dataset.sleep %>% head() %>% gt() ``` -Now we can transform these sleep/wake intervals to intervals for the Brown recommendations. The `sleep.int2Brown()` function facilitates this. +Now we can transform these sleep/wake intervals to intervals for the Brown recommendations. The `sleep_int2Brown()` function facilitates this. ```{r} -Brown.intervals <- dataset.sleep %>% sleep.int2Brown() +Brown.intervals <- dataset.sleep %>% sleep_int2Brown() Brown.intervals %>% head() %>% gt() ``` @@ -281,20 +281,22 @@ dataset.LL.partial %>% To create a boxplot representation, we not only need to specify the geom but also what time interval we want the boxplot to span. Here the `cut_Datetime()` function from **LightLogR** comes to the rescue. It will round the datetimes to the desired interval, which then can be specified as the `group` argument of `gg_day()`. While this can be a nice representation, I don´t think it fits our goal for the overall figure in our specific case. -#### `geom_hexplot` +#### `geom_bin2d` ```{r, fig.retina=2, fig.width=7, fig.height = 4, warning=FALSE} -dataset.LL.partial %>% - gg_day( - size = 0.25, facetting = FALSE, geom = "bin2d", bins = 24) + #base plot +dataset.LL.partial %>% gg_day( + size = 0.25, facetting = FALSE, geom = "bin2d", + jco_color = FALSE, bins = 24, aes_fill = stat(count)) + #base plot solar.reference + brown.reference + scale.correction ``` -The geom family of `hex`, `bin2d`, or `density_2d` is particularly well suited if you have many, possibly overlaying observations. It reduces complexity by cutting the x- and y-axis into bins and counts how many observations fall within this bin. By choosing 24 bins, we see dominant values for every hour of the day. +The geom family of `hex`, `bin2d`, or `density_2d` is particularly well suited if you have many, possibly overlaying observations. It reduces complexity by cutting the x- and y-axis into bins and counts how many observations fall within this bin. By choosing 24 bins, we see dominant values for every hour of the day. The `jco_color = FALSE` argument is necessary to disable the default discrete color scheme of `gg_day()`, because a continuous scale is necessary for counts or densities. Finally, we habe to use the `aes_fill = stat(count)` argument to color the bins according to the number of observations in the bin[^4]. + +[^4]: Normally, using `ggplot2::geom_bin2d()` would automatically use the fill aesthetic for this, but `gg_day()` has certain defaults that are favorable in most cases, but is a bit more work here. ### {.unnumbered} -**Conclusion:** The `line` or `ribbon` geom seem like a good choice for our task. However, The high resolution of the data (*10 seconds*) makes the line very noisy. Sometimes this level of detail is good, but our figure should give more of a general representation of luminous exposure, so we should aggregate the data somewhat. We can use a similar function as for the boxplot, `aggregate_Datetime()` and use this to aggregate our data to the desired resolution. It has sensible defaults to handle numeric (mean), logical and character (most represented) data, that can be adjusted. For the sake of this example, let´s wrap the aggregate function with some additional code to recalculate the `Brown.recommendations`, because while the default numeric aggregation is fine for measurement data, it does not make sense for the `Brown.recommendations` column. +**Conclusion:** The `line` or `ribbon` geom seem like a good choice for our task. However, The high resolution of the data (*10 seconds*) makes the line very noisy. Sometimes this level of detail is good, but our figure should give more of a general representation of luminous exposure, so we should aggregate the data somewhat. We can use a similar function as for the boxplot, `aggregate_Datetime()` and use this to aggregate our data to the desired resolution. It has sensible defaults to handle numeric (mean), logical and character (most represented) data, that can be adjusted. For the sake of this example, let´s wrap the aggregate function with some additional code to recalculate the `Brown_recommendations`, because while the default numeric aggregation is fine for measurement data, it does not make sense for the `Brown_recommendations` column. ```{r} aggregate_Datetime2 <- function(...) { @@ -559,8 +561,8 @@ Plot + annotate("text", x=x, y = 4000, label = "- Daylight Potential", hjust = 0, col = "#0073C2DD") -# ggplot2::ggsave("Brown_et_al_2022.png", width = 7, height = 4, dpi = 600) +ggplot2::ggsave("images/Day.png", width = 7, height = 4, dpi = 600) ``` -This concludes our task. We have gone from importing multiple source files to a final figure that is ready to be used in a publication. **LightLogR** facilitated the importing and processing steps in between and also enabled us to test various decisions, like the choice of `geom` or `time.aggregation`. \ No newline at end of file +This concludes our task. We have gone from importing multiple source files to a final figure that is ready to be used in a publication. **LightLogR** facilitated the importing and processing steps in between and also enabled us to test various decisions, like the choice of `geom` or `time.aggregation`. diff --git a/vignettes/articles/images/Day.png b/vignettes/articles/images/Day.png index 37e5628..01e8695 100644 Binary files a/vignettes/articles/images/Day.png and b/vignettes/articles/images/Day.png differ